IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 记录一次android签名验证分析 -> 正文阅读

[移动开发]记录一次android签名验证分析

// 反编译 tt.apk
java -jar apktool_2.5.0.jar d tt.apk -o test -f

// 回编译 apk
java -jar apktool_2.5.0.jar b test -o unsign.apk

// 对回编译的apk进行签名
java -jar ../Autosign/Auto-Sign/signapk.jar ../Autosign/Auto-Sign/testkey.x509.pem ../Autosign/Auto-Sign/testkey.pk8 unsign.apk signed.apk

这个时候打开apk 发现白屏, 屏幕一直都是白屏. apk没有挂.

adb shell  然后 logcat | grep com.tt.ttt 查看应用信息, 发现

?

?发现都是died fore top 这种提示信息, 于是搜索了一下?died fore top, 发现是内存泄露,一般是jni问题, 于是在jadx中全局搜索了一下 loadlibrary, 结果如下

?stringFog是这个app通用的字符串加密, 可以通过 frida hook 自调用查看so库名称,

不过在这个类下发现了一系列可疑的native函数,? 其中 validitySign 格外养眼

查看谁调用了这个函数

只有这一处, 不搞so, 尝试着smali中 删除这部分代码, 回编, apk正常运行.

上述方法一:? 修改smali把签名验证逻辑删除,搞定收工.

不过本着学习的态度, 可以继续看看so, validitySign这个函数是静态注册, 实现如下

进入这个验证函数内部看看

发现有一个比较操作, 当计算所得的签名与固定字符串比对相同时,则验证成功.

我们可以修改逻辑,把逻辑改成 =>? 当签名与固定字符串比对不同时,则验证成功

CBZ ? R0, loc_83BE

CBZ 指令是 compare branch zero , 当R0为0时,则跳转, R0存放的?c函数strcmp的结果

所以一种改法是将?CBZ 改为?CBNZ

推荐一个在线的arm <=> hex 转换站点??https://armconverter.com/

?CBZ ? R0, loc_83BE? 这条指令对应的hex 是00B3,?loc_83BE是函数相对于本条指令的偏移

? ?

?可以看到偏移是0x44, 然后紧接着arm to hex 试试, 发现是可以来回转换的?

然后将 cbz 改为 cbnz?

cbnz这条指令对应的机器码用16进制表示是 00BB

然后打开二进制修改工具, 找到对应的位置

将 837A 处的00B3?修改为 00BB, 然后回编, 发现程序正常运行.

?

上述方法二:? 修改so层代码逻辑,搞定收工, 回家收衣服.

仅限于学习交流, 侵删!!!!

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-08-24 15:41:26  更:2021-08-24 15:41:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 9:51:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码