广州网站建设 领航科技,局域网网站建设多少钱,平顶山做网站多少钱,网络宣传网站建设定制From#xff1a;https://blog.csdn.net/weixin_42680210/article/details/90384358 在安卓逆向中#xff0c;常常用到 栈跟踪、toast方法、Log日志的插入 等#xff0c;以便于我们更好的分析代码#xff0c;下面就演示下这三个方法的使用及简单的分析。。。 1. 插入 Log 信…
Fromhttps://blog.csdn.net/weixin_42680210/article/details/90384358 在安卓逆向中常常用到 栈跟踪、toast方法、Log日志的插入 等以便于我们更好的分析代码下面就演示下这三个方法的使用及简单的分析。。。 1. 插入 Log 信息输出 在方法的开始处右击 --- 插入代码 --- Log信息输出 插入代码 然后 反编译 apk并安装到模拟器打开 ddms 查看 log 日志 这里我们就看到了刚刚在更新代码添加的 log 信息。 2. toast 弹窗的输出 简单起见在刚刚的 log 代码位置下面右击 --- 插入代码 --- toast输出 插入一段 toast 代码 反编译 apk安装后我们查看效果 此时我们也可以在 ddms 中查看到日志输出由此我们可以分析 java.lang.Exception: denglibo Toast callstack! strTip我是toast提示 at android.widget.Toast.show(Toast.java:127)at com.reader.activity.MainActivity.showMustUpdateDialog(MainActivity.java:327)
程序先执行了 MainActivity 文件的 showMustUpdateDialog 方法然后执行了 show 方法 注意程序的运行顺序由下往上执行输出 。通过简单的插入 toast输出就可以查看程序的执行顺序方便我们分析复杂的程序执行顺序。 3. 栈跟踪的使用 在刚刚的 toast 代码下面我们右击-插入代码-stack trace栈跟踪 插入一段栈跟踪代码 smali 代码
# 栈跟踪
new-instance v0, Ljava/lang/Exception;
const-string v1, print trace
invoke-direct {v0, v1}, Ljava/lang/Exception; -init(Ljava/lang/String;)V
invoke-virtual {v0}, Ljava/lang/Exception; -printStackTrace()V
# 栈跟踪
回编译 apk安装打开安装好的 apk 和 ddms 查看 同样的我们也可以通过栈跟踪的方法查看到程序执行的顺序