-
-
[原创]smali修改+log动态插桩在Android题目的应用
-
发表于:
2023-10-24 11:57
9558
-
[原创]smali修改+log动态插桩在Android题目的应用
本次题目来自NSSCTF-2nd,题目附件会打包上传
比赛的时候采用了frida-hook的方法来解题,近期在复现总结基础
想到了可以用smali修改来做,顺带记录了一下(两种方法)
app自己开了debug

使用aapt获得启动包名

smali修改,调用目标函数直接传参数


我的Android killer有点小问题,只能结合jdax来进行定位分析

Android killer上手修改

改为相反条件即可

将v5赋值为对应的值

Android killer 保存编译

flag:
NSSCTF{1a74ee530fafa690dcddd0ce38260755}
前面的准备工作都是一样的
(动态插桩的做法在这道题,显得比较鸡肋,但是顺带练习一下哈哈哈)
在某些题目,动态插桩的做法会输出很多重要的值,帮助我们来进行分析
前面的修改不要动


动态插桩的模板:
(注意:v0在原samli中可能会被用到,此时v0要替换为任意一个非重要寄存器,本题的v0在后面用到了,因此我替换为v4)
不报错的动态插桩smali代码
然后在logcat里面查看输出

分享结束~!
if
-
ne v1,v2 ;v1!
=
v2则跳转
if
-
eq v1,v2 ;v1
=
=
v2则跳转
if
-
ne v1,v2 ;v1!
=
v2则跳转
if
-
eq v1,v2 ;v1
=
=
v2则跳转
move
-
result
-
object
v6
const
-
string v0,
"自定义:"
invoke
-
static {v0,v6}, Landroid
/
util
/
Log;
-
>d(Ljava
/
lang
/
String;Ljava
/
lang
/
String;)I
move
-
result v0
move
-
result
-
object
v6
[培训]科锐逆向工程师培训第53期2025年7月8日开班!