首页
社区
课程
招聘
[求助]apk文件无法用apktool和smali反编译
发表于: 2012-12-21 10:29 23919

[求助]apk文件无法用apktool和smali反编译

2012-12-21 10:29
23919
用apktool反编译这个apk文件时,卡在classes.dex解包里。smali工具对里面的classes.dex进行反编译,同样也报错。晕死了

错误信息:


Error occured while disassembling class Lo.coN; - skipping class
java.io.IOException: 系统找不到指定的文件。
        at java.io.WinNTFileSystem.createFileExclusively(Native Method)
        at java.io.File.createNewFile(Unknown Source)
        at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:176)
        at org.jf.baksmali.main.main(main.java:308)

文件链接:
http://pan.baidu.com/share/link?shareid=166211&uk=3156958542


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 67
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
看看是不是我之前遇到的问题 :
http://bbs.pediy.com/showthread.php?t=159918
2012-12-25 22:49
0
雪    币: 247
活跃值: (42)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
是跟版本有些关系,但是我也试了,以前的版本还是不能正常处理,我也在看是什么原因。
jd-gui.exe打开.jar很多是乱码。但是看错误提示,貌似跟NT有关?
2012-12-26 14:54
0
雪    币: 257
活跃值: (105)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
很牛X的保护方法,
把类库找全,然后用proguard反混淆处理一下,
如果可以通过,分析起来会容易些
2012-12-26 15:59
0
雪    币: 90
活跃值: (126)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
5
用IDA试试,版本6.0以上的
2012-12-26 19:41
0
雪    币: 1
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
尝试过用IDA分析,然后十六进制编辑工具编辑文件。但是修改完,apk无法安装到手机上。。。
2012-12-28 08:24
0
雪    币: 1
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
旧版本的apktool我也试过,也是相同的错误

2012-12-28 08:28
0
雪    币: 90
活跃值: (126)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
8
文件签名没?
2013-1-7 18:36
0
雪    币: 33
活跃值: (145)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
9
[QUOTE=gudboy;1127316]用apktool反编译这个apk文件时,卡在classes.dex解包里。smali工具对里面的classes.dex进行反编译,同样也报错。晕死了

用利器,比如androguard之类的,有些dex可能增加了花指令。可以参考文献:DexEducation-PracticingSafeDex。
至于修改dex。改完自然要签名,也不能乱修改,破坏dex结构。
repackage的文献非常多,自己搜一下。
至于dex2java效果差,目前dexcode转化java效果普遍较差!
2013-1-7 19:45
0
雪    币: 144
活跃值: (224)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
10
对apk中的dex文件进行反编译,获得下图信息:

对apk文件反编译,获得下图信息:


你看报的错误:系统找不到指定的文件
有两种情况:
1. dex反编译以后明显没有Lo.con这个路径。
2. java能否加载一个名称是乱码的文件,这个你可以试验下。。

造成没有解析到Lo.con的可能情况:
人为的在Dex文件中添加错误代码,Dex在android中运行的时候,android并不会对整个Dex文件所有数据进行校验,所以程序只要不跑到故意添加的错误代码的地方,程序就不会出错。但是apktool等解析程序不一样,它们需要对dex中的所有数据进行解析,反编译,所以一旦解析到错误代码,那么就会抛出异常,这是个好事让你知道程序有问题,但凡事都有两面性,如果被人利用,那么就可以阻止apktool继续解析。
上传的附件:
2013-1-8 12:45
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
使用 Linux 系统。
2013-2-18 21:57
0
雪    币: 86
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
apktool使用了baksmali.jar 你用这个 反汇编试一试,查看帮助可以使用"java -jar baksmali-1.4.1.jar"
baksmali和smali都是开源的哦。
补充:
Compressed: 2349721
"正在解压缩..."
"完成解压缩"
"正在反编译..."
"正在优化XML文件..."
"反汇编完成,请任意键继续!!!"
我是用的是自己的脚本,对apk进行了反汇编,用的就是这个baksmali工具,可行,完美通过
2013-2-18 22:30
0
雪    币: 53
活跃值: (280)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
13
用baksmali吧,看smali 汇编格式比较安全,就是费电神,dex转换报错常有的事
2013-3-1 22:56
0
游客
登录 | 注册 方可回帖
返回
//