-
-
[原创]android解释器----函数参数在寄存器存放顺序
-
发表于:
2019-11-14 14:18
3961
-
[原创]android解释器----函数参数在寄存器存放顺序
第一次发帖,目前市面上的加固工具都已经实现了java vmp,但是网上的资料少之又少,这里就自己研究的java vmp前奏--解释器之寄存器的存放顺序做一下分享,希望对其他同学有所帮助,纯自己研究摸索的,如有不对的地方还请大神们指教。(看这篇文章之前希望你先去熟悉一下smali的语法和dex的结构哈)
1.先来看一下测试程序的java源码,这里我会对函数multi的参数的存放顺序做说明
2.再来看一下函数multi的反编译出来的smali代码:可以看到multi的四个入参分别对应p1,p2,p3,p4,熟悉smali的同学会知道因为multi不是static方法,所以这里会有一个隐藏的参数this,也就是p0;smali的代码中可以看到还使用到了临时变量v0.(后面将会对参数p0,p1,p2,p3,p4,v0的存放顺序来进行解释说明)
3.这里我们再来看一下对应的dex文件中的数据(用010Editor打开dex可以看到,这里希望你先自己去熟悉一下dex的结构)
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课