本文主要是介绍安卓从开发到逆向(一)java转换为smali对比分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
首先我们需要知道一个知识点:
java虚拟机运行的是Java字节码,Dalvik虚拟机运行的是Dalvik字节码。传统的java程序经过编译,生成java字节码并保存在class文件中,java虚拟机通过解码class文件的内容来运行程序,而dalvik虚拟机运行的是dalvik字节码,所有dalvik字节码由java字节码转换而来,并被打包到一个DEX可执行文件当中,dalvik虚拟机通过解释DEX文件来执行这些字节码。
本文涉及到的破解软件下载地址:
链接:https://pan.baidu.com/s/1mHOl9y-LXnETUg3oDAKNvA
提取码:3ygd
准备工具:
转换工具:J2S2J
首先我们来看一段JAVA代码
很简单的一段JAVA代码,定义了一个foo方法,传入两个int类型的参数,返回(a+b)*(a-b),在main方法中进行了调用,传入5和3,并打印出来。
接下来,我们通过J2S2J转换为smali
这篇关于安卓从开发到逆向(一)java转换为smali对比分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!