签名校验之xx银行

安卓逆向学习:3526762131
微信yijin1108an

1.我们把“xx银行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文件 打包编译
file:///D:/WeiZhiNote/temp/e79daf1a-f2a1-4494-86da-f08c9459e0fa/128/index_files/f93e077f-1c93-4f9e-8e09-786b2cf87d22.jpg

在这里插入图片描述

完美运行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值