使用AndroidKiller进行重编译该软件
发现签名失败
搜索关键字:signatures
找到该文件函数点:qian()
反编译观察java代码:
可以看到在if里面进行了一判断,判断sing值是否正确,若不是,则Toast.makeText强行爆出错误
所以我们可以尝试将报错弹窗的代码注释掉:
可惜还是不行
我们继续向上翻:
看到onCreate函数:
发现调用了qian函数,但是我们进行了注释,所以不会有影响
继续向下看
这里发现也有报错弹窗代码,并且调用了bug函数:
所以我们将onCreate函数里的Toast.makeText也给注释掉
可惜还是不行:
于是更进bug函数看看情况:
发现是so层的代码
用压缩包打开apk
找到so文件
拖到ida里面,点击exports搜索java
按下F5转换成java代码
发现只有一个函数,更进观察:
导入java的头文件jni.h,进行修改
分析代码:
可以看到在if中最后会进行值的验证,如果不相等直接exit()
按下TAB键转换成汇编:
找到对应的代码,内存地址为:D0E
用winhex打开:
和ida里的hex对比一致即可:
我们讲exit行的代码全部置空:
最后保存,替换文件即可
标签:逆向,java,函数,安卓,注释,报错,签名,绕过,代码 From: https://www.cnblogs.com/rayob1/p/16870905.html