首页
论坛
课程
招聘
[原创]jeb-demo-4.x 破解
2021-7-2 09:06 8888

[原创]jeb-demo-4.x 破解

2021-7-2 09:06
8888

破解

jeb-pro-3.19.1.202005071620

目标:破解jeb-pro-3.19.1.202005071620版本的时间限制,绕过自身完整性校验。

 

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import javassist.*;
 
import java.io.IOException;
 
public class Main {
    public static final int FLAG_DEBUG = 1;
    public static final int FLAG_FULL = 2;
    public static final int FLAG_FLOATING = 4;
    public static final int FLAG_AIRGAP = 8;
    public static final int FLAG_ANYCLIENT = 16;
    public static final int FLAG_COREAPI = 32;
    public static final int FLAG_JEB2 = 128;
 
    public static void main(String[] args) throws NotFoundException, CannotCompileException, IOException {
        ClassPool pool = ClassPool.getDefault();
        String classPatch = "/Users/*/IdeaProjects/crack_jeb_pro/lib/jeb-3.19.jar";
        pool.insertClassPath(classPatch);
        // 修改许可证时间
        CtClass ctClass = pool.get("com.pnfsoftware.jeb.client.Licensing");
        CtMethod ctMethod = ctClass.getDeclaredMethod("getExpirationTimestamp");
        ctMethod.setBody("return 2000000000;");
        ctClass.writeFile("/Users/*/Public/");
 
        //修改 prepareCheckLicenseKey 函数
        ctClass = pool.get("com.pnfsoftware.jeb.client.AbstractClientContext");
        ctMethod = ctClass.getDeclaredMethod("prepareCheckLicenseKey");
        ctMethod.setBody("return ;");
        ctClass.writeFile("/Users/*/IdeaProjects/crack_jeb_pro/out/");
 
        // 修改 com.pnfsoftware.jebglobal.r.RF 函数 总共有四处
        ctClass = pool.get("com.pnfsoftware.jebglobal.r");
        ctMethod = ctClass.getDeclaredMethod
                (
                        "RF",
                        new CtClass[]
                                {
                                        pool.get("java.lang.Class")
                                }
                );
        ctMethod.setBody("return true;");
        ctMethod = ctClass.getDeclaredMethod
                (
                        "RF",
                        new CtClass[]
                                {
                                        pool.get("java.lang.Object"),
                                        pool.get("java.lang.Class")
                                }
                );
        ctMethod.setBody("return true;");
        ctMethod = ctClass.getDeclaredMethod
                (
                        "RF",
                        new CtClass[]
                                {
                                        pool.get("java.lang.Class[]")
                                }
                );
        ctMethod.setBody("return true;");
        ctMethod = ctClass.getDeclaredMethod
                (
                        "RF",
                        new CtClass[]
                                {
                                        pool.get("java.lang.Object"),
                                        pool.get("java.lang.Class[]")
                                }
                );
        ctMethod.setBody("return true;");
        ctClass.writeFile("/Users/*/IdeaProjects/crack_jeb_pro/out/");
 
 
    }
 
}

将生成的class文件替换原来jeb.jar中的文件即可,并且删除MATA-INF目录下的JEBKEY.RSAJEBKEY.SF,并修改了MANIFEST.MF文件,至此我才终于开始步入正轨

 

MANIFEST.MF文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.10
Core-Version: 3.19.1.202005071620
Class-Path: lz4-java-1.4.1.jar xpp3-1.1.4c.jar commons-configuration2-
 2.2.jar jython-standalone-2.7.2.jar byte-buddy-1.10.8.jar netty-all-4
 .1.34.Final.jar commons-logging-1.2.jar commons-codec-1.11.jar sqlite
 -jdbc-3.20.0.jar z3-4.5.0.jar jsr305-3.0.2.jar commons-compress-1.16.
 1.jar okio-1.13.0.jar d8.jar okhttp-3.9.0.jar jsoup-1.10.3.jar common
 s-io-2.6.jar guava-25.0-jre.jar xz-1.6.jar antlr4-runtime-4.7.1.jar s
 nakeyaml-1.17.jar commons-beanutils-1.9.3.jar dx.jar commons-text-1.3
 .jar commons-collections4-4.1.jar objenesis-2.6.jar json-simple-1.1.1
 .jar commons-lang3-3.7.jar
