【教程】安卓.odex反编译教程。小白经验,解决各种编译失败问题
n760吧
全部回复
仅看楼主
level 12
小白的个人见解,高手或行家勿喷勿笑。[呵呵]
想制作一个属于自己的个性ROM,对ROM的美化是个重点。而美化ROM必须要用到的就是反编译。很多小白都尝试去做过反编译,但是很少人却能成功反编译或者回编译,基本上都会存在某些问题,导致编译失败,然后较劲脑汁尝试好多遍还是没能找到失败的原因,或者成功反编译。
一般小白反编译文件失败存在如下原因:
2012年11月30日 15点11分 1
level 12
1.执行反编译的工具版本过低。网上很多反编译教程都是安卓2.2版本的,2.3是不通用。
2.胡乱套用反编译教程。网上有很多版本的反编译工具,各种版本的JAVA执行命令不同。因此胡乱套用反编译命令也会导致编译出来。
3.不理解反编译语句。可能教程作者失误,语句出错,导致小白跟着编译语句,步骤执行还是屡试屡败。作者失误这种情况比较少,但是小白反编译不出来很常见。
4.JAVA环境变量设置错误。现在网上有jra1.6 和jra1.7 的各种版本。要说最主流的还是jra1.6。jra 1.7是Sun Microsystems公司最新退出的jra版本,内部做了很大的改变。所以网上很多jra文件都无法兼容执行。所以建议小白下载jra的时候下载最主流的jra1.6不要贪新,不然你的反编译工作无法完成。[开心]
2012年11月30日 15点11分 2
楼主在吗 有急事相求 关于反编译 !! 可以的话请加我406786872
2013年01月20日 02点01分
jre 1.6
2013年01月28日 02点01分
level 12
JAVA环境变量设置好了。接下来就是反编译工作了。下载最新的反编译工具。baksmali和smali。网上的反编译工具很多,版本也很多。所以要下载最新版本,现在最新版本貌似是1.4.1的。我现在用的就是1.4.1版本的,前些天刚从官网下载下来。[怒]都是英文啊,文盲找了好久才找到的。下载时务必以下四个文件全部都要下载下来。
2012年11月30日 16点11分 4
要工具的留邮箱。不介意的话粉硪一下下,看到秒发[开心]
2012年11月30日 17点11分
2013年09月16日 11点09分
急需要工具,邮箱 [email protected] 谢谢
2013年10月12日 09点10分
给一个工具包 [email protected]
2013年11月19日 07点11分
level 11
看起来好复杂呀~有时间学习学习~支持!
2012年11月30日 16点11分 7
其实不也难,只是有些问题的细节得处理好。
2012年11月30日 17点11分
是的,刚开始接触是得花点时间,慢慢就好了~
2012年11月30日 17点11分
回复 liuzhiwei2817 :嗯,其实也不难的,有时间可以去研究研究。
2012年12月11日 10点12分
level 12
唉!睡不着。那今晚就晚点睡把教程都带出来吧,其实也不多。再续写教程之前,带出
bin升级包和zip刷机包转换制作。小白也可自己动手diy 此帖教程,之前只教了大家如何将bin转化为zip,完了那段时间有点瞎忙所以还有一半的教程就没给写出来,然后吧友也没人反映,所以就一直懒得再把教程带出来。今天刚好有时间有为网友有提议,然后就把第二部分教程带出来了。虽然不难,有工具你们也可以举一反三自己研究的,但是有些细节还是得提出来,不然粗心大意的朋友可能做不出来。教程是我临时编的,bin制作完没有试刷,所以不知道出不出得来结果。反正bin升级包是出的来。有兴趣的朋友可以去试一试。因为前段时间跟朋友聊天聊得忘情竟然捏着小N在手里转了起来,不小心把小N掉地上屏幕摔碎了,出现了明显的黑色裂痕,所以现在都懒得去折腾手机了。
帖子传送门,度娘娘不删。https://tieba.baidu.com/p/1990572216?pn=2 [开心]
2012年11月30日 17点11分 8
level 10
Java的格式不是jar嘛。。。
2012年11月30日 21点11分 9
jar、是执行文件。jra其实我打错了,习惯了。是jdk
2012年12月01日 06点12分
行吧
2012年12月01日 09点12分
level 12
以反编译services.odex为例。反编译services.odex文件前要先对services.odex文件进行解包。解包某.odex文件时需要如下四个文件。(有可能还不够)
这四个文件位于zip刷机包中的system/framework文件夹中。将以上四个文件提取出来和下载的四个baksmali反编译工具放在同一个文件夹中,还有你要解包的services.odex文件也放到一起。重新命名文件夹为ABC,将ABC移到C盘根目录。
2012年12月01日 05点12分 10
level 12
开始-运行-cmd-回车,弹出管理员窗口。输入 cd.. 回车 cd..回车 出现C:\> 输入 cd abc
进入abc文件夹目录。执行反编译语句(odex解包):java -jar baksmali-1.4.1.jar -a 12 -x services.odex
如果出现上图则反编译(odex解包)成功。反编译成功后会在abc文件家中生成一个out文件夹,然后就可以对该文件夹中的文件进行改写。一般用于任务栏字体颜色更改,包括日期,时间,通知。改写完以后输入回编译语句(odex打包):java -jar smali-1.4.1.jar out/ -o classes.dex
执行完毕之后会在ABC文件夹中生成一个classes.dex文件。
把该文件移动到services.jar(用压缩文件打开)文件中。完了移到zip刷机包中的system/framework文件夹中更换就行了,或者移到手机system/framework目录中替换,更改权限就行了。
2012年12月01日 06点12分 11
请问需要把刷机包中的system/framework下的services.odex删除吗?
2014年09月02日 01点09分
level 12
此楼为编译过程中失败原因和解决办法。
如果编译过程中出现上图情况,解决办法就是把system/framework文件夹下的所有odex文件全部移到abc文件夹目录下。
如果编译过程出现UNEXPECTED命令,失败原因就是smali和baksmali工具版本过低。下载最新版本解决此问题。
2012年12月01日 06点12分 12
楼主,我照你方法试过,也不能解包,最新的smali,咋办? at org.jf.dexlib.OffsettedSection.readItems(OffsettedSection.java:48) at org.jf.dexlib.Section.readFrom(Section.java:143) at org.jf.dexlib.DexFile.<init>(DexFile.java:431) at org.jf.baksmali.main.main(main.java:269)
2012年12月03日 13点12分
回复 anly1985 :前面的错误代码是什么?没发给我。失败有以上两种原因,你是哪种?是不是版本过低。去下载最新版本吧。
2012年12月03日 13点12分
回复 祈恩丶生日快乐 :我用的是1.4.1最新版本,还是不能反编,配置都正确,我刚刚百度了一下终于找到原因了。是你发的那个baksmaki反编语句命令有点问题,我不能反编framework.odex 不过还是要谢谢你。
2012年12月03日 14点12分
回复 anly1985 :哦。是这样的,我前面几楼不是有说不同版本的反编译软件语句不同么。
2012年12月03日 14点12分
level 12

