美文网首页
Dalvik v命名和p命名

Dalvik v命名和p命名

作者: 零知星 | 来源:发表于2019-07-19 16:47 被阅读0次

目的

记录

附件工具

  • baksmali.jar
  • ddx.jar
  • classes.dex

云盘下载 提取码:wva8

baksmali -p命名方式

 java -jar baksmali.jar d [dex文件] -o [输出目录]

查看 hfdcxy.com.myapplication.MainActivity 下的check方法如图


baksmali反编译

观察所得

check方法被baksmali.jar反编译后共有5个寄存器
p0 为当前this(MainActivity)
p1为第一个参数寄存器
p2为第二个参数寄存器
v0,v1 为局部寄存器

ddx -v命名方式

    java -jar ddx.jar -o -D -d [输出目录]  [dex文件]

查看 hfdcxy.com.myapplication.MainActivity 下的check方法如图


ddx反编译

观察所得

check方法被ddx.jar反编译后共有5个寄存器
v2 为当前this(MainActivity)
v3为第一个参数寄存器
v4为第二个参数寄存器
v0,v1 为局部寄存器

对比结论

下表M为参数数量,N为寄存器数量

p 命名法 v 命名法 寄存器含义
v0 v0 第一个局部寄存器
v1 v1 第二个局部寄存器
... ... ...
p0 vN-M-1 第1个参数寄存器
... ... ...
pM-1 vN-1 第M个参数寄存器

最后

如果有什么问题,请指正

相关文章

网友评论

      本文标题:Dalvik v命名和p命名

      本文链接:https://www.haomeiwen.com/subject/pofslctx.html