
正文
smali代码转JAVA,smali转换java
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
如何把java代码转换成smali代码
1、方法:反编译apk步骤,把文件名的.apk修改为.rar,解压就看到res,lib等文件,其中classes.dex是需要反编译的java代码。把apk文件修改成.rar文件解压获得classes.dex和资源文件。
2、其中, classes.dex是程序的核心文件,是java语言的代码编译后的二进制字节码程序。这种字节码程序是编译专供机器阅读的, 类似于汇编语言的机器码。然而如果想直接阅读这部分程序, 最好的方法就是将该文件转化为smali文件。
3、https://github.com/ollide/intellij-java2smali IntelliJ IDEA 或者android studio的一个插件。可以把java转smali,前提是没有语法错误。
4、需要将Java代码转化为从上到下的伪代码语句。这需要根据Java代码的控制结构,如if-else语句、for循环、switch语句等,将其转化为普通的伪代码语句,如条件语句、循环语句、分支语句等。
5、修改Android Studio(以下简称AS)的内存配置 因为在导入源码时需要消耗大量内存,所以先修改IDEA_HOME/bin/studio.vmoptions中-Xms和-Xmx的值。文档中使用的是748m, 可自行修改。
6、smali2java工具基于apktool v0(baksmali v4)生成的smali文件,依赖于smali文件中的代码行数(.line关键字)和变量别名(.local关键字)等信息,可以最大程度还原原始的java代码。
相关问答
Q1: 怎么实现把smali文件class文件java文件之间转化
可以先把smali转化为dex文件,然后再用 dex2jar转化一次。我之前也遇到过跟你一样的情况就是这么处理的。
直接输入类文件名,且支持通配符,如下所示。c:/java/jad exampleclass c:/java/jad *.class 结果是将exampleclass反编译为examplejad。将examplejad改为examplejava即得源文件。
-8 - 将Unicode字符转换为ANSI字符串,如果输出字符串是中文的话一定要加上这个参数才能正确显示。
你电脑需要装一个JDK,java development kit (java开发包),这样你电脑就有了一个java虚拟机。当你运行你的文件时候,java虚拟机会把java文件解释成字节码文件(这样电脑才能认识它)。
Q2: 安卓反编译出来的都是.smali文件,怎么反编译位原工程啊?修改后还能重新...
1、首先要下载两个工具:dex2jar和JD-GUI 前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。
2、第一:使用apktool直接反编译apk 第二:apk中包含的内容 第三:进入到hellodemo\smali\com\example\hello,打开MainActivity.smali。
3、运行反编译命令后会在同级目录下得到一个 ThinkingSpacePro 文件夹,源文件都在里面了。
4、https://github.com/ollide/intellij-java2smali IntelliJ IDEA 或者android studio的一个插件。可以把java转smali,前提是没有语法错误。
5、用jd_gui来看反编译出的Java代码,这样便于寻找自己想要改的东西,找到后可以到baksmali classout下去修改相应的地方。
6、安卓反编译可不是你这样改后缀名解压出来就行了,是通过apktool等软件才能不完全反编译出来的,而且反编译出来可以直接更改的是smali中间代码,不是java原版代码,改写或者说破解程序很难的。
关于smali代码转JAVA和smali转换java的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








