TheCjw 发表于 2018-2-24 10:04

jeb-1.5.201508100 Loader with License Server

应该有不少人和我一样,无法适应JEB 2.x的界面。一直停留在jeb-1.5.201508100,也就是@colordancer[发布的版本](http://www.colordancer.net/blog/?p=1951)。其破解原理是伪造了一个Floating Server,查看`jeb-config.txt`可以发现:

```
ui_w_console_ratio=12
ctl_interface=www.colordancer.net
```

所以,每次运行的时候,JEB会定期去服务器请求一串字符。显而易见的缺陷就是,网络不好或者需要离线使用的时候比较麻烦。

解决方法在论坛都可以搜到:

- @qtfreet00的JavaAgent解决方案:(https://www.52pojie.cn/thread-535406-1-1.html)。
- @hkng123的Node.js本地License Server解决方案:(https://www.52pojie.cn/thread-529381-1-1.html)

使用过程中,由于JEB对JRE的版本兼容性不是很好,高版本无法使用,而在Mac系统上,旧版本的JavaAgent有Bug。会导致无法启动。

本地Server比较蛋疼的是每次都需要手动运行。

受到BurpSuite Loader的启发,在Loader中启动Server即可,代码如下:

```
package Abbot;

import fi.iki.elonen.NanoHTTPD;

import java.io.IOException;

public class Kinney extends NanoHTTPD {

private final static int DEFAULT_PORT = 23477;

private final static String RESPONSE_DATA = "4C000000EE6D29F6E547FC53F4F61FAF13EA68E9C66F0654A0E4245A5A2CECF1DFA4BF4A463F9E3436DB323D590492402EC95ECA5321288700D468296EE76F9768884210BEFD69B9F2A78C6307FEA144B6F039F8";

public Kinney() throws IOException {
    super(DEFAULT_PORT);
    start(NanoHTTPD.SOCKET_READ_TIMEOUT, false);
}

public static void main(String[] args) {
    System.out.println("Make jeb-1.5.201508100 great again WITHOUT javaagent.");
    try {
      new Kinney();
    } catch (Exception e) {
      System.err.println(String.format("[-] start httpd failed, %s", e));
    }

    try {
      Class<?> clazzJebLauncher = Class.forName("jeb.Launcher");
      java.lang.reflect.Method entry = clazzJebLauncher.getDeclaredMethod("main", String[].class);
      entry.setAccessible(true);
      final Object[] argsList = new Object;
      argsList = args;
      entry.invoke(null, argsList);
    } catch (Exception e) {
      System.err.println(String.format("[-] start jeb failed, %s", e));
      System.exit(0);
    }
}

@Override
public Response serve(IHTTPSession session) {
    return newFixedLengthResponse(RESPONSE_DATA);
}
}

```

使用方法,Windows为例:

1. 下载**jebserver.jar**,放入JEB的bin目录,如`c:\jeb-1.5.201508100\bin\`;
2. 修改`jeb-config.txt`文件中的ctl_interface为**127.0.0.1**;
2. 修改启动脚本`jeb_wincon.bat`如下:

```
@echo off

set SERVER="%~dp0bin\jebserver.jar"

start "jeb" /B javaw -Xmx2048m -XX:-UseParallelGC -XX:MinHeapFreeRatio=15 -jar "%SERVER%" %*
```

另外,为确保正确运行,可以从(http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html)下载**Java SE Runtime Environment 8u121**作为JEB的Runtime。



根据Hmily的建议,打包了一个完整的jeb,安装好JRE 8u121,运行对应平台的脚本即可。脚本初次启动会复制对应平台的swt.jar到bin目录,如果复制到其他平台无法运行,删掉bin目录的swt.jar,再运行一次脚本即可。

完整包爱盘下载:(https://down.52pojie.cn/Tools/Android_Tools/JEB_1.5.201508100.zip)

5omggx 发表于 2020-2-1 19:24

本帖最后由 5omggx 于 2020-2-1 19:36 编辑

感谢楼主,用了指定的JRE 8u121 x64 运行您提供的软件,确实就可以用了。
系统:windows 10 Pro x64   ,JRE 8u121 x64 (JRE 8u121 x86 提示无法创建虚拟机)

**PS:如果用不了,请删除 bin目录下的swt.jar**

批处理修改了一下:
~~~
@echo off

if defined JAVA_HOME (set base="%JAVA_HOME%\bin") else (set base="%SystemRoot%\System32")
set JAVA="%base%\javaw.exe"

set JEBSERVER="%~dp0bin\jebserver.jar"
set SWTLIB="%~dp0bin\swt.jar"

if not exist "%~dp0bin\swt.jar" (
copy /B "%~dp0swt\swt-4.7.2-win32-win32-x86_64.jar" %SWTLIB%>NUL
)

start "jeb" /B "%JAVA%" -Xmx4G -XX:-UseParallelGC -XX:MinHeapFreeRatio=15 -jar "%JEBSERVER%" %*
exit 0

~~~

TheCjw 发表于 2018-2-25 15:02

plaodj 发表于 2018-2-24 21:19
windows10   打开bat出现jeb界面最多一秒    就自己关了。。。怎么回事?

JRE、swt版本问题

mayl8822 发表于 2018-2-24 10:32

666 感谢分享

Hmily 发表于 2018-2-24 10:40

这个不错,打个包放爱盘上。

zhaotianrun 发表于 2018-2-24 11:02

Hmily 发表于 2018-2-24 10:40
这个不错,打个包放爱盘上。

的确jeb是个很好的工具,赶紧回复hmily

Jxdm 发表于 2018-2-24 11:26

这个不错阿。之前jeb好麻烦

hellokits 发表于 2018-2-24 11:39

猫子1992 发表于 2018-2-24 12:59

good job

ugvnui 发表于 2018-2-24 16:20

不错的JEB神器,,,感谢了。

plaodj 发表于 2018-2-24 21:19

windows10   打开bat出现jeb界面最多一秒    就自己关了。。。怎么回事?

空白格 发表于 2018-2-25 02:03


打开提示这个怎么修改啊
页: [1] 2 3 4
查看完整版本: jeb-1.5.201508100 Loader with License Server