这是smali-2.0.3.jar baksmali-2.0.3.jar下载,有时候使用apktool反编译apk修改Smali文件之后再进行build会出现错误,这种情况下可以换一个更高版本的apktool试试。一个强大的apk文件编辑工具。执行成功后你会发现tools目录下多了一个classout文件夹,里面就是smali类型的文件,里面是反编译出的代码,但是不是java代码,还是能看出变量和方法的。
smali-2.0.3.jar baksmali-2.0.3.jar是有时候使用apktool反编译apk修改Smali文件之后再进行build会出现错误,这种情况下可以换一个更高版本的apktool试试。一个强大的apk文件编辑工具。执行成功后你会发现tools目录下多了一个classout文件夹,里面就是smali类型的文件,里面是反编译出的代码,但是不是java代码,还是能看出变量和方法的。
首先把baksmali-1.3.2.jar和smali-1.3.2.jar文件放到android sdk安装路径下的tools里面,把apk文件改成rar文件,解压后取出classes.dex文件,也放入tools里面,然后用命令行,cd tools目录下,
java -jar baksmali-1.3.2.jar -o classout/ classes.dex
下免就可以使用java命令,tools目录下多了一个classout文件夹,里面就是smali类型的文件,里面是反编译出的代码,但是不是java代码,还是能看出变量和方法的,
用jd_gui来看反编译出的Java代码,这样便于寻找自己想要改的东西,找到后可以到baksmali classout下去修改相应的地方。然后是利用smali编译回去:
命令如下:java -jar smali-1.3.2.jar classout/ -o classes.dex
把classout下编译成classes.dex然后把classes.dex放回apk下覆盖原来的classes.dex文件。
java -jar baksmali-2.0.3.jar -x android.odex java -jar smali-2.0.3.jar out -o classes.dex /////////// android 合并apk和odex文件 前提:正确安装JDK和配置环境变量 需要这个apk所在的rom里面的一些jar文件, 都在/system/framework里面:core.jar, ext. jar, framework. jar, android.policy. jar, services. Jar。 当然,这五个是最基本的,有可能还不够,这种情况下面会讲到。 总共分四步: 1. 把下载好的smali-2.0.3.jar 和baksmali-2.0.3.jar ,还有rom里面抠出来的5个jar,放到工作目录,然后apk和odex也放到一起。 2. 分解odex文件为class文件。 将smali-2.0.3.jar 和baksmali-2.0.3.jar放在d:\odex文件夹下 命令:键入 d:回车 键入cd odex 回车 java -jar baksmali-2.0.3.jar -x a.odex \\a.odex喂odex文件的文件名在键入命令前务必正确安装JDK和配置环境变量 <a.odex>处是你要分解的odex文件的名字,命令完成之后,会生成一个out文件夹,里面就是所有的class文件。如果出现问题, 比如什么异常,缺少包什么的,就更到rom里面把出错信息里面要求的包拿出来,放到当前目录下。 3. 将class生成为classes.dex文件。 命令:java -Xmx512M -jar smali-2.0.3.jar out -o classes.dex 4. 把classes.dex放入apk里面。