smali基础
smali语法学习,参考吾爱破解安卓逆向入门学习https://www.52pojie.cn/thread-408645-1-1.html
记录一些易混淆的点
寄存器p0
在非static方法中,p0代指this,p1为方法的第一个参数。
在static方法中,p0为方法的第一个参数。
.local与.locals
1 | .local v1, "future":Lcom/android/volley/toolbox/RequestFuture;, "Lcom/android/volley/toolbox/RequestFuture<Ljava/lang/Void;>;" |
这里的.local表示的是1
2RequestFuture<Void> future;
future = v1;
.locals 数字 定义所学内部变量数,即v寄存器的数
smali的函数调用
smali中的函数和成员变量分为direct和virtual,direct method就是private函数,其余的public和protect函数是virtual method。
invoke-XXX指令:
- invok-static:调用static函数
- invoke-super:调用父类方法指令,一般用于调用onCreate,onDestroy等方法。
- invoke-direct:调用privat函数
- invoke-virtual:调用public和protect函数
破解的程序和游戏
安装adb过程参考博客https://www.cnblogs.com/nebie/p/9145627.html
破解过的游戏:动态调试
具体会在另一个博客详细讲解,详细学习Java层和so层动态调试后写的博客