Created-By: 1.8.0_242-b08 (Oracle Corporation)
Main-Class: com.pnfsoftware.jeb.Launcher

jeb-demo-4.1.0.202106222308-JEBDecompiler-121820464987384330

关于jeb-demo-4.1.0版本的破解,最主要的参照就是JEB 3.24 Anti-BLM Edition by DimitarSerg版本。

 

经过一定的测试,可以直接使用IDEA来编写java文件
测试了几款反编译工具(JD-GUI、IDEA)效果都不太理想,所以可能还是得手撸代码了。
参考文章

1
java -cp  "/Applications/IntelliJ IDEA.app/Contents/plugins/java-decompiler/lib/java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true jeb.jar src

这里列举一下简要步骤,感兴趣的师傅可以自行尝试。
1.文件比对
2.重写功能函数
3.测试

1
2
3
4
5
6
7
+ Fix Decompilation.
+ Fix Android: Generic string decryption via emulation.
+ Fix Saving or loading projects.
+ Fix Usage of the clipboard.
+ Fix Running time of a session.
+ Fixed all integrity checks/timebombs.
+ Restored display of variable values when hovering over them during debugging (Android).

下载地址如下:

1
链接: https://pan.baidu.com/s/14zuLVI5xekb-wKSru65_ig  密码: qg8w

最近4.2.0版本又更新了,后续在进行更新。

 

2021.07.02更新

jeb-demo-4.2.0.202106271614-JEBDecompiler-121820464987384330

感谢@nevinhappy师傅的提示,CE版和DEMO版本结合起来功能基本上和PRO版本没有差别(虽然没用过PRO-。-)

 

此版本基于DEMO版,并吸取了CE版的大量代码

 

如图:

 

1

 

2

1
链接: https://pan.baidu.com/s/1Ib_iL4pwNXf82rtPrLQTfw  密码: 6bp8

注意:4.x版本所保存的工程文件无法使用3.x版本打开。

 

官方计划在2021年出RISC-V DecompilerAtmel AVR 8-bit Decompiler,一起期待一下吧。

 

PS:
话说有师傅知道4.2.0反编译APK的时候,怎么加载python脚本吗?,我按照官方的做法,没法加载,提示no module DOptSamplePython,可我已经将DOptSamplePython.py放到coreplugins/scripts文件夹中了,用CE版本也是如此。


[注意]中秋好礼,诚意满满——你提意见,我送月饼!!

最后于 2021-7-2 22:50 被BadRer编辑 ,原因: 更新jeb-4.2.0-demo-crack
收藏
点赞5
打赏
分享
最新回复 (27)
雪    币: 1335
活跃值: 活跃值 (2216)
能力值: ( LV9,RANK:176 )
在线值:
发帖
回帖
粉丝
nevinhappy 活跃值 2 2021-7-2 09:24
2
1

我也在干这事,感觉不好干!不过我不是用文件替换,基本全基于ASM框架,主要从CE版本中掏代码。

补充一下:

使用IDEA调试其实很方便,直接到JEB的目录:

  1.  用“Open Folder as IntelliJ IDEA project”打开。

  2.    找到启动相关的JAR文件,比如这个是jebc.jar,将jeb.jar和jebc.jar 配置成:as library 

  3.    第二步之后,jebc.jar文件就可以展开了,这时打到启用Class ,选择它右键“调试”,就启动了。 


