浦发银行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文件   打包编译

 

完美运行
 
 
 
 
 
posted @ 2020-08-25 14:21  ..HelloWorld  阅读(487)  评论(1)    收藏  举报