浦发银行app过签名校验
1.我们把“浦发银行app”拖到AndroidKiller里面进行反编译

把编译之后的apk安装到模拟器中 会闪退
2.第一个想法就是找到入口界面的onCreate方法 看看有什么消息 结果没什么收获
我们打开ddms 看看日志信息

看到闪退的时候 加载了libyt_soft.so
3.打开jadx-gui 搜索“yt_soft”(去头去尾) 看看so文件是怎么加载的

找到一个跟签名校验有关的地方
4.我们把libyt_safe.so库拖到ida里面去看看
5.全部都是静态方法 并且发现就Java_com_yitong_safe_signature_checkApp、Java_com_yitong_safe_YTSafe_getSignatures这两个方法跟签名校验有关 我们开始一个一个看
a.我们在来简单瞅瞅Java_com_yitong_safe_YTSafe_getSignatures 发现这里面没有什么有价值的东西 这个文件我们就不看了
b.我们再打开Java_com_yitong_safe_signature_checkApp
返回了一个check_app()方法
在里面找到了一个get_sign()方法

这应该就是签名校验的地方了 check_app()方法里有一大堆的操作 我们看看那些地方调用了check_app方法

有4个地方 我们一个一个来看
第一处:
我们直接nop掉
找到它的16进制

因为他们地址与地址值之间 相差2 所以是thumb指令集 我们借助“armCode”工具 生成机器码
我们将值改成 C046 F2快捷键 修改提交
第二处:

第三处:
第四处:
第四处就不管它了
我们提交一下
6.把最新生成的so文件 替换之前的so文件 打包编译
完美运行

浙公网安备 33010602011771号