霸哥磁力搜索apk过签名校验

查看 199|回复 10
作者:404nofound   
一、什么是签名校验
签名验证,就是在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的地方给注释掉然后重新打包。

重打包后签名校验已经过掉了。

在这里, 插入图片

404nofound
OP
  


北辰没有林安 发表于 2021-9-15 11:23
既然是oncreate,用某加固抽了,就算过签了也没得玩了吧

没错,这种只适用于简单的情况
404nofound
OP
  


北辰没有林安 发表于 2021-9-15 11:23
既然是oncreate,用某加固抽了,就算过签了也没得玩了吧

是滴那,简单的可以这么玩
北辰没有林安   

既然是oncreate,用某加固抽了,就算过签了也没得玩了吧
zhangxu888   

直接NOP掉getSignHashCode也行吧
lianquke   

有些启发
lx771602764   

学习到了
404nofound
OP
  


zhangxu888 发表于 2021-9-15 11:33
直接NOP掉getSignHashCode也行吧

应该也是可以的,可以试下
ll090822   

谢谢楼主的分享和努力
nuller   

签名还是有用的,只要不影响用户体验。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部