PS:
.odex解包语句:java -jar baksmali-1.4.1.jar -a 12 -x services.odex
.odex打包语句:java -jar smali-1.4.1.jar out/ -o classes.dex
下面为大家剖析以上两条命令,小白之解。
java-jar(指通过电脑搭建的JAVA环境变量执行为前提)
baksmali-1.4.1.jar(指的是解包工具)/smali-1.4.1.jar(指的是打包工具)
-a 12 -x services.odex(X为解包命令,即为解包services.odex)、
out/ -o classes.dex(o为打包命令,即为打包out文件,生成classes.dex)
1.整条语句:java -jar baksmali-1.4.1.jar -a 12 -x services.odex 的意思
在JAVA的变量环境中通过baksmali-1.4.1.jar解包工具解包services.odex、
2.整条语句:java -jar smali-1.4.1.jar out/ -o classes.dex 的意思
在JAVA的变量环境中通过smali-1.4.1.jar打包工具将out文件夹打包成classes.dex
2012年12月01日 06点12分 13
level 11
好帖,那转dex为odex呢?还有meta.inf这个文件怎么处理?
2012年12月02日 03点12分 14
谢谢。dex转化为odex这个没必要,很少人会将dex转化为odex,odex一般出现在官网的包上面,一个完整的apk要包含odex文件,没有odex的apk是无法安装运行的,所以官网一般会分解apk为一个对应的odex作用就是防止版权被盗用,而民间美化rom一般都会将odex打包成dex和apk合在一个apk.zip包中。
2012年12月02日 13点12分
META.IN为签名文件夹,一个apk软件要装到手机中是要有META.IN签名文件引导才可以装进去的。
2012年12月02日 13点12分
回复 祈恩丶生日快乐 :那个要怎么做?不然不是装不了?
2012年12月02日 14点12分
回复 只是小朋友 :哪个?
2012年12月02日 14点12分
level 8

喵了个咪!这么多文字。。。还是用手机慢慢看。
2012年12月02日 16点12分 15
level 1
我靠,看不懂啊,就像反编译个framework,妹子就骂了好几天了
2012年12月10日 09点12分 17
[抖胸]
2012年12月10日 12点12分
level 1
帮我个忙吧私密我个邮箱,大神
2012年12月10日 09点12分 18
什么意思?不太懂。
2012年12月10日 12点12分
回复 祈恩丶生日快乐 :我把妹子要美化的东西给你邮件。然后你做好了发给我呗
2012年12月10日 12点12分
296046292@最近实训比较忙
2012年12月11日 04点12分
邮箱[email protected]需要工具谢谢
2013年05月24日 23点05分
level 11
我只能说,,高三党没看懂
2012年12月10日 23点12分 19
真正操作起来就不难了。
2012年12月11日 04点12分
level 1
[email protected]。大哥看到妙法啊,秒发啊
2012年12月11日 00点12分 20
吃完午饭回去发。
2012年12月11日 04点12分
已发,注意查收。
2012年12月11日 10点12分
level 1
是jre1.6.不是jra1.6
2012年12月11日 00点12分 21
嗯。打错了。
2012年12月11日 03点12分
level 12
自己顶起了。
2012年12月12日 16点12分 22
level 1
大神!菜鸟跪求工具[拜]
[email protected]
感激不尽!
2012年12月15日 07点12分 23
咋!现在才看到。不好意思。。明天发。
2012年12月18日 17点12分
level 1
反编译失败,请指教 谢谢 QQ276268413
2012年12月25日 14点12分 24
1 2 尾页