动态调试&&Log插桩

201 阅读1分钟

动态调试&&Log插桩

1.什么是动态调试

动态调试是指自带的调试器跟踪自己软件的运行,可以在调试的过程中知道参数或者局部变量的值以及履清代码运行的先后顺序多用于爆破注册码(CTF必备技能)

2.工具

XappDebug

MT管理器

apktool:gitcode.com/gh_mirrors/…

LSPatch:类似Xposed框架,目前Xposed框架已不维护,所以有大神开发了LSPosed框架,LSPatch就是基于LSPosed框架开发的。

3.如何将apk修改成可调试

原理就是修改AndroidManifest.xml在application标签中添加android:debuggable="true",然后重新打包。

<application
        android:name=".Application"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:debuggable="true">

通过LSPatch直接通过命令修复即可:

java -jar lspatch.jar -d [要修改的apk路径]

修改后的包会默认生成到当前目录下,文件名会带上"lspatched"很容易找到。

4.

参考: Android应用逆向——分析反编译代码之大神器

Android逆向小技巧③:批量注入日志,打印目标程序执行流程

动态分析Android App之动态调试