-
-
[原创]安卓日记_修改smali代码打印函数调用顺序
-
发表于: 2022-10-19 14:22 1299
-
前言
纯兴趣更新!
项目地址
可自动向apk插入smali代码从而达到打印函数调用顺序的目的。
1 | https: / / github.com / encoderlee / android_tools |
演示
这里用的攻防世界的一道题目(逻辑比较简单)
将apk首先进行解包
1 | >apktool d easy_app.apk |
然后运行inject_log.py脚本将InjectLog.smali放入解包的easy_app\smali\com\hook\tools目录下面(也可以手动)
1 2 | >python3 inject_log.py - c easy_app create InjectLog.smali ok: easy_app\smali\com / hook / tools / InjectLog.smali |
然后运行inject_log.py将循环遍历smali目录(这里仅选择了com\example\myapplication包)下的所以smali文件注入InjectLog.PrintCaller()函数。
然后这时我们打开个smali文件就可以发现成功注入。
然后这时我们再将apk进行打包
1 2 3 4 5 6 7 8 9 10 | >apktool b easy_app - o easy_app_unsigned.apk I: Using Apktool 2.6 . 1 I: Checking whether sources has changed... I: Smaling smali folder into classes.dex... I: Checking whether resources has changed... I: Building resources... I: Copying libs... ( / lib) I: Building apk file ... I: Copying unknown files / dir ... I: Built apk... |
然后再将其进行签名,这里直接用的是AK进行的签名。
然后使用jeb打开签名后的apk,发现成功注入打印log的日志
然后安装它,点击check按钮
即可发现成功可以看到函数的调用流程(只能看应用层的函数,因为只往应用层的smali代码进行的日志打印注入)
赞赏
他的文章
看原图
赞赏
雪币:
留言: