当前位置:   article > 正文

安卓逆向—霸哥磁力搜索apk过签名校验_什么是签名校验

什么是签名校验

一、什么是签名校验

签名验证,就是在APP中写入自己私钥的hash值,和一个获取当前签名中的私钥hash值的函数两个值相一致,那么就说明APP没有被改动允许APP运行。 如果两值不一致那么说明APP是被二次打包的,APP就自我销毁进程。 签名验证可以在两个地方做,一个是在MainActivity.java的OnCreate函数中做,一个是在原生代码文件的JNI_OnLoad函数中做。

二、验证是否是签名校验

用Android killer随意改下smail代码然后重新打包,发现APP闪退。
在这里插入图片描述

三、Jadx查看JAVA代码/IDA查看so

签名校验一般都是在MainActivity.java的OnCreate函数中做,或者是在原生代码文件的JNI_OnLoad函数中做,首先查看OnCreate,里面有个qian,跟进去看看。
在这里插入图片描述qian里面就是查看APP哈希值是否改变,这是第一个地方。
在这里插入图片描述这里调用了一个bug,而bug写在了so里面,有很大嫌疑,ida看见这个so。
在这里插入图片描述
在这里插入图片描述
IDA查看bug这个函数采用的是静态注册,里面调用了一个getSignHashCode,跟进去看看。

在这里插入图片描述在这里插入图片描述

四、过签名校验

首先处理So文件,把exit换成nop,然后到处替换原来的so。
在这里插入图片描述在这里插入图片描述然后修改smail代码,把调用qian的地方给注释掉然后重新打包。
在这里插入图片描述重打包后签名校验已经过掉了。

在这里插入图片描述

console.log("wx:spiderskill")
欢迎大家前来交流
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/296816
推荐阅读
相关标签
  

闽ICP备14008679号