最后于 2021-7-2 09:45 被nevinhappy编辑 ,原因:
雪    币: 1268
活跃值: 活跃值 (370)
能力值: ( LV3,RANK:36 )
在线值:
发帖
回帖
粉丝
BadRer 活跃值 2021-7-2 09:41
3
0
3.24-demo破解版,是依据3.19-pro改的,我这个版本也主要是抄的3.19-pro的代码,主要是混淆比较难处理。
CE版我没看,不知道有没有可用的代码。
雪    币: 445
活跃值: 活跃值 (315)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
猫子 活跃值 2021-7-2 11:10
4
0

最近也对比着看了一下 JEB 3.24 Anti-BLM Edition by DimitarSerg 的版本,这里我使用的工具是 cafecompare : https://github.com/GraxCode/cafecompare , Beyond Compare 4 , idea  等工具。 调试参考的这篇文章: https://www.ms509.com/2020/03/19/Java-Debug/


idea 主要用来写java代码,将 jeb 目录下所有的 jar 文件作为 lib , 将反编译的代码复制到 idea 中进行修改,生成 calss 代码,跟正常写 java 代码没什么区别。

最后于 2021-7-2 11:13 被猫子编辑 ,原因:
雪    币: 33
活跃值: 活跃值 (281)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
繁华皆成空 活跃值 2021-7-2 11:37
5
0
只是破解了license限制,没有补全功能吧
雪    币: 1335
活跃值: 活跃值 (2216)
能力值: ( LV9,RANK:176 )
在线值:
发帖
回帖
粉丝
nevinhappy 活跃值 2 2021-7-2 13:34
6
0
BadRer 3.24-demo破解版,是依据3.19-pro改的,我这个版本也主要是抄的3.19-pro的代码,主要是混淆比较难处理。 CE版我没看,不知道有没有可用的代码。
挺好用,LZ不错!!!我补到loadproject一直有问题。你这个代码补的可以!!!
雪    币: 1268
活跃值: 活跃值 (370)
能力值: ( LV3,RANK:36 )
在线值:
发帖
回帖
粉丝
BadRer 活跃值 2021-7-2 22:53
7
1
nevinhappy 我也在干这事,感觉不好干!不过我不是用文件替换,基本全基于ASM框架,主要从CE版本中掏代码。补充一下:使用IDEA调试其实很方便,直接到JEB的目录: 用“Open Folder as Intell ...
感谢提示,欢迎试用4.2.0
雪    币: 2239
活跃值: 活跃值 (588)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
十年后 活跃值 2021-7-3 11:14
8
0
支持下,谢谢分享!
雪    币: 233
活跃值: 活跃值 (581)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kakasasa 活跃值 2021-7-3 22:03
9
0
mark一下,感谢分享
雪    币: 212
活跃值: 活跃值 (131)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
~Katyusha~ 活跃值 2021-7-4 16:04
10
0
谢谢分享!!!
雪    币: 4005
活跃值: 活跃值 (532)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wanttobeno 活跃值 2021-7-5 09:14
11
0
感谢分享!
雪    币: 1335
活跃值: 活跃值 (2216)
能力值: ( LV9,RANK:176 )
在线值:
发帖
回帖
粉丝
nevinhappy 活跃值 2 2021-7-5 10:23
12
0
猫子 最近也对比着看了一下 JEB 3.24 Anti-BLM Edition by DimitarSerg 的版本,这里我使用的工具是 cafecompare : https://github.com/G ...

你用的开源比较工具cafecompare 试用了下,还是没有BeyondCompare强大,而且它支持对Jar文件直接比较中反编译,可以下载这个插件就OK了。
不过它默认是使用jad.exe,不过如果想使用自己的反编译器,可以通过修改CLASS_to_JAVA.bat来配置自己的调用工具,很方便。

