吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 14616|回复: 14
收起左侧

[Android 脱壳] [Android脱壳]关于多dex问题

[复制链接]
wxw1145897898 发表于 2018-7-9 19:55
本帖最后由 wxw1145897898 于 2018-7-10 09:15 编辑

今天遇到一款APP,是乐固的壳,脱下壳生成,了几个dex文件,分辨后,最终剩下了两个dex文件,将其中一个文件修复改名字改xml文件操作后,本以为修复成功,没想到程序打开闪退,故查看报错日志,发现缺少了一个类,这个类在第二个dex中找到,所以猜测这两个dex可能是一个文件,于是,用dex2jar工具http://code.google.com/p/dex2jar/downloads/list 将dex拖进去,转成了jar文件,然后用文件对比工具将两个jar包合并,并采用dx.bat想将文件重新转会dex文件时却出现了问题
[C] 纯文本查看 复制代码
F:\adt-bundle-windows-x86-20130917\sdk\build-tools\25.0.2>F:\adt-bundle-windows-x86-20130917\sdk\build-tools\25.0.2\dx.bat --dex --output=class.dex C:\Users\Administrator\Desktop\classes-dex2jar.jar

UNEXPECTED TOP-LEVEL ERROR:
java.lang.OutOfMemoryError: GC overhead limit exceeded
        at com.android.dx.ssa.ConstCollector.getConstsSortedByCountUse(ConstCollector.java:160)
        at com.android.dx.ssa.ConstCollector.run(ConstCollector.java:93)
        at com.android.dx.ssa.ConstCollector.process(ConstCollector.java:75)
        at com.android.dx.ssa.Optimizer.runSsaFormSteps(Optimizer.java:181)
        at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:99)
        at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:72)
        at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:299)
        at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:139)
        at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:94)
        at com.android.dx.command.dexer.Main.processClass(Main.java:682)
        at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
        at com.android.dx.command.dexer.Main.access$600(Main.java:78)
        at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
        at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
        at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
        at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
        at com.android.dx.command.dexer.Main.processOne(Main.java:596)
        at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
        at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
        at com.android.dx.command.dexer.Main.run(Main.java:230)
        at com.android.dx.command.dexer.Main.main(Main.java:199)
        at com.android.dx.command.Main.main(Main.java:103)

百度之后找到解决方案 我在后面添加两个参数
[C] 纯文本查看 复制代码
F:\adt-bundle-windows-x86-20130917\sdk\build-tools\25.0.2>F:\adt-bundle-windows-x86-20130917\sdk\build-tools\25.0.2\dx.bat --dex --output=class.dex C:\Users\Administrator\Desktop\classes-dex2jar.jar -JXms1024M -JXmx2048M

结果他又报新错误
[C] 纯文本查看 复制代码
trouble writing output: Too many method references: 81076; max is 65536.
You may try using --multi-dex option.
References by package:
    30 a.a.a
    15 a.a.b
    11 android.accessibilityservice
   104 android.animation
   370 android.app
     9 android.app.job
     3 android.appwidget
     2 android.arch.a
    22 android.arch.a.a
    53 android.arch.a.b
     1 android.arch.a.c

于是我有添加参数如图
[C] 纯文本查看 复制代码
F:\adt-bundle-windows-x86-20130917\sdk\build-tools\25.0.2>F:\adt-bundle-windows-x86-20130917\sdk\build-tools\25.0.2\dx.bat  --multi-dex --dex  --output=C:\Users\Administrator\Desktop\  C:\Users\Administrator\Desktop\classes-dex2jar.jar -JXms1024M -JXmx2048M

转换完成,完成了以上步骤我相当我做了一份无用功,合并到一起又拆开了。
即当编译引用的jar太多的时候,就会出现:trouble writing output: Too many method references: 90356; max is 65536.
You may try using --multi-dex option.
这时候就需要拆成两个dex文件。
最终程序完美脱壳运行
详细的修复过程参考我的帖子:https://www.52pojie.cn/forum.php ... ;page=1#pid18740799
---end---

免费评分

参与人数 5吾爱币 +5 热心值 +5 收起 理由
oranges + 1 + 1 热心回复!
gunxsword + 1 + 1 大佬威武!
fu90 + 1 + 1 我很赞同!
tail88 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
dxgw123 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| wxw1145897898 发表于 2018-7-10 09:13
tail88 发表于 2018-7-10 08:14
大神出个脱壳后修复的教程呗!感谢!网上很多脱壳软件,但却没有修复教程。

我这只是一个乐固的壳,只不过是含有两个dex的,乐固壳的修复,请参考我上一个帖子https://www.52pojie.cn/forum.php ... ;page=1#pid18740799

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
tail88 + 1 + 1 非常感谢!有空多出脱壳教程哦!

查看全部评分

尘封万丈 发表于 2018-9-25 18:21 来自手机
wxw1145897898 发表于 2018-7-10 09:13
我这只是一个乐固的壳,只不过是含有两个dex的,乐固壳的修复,请参考我上一个帖子https://www.52pojie.c ...

(:з っ )っ有点复杂,能说下如何用mt解决帖子所说的多dex解决方法
dxgw123 发表于 2018-7-9 20:57
tail88 发表于 2018-7-10 08:14
大神出个脱壳后修复的教程呗!感谢!网上很多脱壳软件,但却没有修复教程。
j2rong 发表于 2018-7-10 09:00
这个好东西啊我需要
j296849823 发表于 2018-7-10 16:56
大佬威武!  谢谢了
头像被屏蔽
sstm 发表于 2018-7-11 09:41
提示: 作者被禁止或删除 内容自动屏蔽
CJTRAND 发表于 2018-7-11 12:04
鼓励转贴优秀软件安全工具和文档!
SuPer丨豆子 发表于 2018-7-13 13:20 来自手机
学习一下,这个壳脱的好困难
thornfish 发表于 2018-8-10 09:53
笔记额这是
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 18:37

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表