JEB Android Decompiler(破解更新2014-07-16)
标 题: JEB(破解更新2014-07-16)作 者: scz
时 间: 2014-07-11,17:36:08
链 接: http://bbs.pediy.com/showthread.php?t=189980
我是从道长那儿知道有这么个贴的:
http://bbs.pediy.com/showpost.php?p=1277331&postcount=12
这个帖子展开后,有人给了Demo版,有人给了早期Full版,更有高人给了keygen。
对于最后这两位,我简直是佩服得眼泪花花的,就差黄河没倒流了。
由于已经有keygen了,其实我这是狗尾续貂。我干了几件无意义的事:
1. 直接把jeb.jar剁了,包括License检查、update检查、模态对话框、过期时间检查等等
2. 把"Cannot load or save to a JEB database file"这个限制去掉了,参照Full版里把Save功能补回来
我没仔细用,所以可能有其他未处理好的地方,再就是"No copy/paste of code."尚未去掉。等我去掉了再
来更新此贴。
对混淆过的Java程序破解不熟,第一次剁这类程序,贻笑大方了。如有不妥,请指正。
2014-07-11 18:02 scz
擦,闹笑话了,只把Save补全了,Load还没加回去。没关系,我会回来更新这个附件的。
2014-07-16 15:46 scz
附件更新,这次把1.5 Demo相比1.4 Full的限制全去掉了,包括下面这几项:
- Cannot load or save to a JEB database file
- Only a subset of methods will be decompiled
- No copy/paste of code
- Maximum running time for a single session is 1 hour
至少目前看,功能不弱于1.4 Full版(可能说的不对)。
有的限制是简单的判断语句,有的是没有相关调用代码,但被调函数体实际是在Demo版中的,参照
1.4 Full把主调函数的代码补回来。之前提供的版本暗桩没卸完(水平有限),这次也不敢说把暗桩卸完
了。谁要是碰上问题了再反馈吧。
1.5 Demo版其实是"demo debug"版,如果真是"demo"版,估计我也搞不掂,二者的区别是前者
携带了行号信息。尽管混淆过了,但有行号信息,很多调试手段都可以上,没有行号信息区别大了去了。
1.4 Full版的混淆程度要高于1.5 Demo debug版。
再次推荐一下BTrace,这次破解主要就靠它了。“Bytecode Visualizer”此次作用相当有限。
这个软件好不好我并不知道,我就是借此机会试试Java破解手段。感谢提供1.5 Demo debug和1.4 Full的兄弟。
2014-07-16 16:06
下面有人问怎么剁的。关键是它混淆过,敏感字符串基本都藏起来了,因此要设法找到敏感字符串,比如
"License key error."。开始也不知道它们在哪儿,先在Eclipse里针对exit()设断点,因为它碰到这不对
那不对总要退出的,然后查看调用栈回溯。前面说了,这是个Demo debug版本,有行号信息,就爽在
这儿了。
/*662: 450 */ if (!localoQ.dN(str1, arrayOfInt)) {
// License key error.
/*663: 451 */ cn.dN(rP.dN(new byte[] { 15, 6, 19, 28, 28, 26, 2, 72, 31, 69, 81, 67, 76, 82, 67, 86, 75, 29 }, 2, 13));
/*664: 452 */ Ee();
调用栈回溯表明Ee()在调exit(),注意到Ee()里面以及前面都有rP.dN(new byte[]...),这就比较显眼了,
应该是编码字符串的解码函数。在调试器里拦截rP.dN(),就能看到所有的敏感字符串。当然,我没这么
蠢,我用了BTrace,直接把它们在运行过程中显示出来了。再次因为这是debug版本,有行号,我的
BTrace输出爽得不能再爽。
剩下的就是慢慢触发各种判断、各种输出,一个个剁过去就是了。
由于1.4 Full版,可以进行类似漏洞分析中的补丁比较操作,在1.4 Full与1.5 Demo debug之间建立
对应关系,查看那些缺失的功能在1.4中怎么实现的。意外发现这些功能的真正实现都有,只是没有调
用它们,接下来要做的就是直接在class上操作,补回主调代码即可。这种补,用JBE(不是被剁的JEB)
比较合适。其实也不算意外发现,是因为道长给的那个链接里有人说他这么干了,要是他不说他干成功
过,我也不会去试着找它们。尽管那哥们只是出来秀了一下,并没有提供成品会其他介绍,但有时候就
是这样的,说成功过与不说,对后来者的区别相当大,甚至是质的差别。所以我还是很感谢他秀了这么
一下。
BTrace是一个很正经的Java进程诊断分析工具,用于线上排错、性能分析等等。它利
用HotSwap技术将一小段用户可控代码动态注入Java进程中,相当于hook。在不正经的
Java逆向工程中BTrace很有用武之地。几年前我用它剁过soapUI Pro。没用过的就去用用吧。
下面是2012年剁soapUI Pro 4.5时的贴子,里面也用了BTrace:
http://bbs.pediy.com/showthread.php?p=1114491
2014-07-17 09:47
14) 内存使用
有些人是通过jeb_wincon.bat启动,它实际执行的是:
java -Xmx2048m -XX:-UseParallelGC -XX:MinHeapFreeRatio=15 -jar jeb.jar
依据JAVA环境不同,有可能碰上提示:
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
这个没有别的好招,只能是不断缩减-Xmx,直至无提示。
一般情况下可以直接双击jeb.jar启动,相当于没有指定那三个参数,关键还是-Xmx。
如果不指定-Xmx,反编译SuperSU.Pro.v2.00.apk、weixin21android15.apk都没问题,
反编译weixin45android.apk时会触发内存耗尽异常:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
at jebglobal.Nz.dN(SourceFile:34)
at jebglobal.Nz.dN(SourceFile:27)
at jebglobal.yx.dN(SourceFile)
at jebglobal.yW.dN(SourceFile:705)
at jebglobal.TT.widgetSelected(SourceFile:139)
at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at jebglobal.yW.rn(SourceFile:345)
at jebglobal.yW.dN(SourceFile:86)
at jeb.Launcher.main(SourceFile:159)
这个不像是1.5 Demo版的暗桩,1.4 Full版存在同样现象:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source)
at javax.xml.parsers.DocumentBuilder.parse(Unknown Source)
at jeb.c.b.a(Unknown Source)
at jeb.f.aj.a(Unknown Source)
at jeb.f.au.a(Unknown Source)
at jeb.f.F.widgetSelected(Unknown Source)
at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
at jeb.f.au.v(Unknown Source)
at jeb.f.au.a(Unknown Source)
at jeb.Launcher.main(Unknown Source)
下面这样启动1.5 Demo版,可以成功反编译weixin45android.apk(18.6MB):
"C:\Program Files (x86)\Java\jdk1.7.0_55\bin\java.exe" -Xmx1500m -XX:-UseParallelGC -XX:MinHeapFreeRatio=15 -jar jeb.jar
单就weixin45android.apk而言,还有个小调整:
Edit->Options->Assembly->Visualization
这里缺省threshold是20000,调成39000。
装64位JDK和swt-win64-4.3.jar,内存问题基本就不会碰上了:
"C:\Program Files\Java\jdk1.7.0_60\bin\java.exe" -Xmx4096m -XX:-UseParallelGC -XX:MinHeapFreeRatio=15 -jar jeb.jar
"C:\Program Files\Java\jre7\bin\java.exe" -Xmx4096m -XX:-UseParallelGC -XX:MinHeapFreeRatio=15 -jar jeb.jar
此时不指定-Xmx4096m一般也没事,至少反编译weixin45android.apk无压力。
2014-07-17 17:07
wangshy指出,http://bbs.pediy.com/showpost.php?p=1277331&postcount=12 楼层中提供的1.4 Full版其实是
1.4 Demo Crack版,不是真正的1.4 Full版。
我是破解业余爱好者,见不多识不广,写的前文多有误导,请诸君见谅。高人真多,除了膜拜还是膜拜,内里关碍就不
多说了。 屁屁凉 也在玩安卓破解? 这个也能破解诶呢。。。 才发现还有这种小惊喜………… 强大的工具~ 不明觉厉~ 淡然出尘 发表于 2015-1-4 17:41
屁屁凉 也在玩安卓破解?
淡然大牛啊,小弟学习中! 绝对是大婶!!!利害,不顶不行 ...{:1_918:} 话说我运行不起来呢。。。。(win7 x64)
要python环境吗???
..
感谢~~ look一下》。 支持一个,好帖啊!!!!1
页:
[1]
2