最后于 2021-7-5 10:27 被nevinhappy编辑 ,原因:
上传的附件:
雪    币: 445
活跃值: 活跃值 (315)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
猫子 活跃值 2021-7-8 18:04
13
0
nevinhappy 猫子 最近也对比着看了一下 JEB 3.24 Anti-BLM Edition by DimitarSerg 的版本,这里我使用的工具是 cafe ...
学到了,我后续有时间试一下,感谢分享。
雪    币: 186
活跃值: 活跃值 (86)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
fireworld 活跃值 2021-7-14 23:24
14
0
下载试用了下 界面变化好大
雪    币: 210
活跃值: 活跃值 (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
holeung 活跃值 2021-7-18 17:45
15
0
感谢分享,但不能保存的
雪    币: 132
活跃值: 活跃值 (494)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
滚动不息的球 活跃值 2021-7-18 19:55
16
0
感谢分享,但是为啥动态调试不了..
雪    币: 15
活跃值: 活跃值 (23)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
johnwas 活跃值 2021-7-21 10:17
17
0
4.2如果直接在jeb里面用没有问题,但是如果export出来的话,发现导出的java文件里面某些函数里面的内容是空的,但是jeb里面看却是全的。有谁碰到过这样的问题吗?
雪    币: 1268
活跃值: 活跃值 (370)
能力值: ( LV3,RANK:36 )
在线值:
发帖
回帖
粉丝
BadRer 活跃值 2021-7-21 15:27
18
0
johnwas 4.2如果直接在jeb里面用没有问题,但是如果export出来的话,发现导出的java文件里面某些函数里面的内容是空的,但是jeb里面看却是全的。有谁碰到过这样的问题吗?
方便把文件发给我吗?我测试一下。
雪    币: 1335
活跃值: 活跃值 (2216)
能力值: ( LV9,RANK:176 )
在线值:
发帖
回帖
粉丝
nevinhappy 活跃值 2 2021-7-21 19:06
19
0

解决这个功能是哪处补丁弄的,能给点提示么 ?

雪    币: 1268
活跃值: 活跃值 (370)
能力值: ( LV3,RANK:36 )
在线值:
发帖
回帖
粉丝
BadRer 活跃值 2021-7-21 20:05
20
1
nevinhappy 解决这个功能是哪处补丁弄的,能给点提示么 ?

4.2下的`vA`和`kz`,还有最关键的`Vl`,注意大小写

最后于 2021-7-21 20:06 被BadRer编辑 ,原因:
雪    币: 1268
活跃值: 活跃值 (370)
能力值: ( LV3,RANK:36 )
在线值:
发帖
回帖
粉丝
BadRer 活跃值 2021-7-21 20:09
21
0
滚动不息的球 感谢分享,但是为啥动态调试不了..
动调我没测试过,不太清楚哈,可能是还没patch,等后面新版本出来,我有时间在补充。
雪    币: 1268
活跃值: 活跃值 (370)
能力值: ( LV3,RANK:36 )
在线值:
发帖
回帖
粉丝
BadRer 活跃值 2021-7-21 20:15
22
0
holeung 感谢分享,但不能保存的
4.2我测试应该是能保存的,不能保存的话不知能否提供附件给我测试一下。
雪    币: 839
活跃值: 活跃值 (2393)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Alfik 活跃值 2021-7-25 18:12
23
0
JEB 4.3 (July 13, 2021)
Maintenance release.

- Tweaks and bug fixes in gendec, dexdec, dex, odex, arm modules
- Floating controllers: protocol 1 (HTTPS) now use TLSv1.3 (reason: TLSv1 has been deprecated in recent JDKs); see the Manual for details
雪    币: 53
活跃值: 活跃值 (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sumith 活跃值 2021-8-1 20:17
24
0

牛牛。。。

最后于 2021-8-1 20:21 被sumith编辑 ,原因:
雪    币: 376
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
奋斗小菜鸟 活跃值 2021-8-24 18:30
25
0
大佬  怎么修改最大内存 最大内存怎么一直是2g
游客
登录 | 注册 方可回帖
返回