首页
社区
课程
招聘
[原创] 如何优雅的延长JEB demo的有效期
2018-11-23 10:50 21281

[原创] 如何优雅的延长JEB demo的有效期

2018-11-23 10:50
21281

起因

前段时间 看雪推了《java应用破解之破解jeb mips2.3.3》 https://bbs.pediy.com/thread-222503.htm ,最近正好用到jeb,发现JDK高版本的情况下,之前破解的jeb版本打开后会闪退,卸载高版本JDK回退到jdk-8u121-windows-x64.exe之后即可正常打开。Google了一圈未发现jeb 3.0 full版,接下来对jeb-demo-android-3.0-beta.6版本学习。下载链接 www.pnfsoftware.com/dl?jebdemoandroid

 

http://jebbuilds2.s3.amazonaws.com/jebdemoandroid/jeb-demo-android-3.0-beta.6.201811202333-JEBDecompilerDemo-121820464987384338.zip

  • 旧版本JEB在最新版的JDK下闪退

  • 没找到JEB 3.0分享版本

分析过程

整个过程基本就是读代码,分析每行代码做了什么,最后再反其道而行之就能优雅的生成我想要的License了。

 

由于已有前人分析过,并且有介绍如何去爆破,那我们可以直入关键处

 

com.pnfsoftware.jeb.client.Licensing

static
  {
    pi.uW[4] = 95;
    int i = 0;
    i |= 0x80;
    hasDecompDex = true;
    hasDecompArm = true;
    File localFile = URLUtil.urlToFile(Licensing.class.getProtectionDomain().getCodeSource().getLocation()).getParentFile();
    pi localpi = new pi(new File(localFile, "jeb-license.txt"));
    user_name = localpi.uW();
    user_group = localpi.ku();
    user_email = localpi.Pg();
    user_id = localpi.WV();
    license_id = localpi.cd();
    user_count = localpi.mX();
    license_ts = localpi.vv(); //判断过期参数1,需大于0
    license_validity = localpi.sW(); //判断过期参数2,需大于0
    build_type = i;
    buildkey = localpi.iI();
  }

  private static int real_license_ts = license_ts;
  public static String buildkey;
  public static int build_type;
  private static final int FLAG_DEBUG = 1;
  private static final int FLAG_FULL = 2;
  private static final int FLAG_FLOATING = 4;
  private static final int FLAG_AIRGAP = 8;
  private static final int FLAG_ANYCLIENT = 16;
  private static final int FLAG_COREAPI = 32;
  private static final int FLAG_JEB2 = 128;

  public static final void setLicenseTimestamp(int paramInt)
  {
    if ((paramInt > 0) && (license_ts == 0)) {
      real_license_ts = paramInt;
    }
  }

  public static final int getExpirationTimestamp()
  {
    if ((real_license_ts <= 0) || (license_validity <= 0)) {
      return 0;
    }
    return real_license_ts + 86400 * license_validity;
  }

查看pi 跟入com.pnfsoftware.jebglobal.pi;

public static byte[] uW = { 69, 103, -94, -103, 1, -125, -15, 16 };
private static byte[] cd = "java".getBytes(Charset.forName("UTF-8"));
public pi(File paramFile) // 初始化函数
  {
    try
    {
      for (String str : IO.readLines(paramFile))
      {
        str = str.trim();
        if (str.startsWith(hu.uW(new byte[] { 44, 55, 13, 5, 13, 5, 21, 29, 6, 1, 84 }, 1, 122)))//str.startsWith("Validation:")
        {
          uW(str.substring(11).trim()); //获取Validation: 后面的字符串带入  uW('java.lang.String')
          break;
        }
      }
    }
    catch (Exception localException)
    {
      System.exit(0);
    }
  }

private void uW(String paramString)
    throws IOException
  {
    byte[] arrayOfByte1 = Formatter.hexStringToByteArray(paramString);  // 将字符串转成byte数组

    tR.uW(cd, arrayOfByte1, 0, arrayOfByte1.length); // 这里改变了 arrayOfByte1
    if (arrayOfByte1.length != 4096) {
      throw new RuntimeException();
    }
    int i = 0;
    for (int j = 0; j < 4095; j++) {
      i += arrayOfByte1[j];
    }
    if ((byte)i != arrayOfByte1[4095]) { // 最后一位校验和, 0-4094之和 等于4095
      throw new RuntimeException();
    }
    LEDataInputStream localLEDataInputStream = new LEDataInputStream(new ByteArrayInputStream(arrayOfByte1));

    int k = localLEDataInputStream.readInt(); // 读2个byte return (char)((byte[1] & 0xFF) << 8 | byte[0] & 0xFF);
    int m = 256 + (k & 0xFF); 
    localLEDataInputStream.skip(m); // 跳到指定位置

    int n = localLEDataInputStream.readInt();
    int i1 = localLEDataInputStream.readInt();
    byte[] arrayOfByte2 = new byte[n];
    localLEDataInputStream.read(arrayOfByte2);
    localLEDataInputStream.close();

    byte[] arrayOfByte3 = new byte[16];
    ByteBuffer localByteBuffer = ByteBuffer.wrap(arrayOfByte3);
    localByteBuffer.order(ByteOrder.LITTLE_ENDIAN);
    localByteBuffer.putInt(n);
    localByteBuffer.putInt(i1);
    localByteBuffer.put(uW);
    tR.uW(arrayOfByte3, arrayOfByte2); // 这里变换了一下arrayOfByte2

    localLEDataInputStream = new LEDataInputStream(new ByteArrayInputStream(arrayOfByte2));

    int i2 = localLEDataInputStream.readInt(); // 这个值需固定为1
    if (i2 == 1)
    {
      int i3 = localLEDataInputStream.readInt() & 0xFFFFFFFF; 
      int i4 = Hash.calculateCRC32(Arrays.copyOfRange(arrayOfByte2, 8, arrayOfByte2.length)); //这里有个hash校验
      if (i3 != i4) {
        throw new RuntimeException();
      }
      localLEDataInputStream.readLong();

      this.mX = localLEDataInputStream.readUTF();
      this.vv = localLEDataInputStream.readUTF();
      this.sW = localLEDataInputStream.readUTF();
      this.iI = localLEDataInputStream.readInt();
      this.Bi = localLEDataInputStream.readLong();
      this.Dv = localLEDataInputStream.readInt();
      this.zD = localLEDataInputStream.readInt();
      this.mL = localLEDataInputStream.readInt();
      this.XY = localLEDataInputStream.readUTF();
      this.Nj = localLEDataInputStream.readInt();
      this.XM = localLEDataInputStream.readInt();
    }
    else
    {
      throw new RuntimeException();
    }
  }

这样把上面看懂,基本就差不多了,接下来说说在看的过程中遇到的一些坑

 

在 com.pnfsoftware.jeb.client.Licensing 中 pi.uW[4] = 95;

 

所以 public static byte[] uW = { 69, 103, -94, -103, 1, -125, -15, 16 }; 在使用的时候已经变成

 

uW = { 69, 103, -94, -103, 95, -125, -15, 16 }; 这个一粗心花了不少时间

 

ByteBuffer设置了小端序,默认是大端序

 

localByteBuffer.order(ByteOrder.LITTLE_ENDIAN);

 

readUTF() 函数,参考 http://developer.classpath.org/doc/java/io/DataInputStream-source.html

 

是先读字符长度,再读出字符,反其道的时候记得在前面加字符长度值

 

接下来就是喜闻乐见的keygenerator实现过程代码

import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.zip.CRC32;
class create{
    public static byte[] longToByte(long l){
        ByteBuffer buffer = ByteBuffer.allocate(8);
        buffer.order(ByteOrder.LITTLE_ENDIAN);
        buffer.putLong(0,l);
        return buffer.array();
    }

    public static byte[] intToByte(int i){
        return new byte[]{(byte)(i & 0xff),(byte)((i >> 8) & 0xff),(byte)((i >> 16) & 0xff),(byte)((i >> 24) & 0xff)};
    }

    public static byte[] stringToByte(String s){
        byte[] tmp = new byte[s.getBytes().length + 2];
        tmp[0] = (byte)((s.getBytes().length >> 8) & 0xff);
        tmp[1] = (byte)(s.getBytes().length & 0xff);
        for (int i = 2; i < tmp.length; i++) {
            tmp[i] = s.getBytes()[i-2];
        }
        return tmp;
    }

    public static byte[] concatAll(byte[] first, byte[]... rest) {
      int totalLength = first.length;
      for (byte[] array : rest) {
        totalLength += array.length;
      }
      byte[] result = Arrays.copyOf(first, totalLength);
      int offset = first.length;
      for (byte[] array : rest) {
        System.arraycopy(array, 0, result, offset, array.length);
        offset += array.length;
      }
      return result;
    }

    public static int hash_calculateCRC32(byte[] paramArrayOfByte)
    {
        CRC32 localCRC32 = new CRC32();
        localCRC32.update(paramArrayOfByte);
        return (int)(localCRC32.getValue() & 0xFFFFFFFF);
    }

    public static void mT_hr(byte[] paramArrayOfByte1, int paramInt1, int paramInt2, byte[] paramArrayOfByte2, int paramInt3, int paramInt4)
    {
        byte[] arrayOfByte = new byte[256];
        int i = 0;
        for (i=0; i < 256; i++) {
          arrayOfByte[i] = ((byte)i);
        }
        int j = 0;
        int k = paramInt1;
        for (i = 0; i < 256; i++)
        {
          if (k == paramInt2) {
            k = paramInt1;
          }
          j = (j + arrayOfByte[i] + paramArrayOfByte1[k]) % 256 & 0xFF;
          byte m = arrayOfByte[i];
          arrayOfByte[i] = arrayOfByte[j];
          arrayOfByte[j] = m;
          k++;
        }
        i = 0;
        j = 0;
        int m = paramInt3;
        while (m < paramInt4)
        {
          i = (i + 1) % 256 & 0xFF;
          j = (j + arrayOfByte[i]) % 256 & 0xFF;

          byte n = arrayOfByte[i];
          arrayOfByte[i] = arrayOfByte[j];
          arrayOfByte[j] = n;

          int i1 = arrayOfByte[((arrayOfByte[i] + arrayOfByte[j]) % 256 & 0xFF)]; 
          int tmp214_212 = m; 
          byte[] tmp214_211 = paramArrayOfByte2;
          tmp214_211[tmp214_212] = ((byte)(tmp214_211[tmp214_212] ^ i1));
          m++;
        }
    }

    public static String byteArrayToHexString(byte[] b){
        String result = "";
        for (int i=0;i<b.length ;i++ ) {
            String hex = Integer.toHexString(b[i] & 0xFF);
            if(hex.length()==1){
                hex = '0'+hex;
            }
            result = result + hex.toUpperCase();
        }
        return result;
    }


    public static void main(String[] args) throws java.lang.Exception {
        long timestamp = 1542760631781l; 
        String user_name = "JEB Decompiler Demo";
        String user_group = "PNF Software";
        String user_email = "contact@pnfsoftware.com";
        int user_id = 760781040;
        long license_id = 121820464987384338l;
        int user_count = -1;
        int license_ts = 0;
        int license_validity = 365; // free days
        String buildkey = "jeb-demo-android";
        int unknown1 = 128; // flag_jeb2 ??
        int unknown2 = 5;    // ??


        byte[] timestamp_bytearray = longToByte(timestamp);
        byte[] user_name_bytearray = stringToByte(user_name);
        byte[] user_group_bytearray = stringToByte(user_group);
        byte[] user_email_bytearray = stringToByte(user_email);
        byte[] user_id_bytearray = intToByte(user_id);
        byte[] license_id_bytearray = longToByte(license_id);
        byte[] user_count_bytearray = intToByte(user_count);
        byte[] license_ts_bytearray = intToByte(license_ts);
        byte[] license_validity_bytearray = intToByte(license_validity);
        byte[] buildkey_bytearray = stringToByte(buildkey);
        byte[] unknown1_bytearray = intToByte(unknown1);
        byte[] unknown2_bytearray = intToByte(unknown2);

        byte[] tmp0 = concatAll(timestamp_bytearray,user_name_bytearray,user_group_bytearray,user_email_bytearray,user_id_bytearray,license_id_bytearray,user_count_bytearray,license_ts_bytearray,license_validity_bytearray,buildkey_bytearray,unknown1_bytearray,unknown2_bytearray);
        //System.out.println("arr:"+java.util.Arrays.toString(tmp));

        int info_hash = hash_calculateCRC32(tmp0);
        byte[] info_hash_bytearray = intToByte(info_hash);
        byte[] int_one_bytearray = intToByte(1);

        byte[] tmp1 = concatAll(int_one_bytearray,info_hash_bytearray,tmp0); 

        int k = -1650511549;
        int n = tmp1.length;
        int i1 = 1649355945;
        byte[] hr = { 69, 103, -94, -103, 95, -125, -15, 16 };

        byte[] arrayOfByte3 = new byte[16];
        ByteBuffer localByteBuffer = ByteBuffer.wrap(arrayOfByte3);
        localByteBuffer.order(ByteOrder.LITTLE_ENDIAN);
        localByteBuffer.putInt(n);
        localByteBuffer.putInt(i1);
        localByteBuffer.put(hr);

        mT_hr(arrayOfByte3, 0, arrayOfByte3.length, tmp1, 0, tmp1.length); // change tmp1

        byte[] k_bytearray = intToByte(k);
        byte[] n_bytearray = intToByte(n);
        byte[] i1_bytearray = intToByte(i1);
        byte[] tmp2 = concatAll(n_bytearray,i1_bytearray,tmp1);

        int m = 256 + (k & 0xFF); // skip bytes 
        byte[] m_bytearrary = new byte[]{-114, -27, -101, 40, -112, -97, 70, -15, 16, -126, 105, -16, 52, -10, 31, -81, -29, 84, 120, -20, 119, -124, 69, -28, -79, -26, 50, -44, -19, 117, 26, -68, -106, 42, -106, 101, -37, -98, -41, -91, -94, -14, -75, -30, -67, -14, 7, -44, 91, 120, 53, -114, -64, 14, 10, -66, 56, -41, -50, 51, 72, -82, -109, -97, 39, -113, -49, -98, 108, 53, 43, -10, 8, 5, -103, 32, 117, 42, -84, 7, 47, 0, 35, 14, 99, -75, -58, 88, -26, 45, 117, 66, 104, 38, 125, 52, -24, -99, 45, -103, 106, 111, -87, 43, -24, 66, -3, 115, -123, -91, 116, -112, 8, 117, 42, 54, -121, -126, -32, -7, 98, 115, 15, -53, 115, -26, 63, -61, -125, -37, -104, 32, -1, 82, -71, -116, -22, 49, -56, -92, 21, 107, -55, -73, -114, 95, 51, -51, 85, 125, -64, -21, 85, 47, -124, -107, -110, -11, 65, -108, -98, -46, -7, -7, 81, -26, -61, 97, -72, 92, -30, 121, 77, -123, 19, -60, 104, 69, 37, -100, -10, -83, -49, 117, 103, -23, -67, 105, -20, 92, -21, -16, -30, 9, 54, -18, -119, 52, 48, -14, -7, 72, 51, -68, 85, -5, -72, 0, 64, -80, -23, 105, -113, 27, 116, -32, 64, 42, -95, 13, -85, 35, -90, 29, -9, 9, 57, -59, -50, 68, 103, -121, 84, -128, -92, 52, 84, -44, 34, -79, -68, 39, 101, -3, 75, -49, 23, 114, -120, 122, 24, 74, -11, 81, -39, 100, -123, 90, -22, 72, 74, 29, -48, 104, 114, -118, 28, -88, 116, 25, -72, 32, -123, 51, -124, 32, 81, -48, 32, 116, -25, 96, 11, -24, -12, -18, -20, 14, 51, -125, 48, 62, 35, -56, -44, -35, -5, -18, -125, -30, -37, -46, -29, -106, 67, 91, 43, -102, -56, 38, -8, 46, 4, 101, 97, -80, -50, 4, 72, 97, -86, 12, -13};
        byte[] tmp3 = concatAll(k_bytearray,m_bytearrary,tmp2);

        //System.out.println("tmp3 len:"+tmp3.length); 
        byte[] unknown_bytearray = new byte[]{111, -125, 76, -38, 47, -105, 53, -62, -87, -78, 6, 10, 89, -98, 40, 68, 52, -39, -38, 6, -24, -120, 16, 2, 104, -85, -104, 84, -89, -110, 127, 27, -93, -112, -78, 74, -92, -19, -25, -64, -59, 32, -67, -107, -77, 61, 33, -74, -76, -84, -12, -77, -21, 27, -22, -41, -39, -75, -75, 120, 39, -109, 97, -111, -94, 114, 1, -115, -122, -89, -117, 101, -2, 79, 0, -20, -21, -54, -48, 105, -28, 105, 123, 102, 125, 101, 123, -57, -52, 18, 96, 29, 40, 85, 61, 60, 52, 83, 66, 10, 27, 107, -86, -103, 28, 101, -41, 120, 72, -21, -70, 70, -118, 55, 120, -121, -24, 13, 74, -70, 7, -20, -92, -86, -12, -128, -103, 4, 33, 90, 125, 41, -83, -30, -53, 69, -25, -117, 73, -96, 20, 73, 105, 51, 112, 63, -14, 126, 114, -67, -33, -104, 84, 105, -121, -121, -46, -69, -3, -47, 49, -82, -71, 83, -126, -76, 119, 80, 39, -23, 95, -52, -106, -117, 101, 27, 93, -86, -14, -76, 101, 27, -60, 74, 122, -78, 17, 29, 10, -81, -14, -116, 44, 120, -1, -17, -28, -120, 54, -93, -91, -89, 32, 101, 22, 91, 54, -29, 24, -98, -128, -112, 8, -48, 126, -73, 65, -18, 76, -45, -28, 4, 0, 29, -38, -32, 86, 101, 26, 8, -113, 37, 39, -19, -107, -46, -36, 95, 98, 117, 107, 67, -93, 122, -94, -124, -104, -56, 112, 71, 61, 17, -88, 98, -82, 106, 4, 13, -57, 29, 107, -38, 10, -66, 118, -30, -59, 124, 48, 64, 116, -72, 29, -61, 99, -37, 125, -34, -105, 100, -47, -29, -18, 63, -98, 112, -123, 93, 112, 41, 89, -128, 33, -89, 48, 86, 91, -81, -71, -55, 90, -90, -14, -107, -10, 68, -55, 26, -32, -120, 6, 115, 43, -21, 103, -58, 14, -40, 12, -35, -24, 90, 21, -11, -125, 23, -119, -42, -100, 124, 121, 35, -94, 57, 100, -13, -66, -16, -35, -97, 19, 40, 107, -35, 70, -121, -80, 13, 64, 64, -52, -45, 50, -55, 3, -27, -39, -47, -100, 37, 3, 113, 12, -15, 81, -95, 84, -70, 61, -19, -90, -45, 94, 103, 78, -117, -22, -33, -49, 125, 125, 81, 76, 37, 24, -98, 42, -73, 107, 127, -14, 43, 86, -74, 123, -100, -83, -123, 71, -46, 59, 100, 45, 29, 9, -19, 56, 100, -32, 26, -49, 124, 11, -77, 21, -66, 96, 1, -110, -45, -127, -57, 18, -47, 95, 114, -51, -117, -1, -113, -56, 36, -128, 124, 122, -27, 92, 98, -79, 80, -18, 98, -74, 117, 51, 14, -81, -125, -44, 26, 68, -95, 99, 82, -123, -2, -27, -50, 11, 38, -112, 101, 92, -105, -43, 95, -108, -108, -96, 109, 64, 56, -35, -35, -115, -51, 62, 9, -95, 94, 59, 16, 72, -118, 90, -56, -45, -102, -80, -13, 60, -42, -90, -80, -114, 19, 0, 51, -125, -112, 27, -72, 110, 3, 117, -76, 91, -18, 114, 77, 116, 54, 93, 12, -91, -11, -84, -47, -125, -114, -121, 6, 105, 2, -117, 23, -28, -127, -54, 33, 80, 68, 22, -23, -62, -103, 127, 15, 40, 63, 25, -126, -81, -13, 2, 54, 100, 74, -94, 20, 29, -63, 52, 50, -102, 18, -123, 68, -26, -56, -4, 81, 3, 21, -38, -87, -59, -29, -63, 21, -2, 40, 122, 80, -37, 126, -14, -74, -115, -14, -123, 59, 43, 27, 126, -98, -42, 110, -34, -35, 29, -47, 92, -21, -93, 109, -83, -96, -1, -57, 5, -16, -29, 18, -36, 95, 127, -66, -11, -76, 39, 84, -101, -20, 50, -123, 45, 113, 37, 127, -35, -117, 17, -126, -76, 22, 57, -77, -40, 117, -9, 48, 17, -58, -33, 99, -119, 87, 36, -101, -45, 87, 58, -40, 46, -48, -67, -26, 9, -44, -111, -84, -54, -10, 73, -59, -54, -4, -52, 79, -92, -46, 53, 3, -81, -64, -5, -122, -56, -33, 81, -2, 84, -56, -49, -25, -124, -113, 82, 38, -37, -17, 31, 93, -19, -58, 78, -127, 104, -61, 101, -86, 88, 93, 67, 42, -90, 6, 63, -32, -31, -96, -112, -51, 64, 48, -18, -25, -25, -48, 121, 45, 105, -22, -38, -5, -114, -94, -89, -97, 85, -108, 11, 43, 59, -65, -90, -116, -67, -64, -78, -37, 28, 66, 102, -13, 95, -76, -98, 67, -98, 61, -69, -28, 124, -20, -56, -19, -11, 52, -35, 6, 89, -105, -56, 59, -105, -96, -23, 18, -66, 21, 92, -34, -63, 109, 93, 85, 122, 127, -24, 96, -15, 124, -96, 50, -35, 31, -15, -100, 106, 34, 120, -98, 60, -13, -95, 64, -77, -89, -111, -94, 112, 47, 71, 82, 24, -56, -3, -35, 87, -72, -45, -88, 39, 54, -81, 0, 82, -87, 94, 110, 53, 21, -1, 79, -58, -46, -96, -92, -41, 126, 41, 39, -101, 52, 120, -98, 105, -3, -51, 114, -64, -122, 104, -126, -118, 19, 112, 52, -92, -77, 23, -51, -98, -75, -6, 2, -65, 90, -51, -49, 75, -53, 55, -122, 7, 77, -6, 42, -4, -78, 86, -3, 123, 18, -81, 87, 97, -69, 109, -72, -100, 101, 35, 32, -19, -87, -14, -98, -17, -76, 47, 39, 87, 55, 67, -87, 124, -95, -45, 94, 26, -112, 32, 101, 82, -124, -81, -115, -12, -43, 44, 116, 1, -25, -118, -48, 106, -101, 111, 12, 30, 8, -49, 22, 67, 106, -42, 119, -62, 90, 11, -93, 9, 63, -78, -110, 11, 4, 113, -114, -117, 10, 53, 78, -102, 96, 86, 68, 94, 49, -8, 51, 20, 125, -76, 3, 87, 12, 120, -40, -94, -98, -85, 96, 18, 103, -108, 108, 112, -71, -4, -62, 111, 3, 17, 48, 49, -7, -116, -28, 15, 20, 22, -5, -103, 61, -25, 87, -37, -60, -80, -75, -30, -106, -69, -3, 126, -81, 79, -36, 72, -51, 88, -113, -26, 101, 71, 2, -115, -38, 55, 25, -57, -20, 81, 76, 118, 110, 112, 121, 24, 60, 7, -11, 75, 106, 66, -29, -109, -64, 107, -55, 91, 102, -113, 95, 57, -37, 96, -86, 118, 43, 93, 74, -52, 97, 47, 15, 113, 57, 86, -47, 84, 26, 4, -128, -90, 66, 73, 121, -101, 66, 111, 27, 113, -83, -89, -102, -79, 12, -28, 18, -76, 20, 6, -33, 104, 26, 59, 43, 83, -58, -94, -57, -40, 7, 48, 62, -71, 70, -41, 39, -35, -35, -28, -69, 82, -54, -88, -90, -108, -97, 90, 33, 15, -67, 59, 64, -30, -63, -5, -120, -27, 61, 91, -60, -19, -86, 19, 24, 78, -99, -11, 86, -96, 57, 81, -112, -58, -28, -101, -19, 43, 61, 75, -64, 79, 77, 4, -42, -127, -4, -8, 15, -19, -59, -118, 47, -39, -83, 52, -10, 43, 113, -86, 109, 46, -2, 63, -126, -107, 37, -120, -41, -65, -114, 62, -42, 60, -19, 104, 8, -113, 116, -71, -89, 53, -120, 54, 113, -26, -74, 27, -66, 26, -24, -1, -44, -50, -45, 54, 122, -121, -77, 118, -54, -105, 58, -68, 75, -98, -59, 112, 62, 83, -48, -57, 56, -124, -84, 104, -16, 90, 111, 82, 90, -31, 42, -4, -12, -56, 97, -67, 95, 100, -73, 109, 48, -6, -23, 77, 8, 61, -3, 35, -31, 21, -70, -87, -85, -94, 90, 39, 22, 127, 126, 94, -79, 74, 97, -88, 52, 100, 80, 92, 25, -11, 89, 119, 112, 50, 66, 120, -13, -30, -68, -118, 88, 29, -40, -24, -26, 86, -70, 124, 75, -100, -117, -54, -84, 28, -76, 11, -4, -22, 72, -99, -112, 0, -63, -103, -13, -122, -18, -59, -10, 83, 44, -83, 12, -77, -44, 11, -44, 106, -13, 111, -11, -7, 64, 27, 49, 31, 74, 47, -76, -94, -16, 5, -83, 78, 22, -34, 32, 62, -107, -67, -7, 89, 115, -109, 99, 31, 84, -101, 90, -91, 47, 7, 126, -34, 67, -36, 42, 27, 76, 25, -59, -44, -14, 31, 87, -88, -126, 76, 95, -94, -33, -24, -29, -67, -70, 68, -57, -87, 0, 32, 98, -49, -108, 77, 78, -109, 62, -109, 127, -40, -30, -44, -106, -56, -12, 112, 119, -44, 43, -21, 24, -6, 116, -51, -100, 69, 41, -55, -97, -102, -126, 33, -45, -80, 75, 72, -53, 96, -41, -56, 22, 30, 52, 102, -112, -58, -97, -125, -12, -100, 58, -60, -76, -114, -5, -11, 12, -69, -24, 42, 84, 56, -128, 39, -107, 16, 124, 1, 95, -115, -73, 4, -39, -75, 105, -41, 25, 23, -101, -34, -74, -57, -42, -33, -102, -90, 30, -25, 28, -26, 30, 110, 77, -52, -92, -71, -111, -72, 79, 127, 114, 98, -123, -49, -80, 101, -85, 48, -100, 1, -112, 9, -91, 28, 41, 67, 51, -118, -125, 44, -77, -115, -12, -98, -14, -97, -108, 96, -82, 110, -21, -53, 106, 39, -21, -80, -127, -9, 32, 121, 126, -50, 37, -114, -86, 101, 89, -7, -27, -126, -45, 76, -71, 122, -110, -63, -84, -9, -7, -93, -43, -5, 121, -19, -79, 36, -113, 48, 54, 49, -15, -71, 41, -60, 3, -14, -84, 105, -112, 8, 26, -42, -74, -50, 23, 116, 32, -32, -30, 30, 122, 11, -20, 39, 33, -20, -82, -94, 26, -42, -73, -36, 70, -7, 4, 45, -46, -65, -109, -16, -12, 121, 58, -49, -45, 59, -76, 67, -58, 3, -4, 90, -63, 32, -35, -69, 11, -47, -54, -25, 52, 43, -22, -63, 70, 64, 119, 79, 58, 125, 72, -62, -83, 83, -85, -77, -45, 26, 120, -81, -84, 49, 98, -11, 116, 105, -112, 125, 95, -93, 107, 60, -123, -73, -71, -90, 27, -105, -22, 116, -29, -76, -78, -89, -27, -97, -41, -52, 95, -13, 75, -128, -7, 115, 125, 54, 60, 110, -21, 55, 69, 107, -5, -22, -75, 1, 11, 85, -21, 5, -58, -29, 117, -21, -71, 103, -61, 101, 37, 96, 29, 80, 22, 126, -42, -48, -76, 101, -63, -71, -40, -80, -28, 48, -30, 55, 107, -111, -55, -107, -33, -109, 115, -28, -105, -86, 70, -54, 110, -84, -2, -71, -75, -73, -64, 113, 107, 81, 111, -55, -85, -49, 63, -81, 101, -5, -121, 109, 80, -15, -38, 45, 31, 73, 87, -65, -14, 122, 64, -104, 15, 125, -55, 29, -47, -80, 50, 34, -32, -3, 23, -84, -94, 59, 6, -2, -16, -45, 82, -45, 12, -90, 38, -25, -45, 46, -36, -68, 46, -29, -113, -102, -50, -33, -18, -42, 23, -60, 83, 87, 92, -35, 19, 85, 77, -125, 23, 100, -83, -63, -85, -79, 71, 59, -107, -118, 34, 75, 105, 35, -13, 108, 27, -106, -46, -37, -42, 43, 49, 123, 11, -39, 9, -8, -52, 12, 85, 47, 89, -87, -61, -51, -5, 78, -87, 53, 16, -34, 53, -89, 103, 60, -24, -98, -51, 85, 69, 120, -25, 100, -59, 92, 66, 113, 13, 87, -88, 26, 98, -56, -75, -107, 92, -2, -87, -12, -39, 31, 126, -85, 52, 75, 61, 79, -73, 0, -116, -96, 77, -65, -116, -55, 124, -17, -31, -27, -111, 2, 17, -59, 28, -42, 18, -16, -98, 93, 29, -22, -127, 127, -56, -71, 71, 62, 83, -92, 6, 27, 65, 61, 19, -72, 42, -94, -3, -66, -49, -1, -67, 0, 110, 86, 43, -32, 88, -126, -78, -15, -64, 120, 71, -35, -44, -48, -106, -119, 17, -125, 126, 118, -45, -10, -65, 106, 43, 55, -14, 79, -12, -123, -72, 90, 40, 21, 54, 111, 111, 19, -64, -61, -7, -26, -44, -62, -116, -72, 73, 51, -32, 53, -57, -102, 42, -110, 121, -35, -10, -48, 1, 42, 57, 65, -84, 23, -90, 75, -26, 10, 64, 107, -16, -38, 48, 124, -49, -74, -40, 57, -121, 69, 39, 0, -119, 15, 46, -40, 105, 27, -13, -75, -45, -40, -123, -6, -65, 64, 80, 62, -29, 58, -78, 82, 105, 63, -51, -125, -30, 64, -98, 27, 121, -57, 78, 46, 107, 92, -56, -110, -74, 41, -117, 46, 16, -32, -64, 119, 26, -36, -113, 56, -43, -122, -83, -111, 84, -6, 57, 65, -77, -23, -56, 39, 71, -64, -66, 5, 22, 9, -33, -121, -119, 18, 37, -124, 96, -53, -45, -126, -27, -12, -55, 127, 100, 119, 26, -18, -38, 18, -37, -1, -21, 56, 62, 35, 25, 57, -34, -49, 51, -96, 91, 127, 10, -37, 41, -3, 106, 33, -91, -30, 72, -112, 105, 93, 55, -107, -32, 50, 32, -113, 28, 6, 50, -74, -26, -39, 23, 57, 22, -46, 103, -90, 37, 66, 97, -113, 0, -30, -40, 105, 30, 95, 106, -73, -44, 24, -8, 103, -25, 38, 81, 123, 99, -100, 48, -21, -86, 15, 104, -55, -49, 88, 93, -90, 36, -104, -74, 52, 17, 124, 80, 44, 39, -63, 117, 113, 116, -6, 77, 117, 24, -111, -108, -37, 24, 11, -115, 94, 113, -113, 53, -16, 112, -88, -68, 38, 64, 73, 48, -46, -60, 17, 123, -15, -89, -48, -113, -57, -80, 74, -33, 72, 90, 58, 16, -70, -93, -103, -16, -105, 36, 31, -90, -73, 97, 10, 43, -82, 98, 29, -8, 115, -126, -21, 1, 65, -122, 85, -31, -63, -16, 80, 86, 104, -107, -21, -18, 30, 109, -112, 2, 32, -86, -119, -29, 38, 11, -58, 83, -57, 113, -36, 55, 28, -78, 81, -119, -92, -84, 22, -109, 103, -99, 84, 89, 93, -78, 107, 86, 15, -35, 54, 107, 126, -21, -108, 20, 68, -43, 36, -36, -7, 85, 79, 18, -41, -68, -118, -67, -95, 2, -36, -52, -65, 30, -98, -111, -83, -104, -127, 112, -106, 91, -43, -45, 60, -49, 8, 96, 26, 39, 108, 110, -53, -9, 60, -76, -84, 8, -32, 67, -64, 111, 112, -74, -44, -37, 118, -89, -29, 47, -9, 100, -69, 80, -76, -30, -33, 63, -83, -15, -81, 105, -26, -79, -58, 61, 108, 68, -93, -1, -102, -60, -118, -36, -104, 119, -84, 61, 36, 65, -123, 95, -108, 89, -123, 35, 27, 63, -14, 34, 75, -19, 12, 4, -38, 76, 113, 18, -88, -23, -61, 8, 0, -24, -121, 47, 29, 56, 79, -85, -16, 7, 27, 17, 32, 120, -3, 60, 82, -109, -5, 96, -86, 125, 56, 95, -112, -24, 85, 91, -74, -52, 20, -116, 90, 87, 62, 82, -56, 33, -57, -115, 34, -93, 47, 44, 99, -23, 42, 4, -95, -122, -126, -30, -110, -55, 60, -29, 80, 45, -7, 2, 96, 21, -97, -15, -16, -72, 56, 45, 96, 89, 25, 76, 3, -68, 70, -103, 37, -44, 21, -30, 80, -64, 16, -113, -53, -8, 31, -10, 99, -61, -26, -18, 109, -20, 108, -94, 10, -76, -4, -90, -84, 10, 80, 79, -39, -7, -21, 62, 47, 97, -59, 62, -89, -23, 45, 80, 29, 51, -21, 2, 15, 82, -92, 7, -92, 120, -126, 4, -16, -13, 19, -89, 118, 90, 113, -2, -18, 3, -93, 6, 71, -73, 67, -127, -18, -87, 96, 11, 80, -93, -91, 111, -98, -127, -70, 54, -49, -29, -22, -127, -22, 29, 5, 24, -123, 114, -121, -62, -120, -126, -7, -42, 54, 0, -105, 17, 110, -89, 50, -86, 45, 110, 87, -92, 86, -7, -79, 98, -75, 83, -85, -128, 65, -38, 89, -33, -95, 122, -104, 1, -15, 29, 115, -104, -59, 98, -56, 89, 109, -116, 42, 20, 122, -68, 9, 9, -127, 99, 16, 115, 30, -15, -50, 105, 59, -46, -104, -26, -110, -102, -84, 38, 111, 126, -103, 51, -70, 6, -34, -66, 52, 0, -47, 50, 0, -73, -62, 6, 101, 100, 96, 82, -46, -27, 90, -91, 34, -84, 73, 21, 32, -7, -52, -106, 76, 75, -12, -113, -33, 19, -29, -86, 12, -85, -81, -21, -120, -122, -117, 3, 76, -89, 40, -26, -103, 86, 88, -101, 60, 17, -12, 82, 19, -63, 0, -69, -49, 45, 12, -107, -6, -77, -36, -124, 59, 52, 75, 39, -39, 80, 108, 105, 125, -45, -15, 23, 59, 110, -48, -77, -45, -87, 35, -121, 51, 24, 79, -4, 63, -52, 104, 43, -43, 12, -44, -76, 11, 69, 45, -49, -70, 62, 108, -96, 64, -113, 67, -50, -128, 83, -55, 85, 45, 28, 92, -101, 72, 39, -62, -63, -26, -48, -111, 60, 54, 71, -47, -93, -62, -124, -33, -55, -11, 120, -109, 14, -35, -124, -91, -14, 48, 46, 76, -22, -108, 18, 39, 119, 26, 22, 96, 115, 11, -31, 14, -83, -25, -116, -37, -72, -86, -102, -26, 0, 81, 37, -22, 29, -100, 90, -97, 107, 20, 39, 96, -38, 79, 50, 13, 1, 113, 12, 50, 121, -10, -90, 104, 104, -81, 3, -5, 91, 10, 47, -51, 89, -106, 111, 121, 52, -59, -71, -70, 34, -14, 102, 14, -117, -91, 37, -106, 36, 22, 51, 64, 59, -17, -56, 39, 84, 86, -44, 57, -11, 42, -22, 25, -66, -117, 124, 71, -68, -96, 73, 126, -3, -109, 18, 93, 103, -32, -109, 73, -59, -49, -79, -111, 34, 62, -17, -46, 90, -92, 38, -100, -19, 82, 117, 85, 22, -6, 117, 93, 28, 117, -79, 114, -25, -64, 85, 86, -43, 71, 36, -82, -50, 102, -81, 45, -107, 44, -61, -15, 97, 97, 34, 44, -85, -54, 118, 7, 73, -86, -126, -62, -68, -116, -102, 31, -59, 64, 85, 0, 61, 34, -128, 79, 38, -95, 85, 29, -4, -1, -20, 13, 81, 85, -16, -13, -104, -38, -106, -73, 64, 99, -53, 127, 4, 45, -84, 13, -127, -38, 59, 100, 8, -71, 78, -78, -75, 74, -54, 105, -64, 0, 17, -82, 18, 72, -72, -9, 27, -54, 125, -18, -30, -18, 120, -100, 93, -95, -113, -61, 2, 88, 46, -118, -99, 84, 56, 95, 100, 40, 56, 24, 72, 120, -37, 91, -115, 2, -94, 64, -100, -30, -45, 52, 23, 17, -80, 32, 46, 46, -21, -55, 48, -128, 88, 121, 101, 59, -28, -33, 26, 2, -59, 51, -4, -83, -14, -99, -87, 75, -43, -41, -124, 106, 63, 16, -56, -107, -100, 19, -33, 30, 103, -88, -12, 28, -33, 58, -58, -73, -5, -71, -65, -94, -102, -63, 69, -23, -2, -4, 79, -20, 123, -61, 58, -86, 107, 11, -36, 66, 100, 126, -39, -73, -84, -24, 53, -13, -19, -44, 42, 14, 36, 118, 60, -49, -33, -53, -119, 114, -89, -1, 101, -85, -70, 14, 38, -21, -3, -84, 59, -31, 48, 105, -125, 67, 99, 16, -36, -51, -88, 80, -7, -119, 9, -98, 120, 81, -68, 89, 51, -110, -108, 46, -43, 82, -69, -67, -80, 115, -98, 124, -50, 56, 40, -37, 69, 8, 49, -87, -49, 114, 56, -74, -103, 113, 80, -72, 91, -16, 88, 114, -88, -113, 111, 18, -121, -89, -90, -38, 65, -117, -10, 3, 124, 17, 115, -35, -120, 80, -63, 58, -8, -86, -57, 13, 116, 12, -94, 77, -51, 116, -35, 31, 82, -77, -34, 51, 97, 116, -94, 109, 64, 124, -84, -56, 45, 50, 58, 119, -77, 98, -70, 76, 62, 61, 124, 93, -14, -92, -89, -28, -73, -91, 113, 103, -104, 69, -118, 24, 77, 127, -40, 126, 22, -115, 106, 83, -55, 101, -91, -80, 46, -122, -61, 103, -118, -13, 126, -81, 121, 127, 7, 6, 0, 75, 61, 83, -30, -115, 27, 74, 50, -110, 113, 19, 41, 5, -42, 46, 57, 113, -36, -112, 98, 4, -123, 18, -61, -107, -10, 11, 115, -25, 106, 59, -111, 46, 104, -22, -103, -45, 56, 80, -7, 116, -109, 55, -29, 46, -103, -34, 100, 30, 7, 32, -74, 35, -88, -43, -47, -23, 12, 120, 71, 35, 119, 10, 81, 23, 28, 53, 36, 95, -117, -77, -119, -19, 102, -16, -84, 79, 91, -18, 51, 51, 77, 104, -110, 46, -44, 58, -99, -72, -25, -1, 94, 123, -40, -5, 40, -52, 127, 59, -21, 121, -70, -6, -54, -60, 20, 71, -22, -81, -61, -29, -115, 122, -40, 111, 94, 106, -79, -58, 14, -53, -79, -89, 31, 54, 51, -105, -2, 23, -69, 5, 87, 105, 110, -82, -91, -61, -61, 67, 7, -104, 123, 72, 90, -70, -50, 62, -125, 32, -26, 4, 12, -24, -112, 121, -14, -98, 48, 102, -68, -66, -10, -101, -49, 119, 79, 87, 0, -79, -99, -20, 107, 81, 41, -93, -126, -69, 88, -36, 104, -104, 28, 121, 127, -39, -83, 125, 63, -6, 121, -17, 73, -117, 89, 4, -69, -21, 4, 124, -59, 86, -56, 76, 124, 34, 118, 124, -18, 69, -99, 82, 118, 26, -5, -80, 80, 100, 48, -70, 111, -110, -75, -69, -115, 68, 11, 73, -124, 14, 55, -90, -36, 123, 109, 104, -92, 83, 10, 92, -123, 32, -57, -88, 19, -17, 43, 47, 102, 83, 65, 56, -23, -82, -117, 81, 113, -77, 54, 113, -111, 38, -114, 92, 44, -26, -77, 75, 74, 45, -115, -53, 47, 21, -4, -27, -87, 93, 84, 126, -86, 109, 8, 1, 21, -105, -92, 58, -36, -97, 0, -123, 74, 124, -78, 39, -99, 96, -60, -5, -41, -10, -90, 80, -43, -22, 101, 17, -96, -83, 29, 39, 2, 121, -84, 26, 92, -109, -88, -2, -74, -49, -110, -116, 24, 89, 75, -114, 23, -79, -58, -128, -78, -9, -2, 116, 94, 104, 42, 54, 94, 40, 48, -81, 88, 65, 86, -114, 37, -21, 63, 36, -24, 13, 20, -113, 97, 4, 0, 26, -125, -94, -30, -29, 67, 120, 62, -66, -78, 88, 115, 89, 77, 21, 51, -96, -108, -116, 46, 99, -40, -25, 16, 53, 89, 32, -82, -107, -112, -60, 123, 83, -56, -7, 64};

        byte[] tmp4 = concatAll(tmp3,unknown_bytearray);
        if (tmp4.length != 4096-1) {
            System.out.println("length Error,current length is : "+tmp4.length+",the value of length should be "+ (4096-1-tmp3.length));
        }
        int i = 0;
        for (int j = 0; j < 4096-1; j++) {
            i += tmp4[j];
        }
        byte[] plusresult_bytearray = new byte[1];
        plusresult_bytearray[0] = (byte) i;

        byte[] tmp5 = concatAll(tmp4,plusresult_bytearray);

        byte[] vs = "java".getBytes(Charset.forName("UTF-8"));
        mT_hr(vs, 0,vs.length,tmp5, 0, tmp5.length);  // change tmp5
        System.out.println("license:" + byteArrayToHexString(tmp5));
    }
}

生成后的license替换jeb-license.txt中的值即可
测试了最新版的jeb arm demo 也是一样可用(其余未测),
最后无图无真相上一张图

再贴个license吧

C6CF3C8A5C21A2D47F56888462033C13EF8C59CC32C74A3CF4402FBF7E56A8B2E300829BEE8A08289FDC234410748018B9679303C30E171BBB64D46DDBE37551D217CFB5A3CDECFFFD1EFB2966A82E97F91FB48A9C2391A908E6A412ABF554DA3A0DB17C88088F39DCE7A4250106CA56994708C7C36EFFDC3C9491F94977900140BE27D41F91E13C6F3B72D45D4E49F4BC97753DDEF95309E050826952DF8BA13B7B16EFAFB0132D773022688CB320C47A93EA3C57B6E53778B3C273477114CB6506C932ECE27E4DD57FAA463BFB4EFB5661F3A050EC2477AF069BA8A6DBB18B944B45BF33D3AE87E85E9B49650944BA2BEEE248DF9035FBF76BCC75394364C9B843F46744EC2463D54976FCD4E75DD2CE6EAECF4BBDE0DAF50C335C08C8D1E57FC24BD78519CC759E95816010BDB9AF996DB0EE5E75BC7B06C1267CC21CDFF31689DC3F30DF50F737235B50378F5D350185776216D33DBDDA88DE6DFB01EF49AF217143AE3FA602068DBDE9CC7AA7EF859444EE75008370164BAF77DE0891AEA3D72E357624A9E91F4DCE226B0B73CB965A8A018A8C162024459FD2909F4DDD4701F4B5A1670F31350FE049C49D29F029978E1ED203CBB33EBCD83B6660058B615BD566ABE2EF65D4A3B45A219CCA70D64F5895ABA3F5F2650DD39D7EC19B63EEAD8D27CE4B9BABB83F0EA9110ECC4ECD9D5939F9BEBB22320068F6DB73F956B6401982DAA0F244A0D01FA94B9AA0199155FA2CCE786C3E90857A392EFD20FA74C2C4DC9C702F34642314C0B865E215B65393AEA4651ECAD813718728DC06CDBB6BBC30D0202C2711183575F836E3141E6E8211EDB88F5BABCCFC53003B0A8372F921918DDC1ABFFFCDE25B6E1D56C378CC2EC6BE80573EAEAE8DF8C0A1A6382B802069FAB311D710893BCB781665577ACF7A3AF6DA0C90706101B0241ADBA0958FFCA87A7369244D5C4C031C3E1FD8A40A5021F2CFD4C921A58373866A3E0F81BBAA4EA12F19AFD31A1D472A97317BD9CF5150F88EC4D9788092A753EE713E27BE4747C1678B7297D5CDEC315005F66153CF5CA7A3F9FD1ECF19E3E989C0710F6F81F2215137705F661954D24E2B04B2FEB8030B1BA0EA3E054F40D4B40190F9EEEEC2C7EABEAAEFCEBB6B8412F10E87A04659A44F14FC7D84DE6FFF02A34F211938462E6830CC028AE2CA6B27880FC669BF428555250A693BF353FA1F1800CFECDEFA76D4C5FE697B72F424F8703828EEED579547ADDE2C1A2E6637EAA713E009EE065513DD4DFE1710B5337056646688899E37912E1A00EAF523257AEF11A3CFB07AF773D94CA1407479B6F6590B582A76268D7994203A922FD28248F79B1F98E8AB5F91D5A193AFA6D309E29C0D3065B20DD6D74A4A6CD56A721ECA7AEA401A1CDCA26E812CA2077998C61E9B63D298FAB655A90ABD7C2FC0A8D077BAF99F87560E65A7F936F70E643265B9C4DCA770B2881501960142018F33D1A0AC5471EF90618F3C54A9701793E71494BCA6FAAF318D7DB2D98CE7250B09DCD8935CF885DD6CC1BC42DC73BBF78C4064AD4E4802C0E9E32466EF23B8DE143565978A890175224DB3A507857B1CB310AFBE1E3EF42B50DDD7E3F4D677CFA9E39F9B6E1650EECC2055CFF64754D0836C4102EFEB43F7662C7B9354598C63C692A96474C59C75ED97D6690137284C9EDCA50F564BEE4813F8EC8F17F4CE5F32B77AD076A671B747CA6614037E335CFE59BE8D79170229DB70962A3C136CAABCABBC226FC53BFB8AB36918B29F894D61B6B9B18F0C8F09F1361AC0E355A651058CA3B029DF139B62FBC4964EA697810CCB7093DB0E80C25DAE564E3743603A7666438D8F2D8EFCBBB76E2B4D2A66CF0B2C0439A487CC8035CB2CA830F2B9764FD94F45856126991824E5102870EAA25491CE21A8150E6608ADF6DEA6F4CA3B235B0800D9BCAAAEEB3AFF2486BF984BD6756CF4D81A1ACEE672F2A87416F5CA51B4019FA8F3DA2EA7FAD46E9E3FE7ED61C91B6F2ABD9D40BCAE89FAB47D5F1781774A280158AD7B1C259FD920949691A2BB07911D63868F6F1A1394F0E86CD940FA2154EB1FDA408F6F3DBFB95C62383394E74A30BA6140E887D6D8542687C8FEAE0876E751E0C093EB8F0B610E5C3A97FBA11DEFBF77AC7F4F037BB8DAF3EFDEE641EA2DF2FB38205E8A8F721263B259E377B098678B24BE3867ABB752CF0DF9F56D0C82E34CC341BCBB8F1614A017224D59538A9EF0A8FD10DFF45E127B8B98772F29F96E85525000DA83E337FE2DF5EEDEB18DB729CE58AF7E7AAA0985FD755DACE479A520B589362D7992FF776B28C01B723E54209171B7428E2ACACDA1BA9CA87680ECCC6E49346344FA726B9B43485236B8790774B8F6BA40DF857B46B588C43351075F3B9791C642475F652CCAAAE3C1F6D43207EC8252CD27602F4E796CBF09CA7F3337053F4AAC9730DB28A7DBC8CF758BB9EF177EAF88F2280806BC5B5597E4D33DE7B3BE3BD390853F3926890888059966CBBAE068A8CF3A0A0C7D373EFA2EF3AB18BAB01DDD1182194265CAE1E4E4E8ABC77C3A11F9F21D4F5289CF494FF7D5E886D5FF5E1F58409F3D50E4638CF2F10D9095B855698111EBC0DAEDB82CD328FA2C01FFA1A37775A7E4868919C6A438D7A710CB28CC450EA9E68352F13F6C21B982AE6353A49897D701E2D835A76E8A9EC46406DF775C2CC153F06D971FDDF70A9D40864E25CE26847D5129E513F2A4217B7B162F142570E92904A8935FA9BD57DECBCFFBABDCD03AFFD60D3C7ABEE1551CA9E7170AC187037D5D1359272A10028A2BDA50B0B5F4ED0E5D7F3DCA097935FBA947492984256379CF822FDEAD48B91D82F1DE315EE259B7B3A883FF37549217C58840B759DC3487AC5E4F46792579E52250BE2A4D89E91B8C2C396D79C12FD1DE73DA830AF67EAE3FA57520149D5F8B4AF5AACC33032A827234B698CEB2C582208EF816226DB61120ABCAEE04F165537E99BDD0DD47B28EB104041E59372BA3497DBAF8FAB66AEE0E23D16E58858E104D01E081F45CB10FC96F3A59097884017178D7077F0EFFF0B920AD5C896AD48184C9B32DFA8DE6F2C79718E6DC3A7FE877929EE80CD47A4160BD277308402E70EE50EFFA1BD09A563BB49F96C2272C72B32CBFA870407A7BD40FA601AE12F629CBF34054EA23A00D968228EB14CD88339EA314DA8715A43241D795EB5A066DF1A6C93EB2F37FB47C12CD12A1016510ACD23940F37A79F86F0A6D5790B75E9EAF65936D818CB1C606FC03A2828DC2972B1A55E62EDD9CCB7E8B61A5A00B6035D0932A3A6D9BA9EDEC0B75BFAA2D426E74E4E3EE97DC00E93BEE6A71D87B1EAFD91471B9207CA23D9AAE37B94BFE8F1CA5F5A0CB5D3F9596C495AC2EDC7D7E52DF3FBDD260EEAF7408F9A27E92F7FC8DB3BBF82CF6B49EEADE5FE67A84AB78E189463AFFA56EC7F7219B1CF5A63E654012C5C33CBD155678D71D58018717E72D0DBBC5858D589799DB165B32EAE708583E9E7B5F97F6FDD30B8E20598918F0CBF50C3942892241A7798C12DE8E513C5859E377BD16543E216331F34F0449A351535DBF3842515CE0CEC9C142B9BB3569797C388459EEEFA555B4F3D714A9DD06DEAAE0DDC2E78D6A4A5FAAB77ACB1FB423EA68C6A9B5B747E3C49418660BD9FA4021C0F9D64D938E0A9608555436FC13553B0DFD59E810E4410D944A7A57977E272EFFA07773534186D44319314B51C784726C61197372AF2E349D6747371330CBB18E0C8803662E8F4BE17F3A3AFCCD6ABEF22F8D2B281C95F220B827E9DA5A7EDF9854C00A98BC2074F877E41043A6934B73C783A4196B8A259685149F3B7FE017E5EB54E8A589EFDB78BD580F85FECFEE39E14AA19E9379A1A9D2F90C2010F1B68C27D9E0767BDCB91FE2FE1578A0CB30DAF2F2DC19CA1B9A195133FE91B46DF557685F56EC65A77DCEB7AD2868FF745ACC04CC0B2C85300184A61D18E0FDA6E42DC194E6366EA609B4B63F0BFEE343D2E7804F7E4A1B5F387F050A4C5123CD03D150E261D1089FDB62B333FC7CAFB683AB68F9836859281D9454AA9E99F9170C6BFB72323B0C99B84F02D591DA80B7974BE07971C433F120353E42B01DC34151CE60A0AA7238CB301EBE40B7EFDFE2BA22DA483DED6B6AD36D12A90E0FE7DE2CBB3AB90CDDB8797BE627E38ACFC3A076AFFE7AB99C69A96F6900685C4040D951A68D3B484196AE5481E950661D0C643D49F2F73CE8FCC9DC1AB59F22E0E4613C61DBB112D8B332B14391CFCCF04FDD5E483B43E3D0653170F08D54407D65EA6474A000019982CA1EEB1F5BD168C71F0DF92DE273FE6755A6997806CFA7CC9122205A89B4DF089864BD397FCC290AED62545F36155338588ED85A602FD9FC4A68F7F81CC017150DAB783B636622AB9D47B776E3B8590D0E5BC0CDBB6A3FAD4565D62BF509CDA322D499BB6F04B2518395744FE747D5380CC731F443B80F58296C8756D71B99F58A720A77813FE5BBE711FEAB2A791336B25262B9C4903FAF257B4F25B7855E4D4B5329E3DEA0F0F9366459C5FC4D0A1A5A59F9B2B7D90FA5A6E5B9FB83E7340125E36C36F2E49ADFC496E4E01A51CA10CA1A0F1ACF9A7EA82B4C86DCF1F191C509B7DEF5880DCCB42DBF79A6CEB869A7F537F62471320E543E3D450D19580721336DCAF3D52431E4C7C783EBFE4B1007749A5B3923B12A551751EAA8009A4B902318D0BCB84111F5F9DFA41EAF05CDC483BEBB942CA9E8F7CBB994BF4F88BFE939D24E77F6277316AB4DE5830A85EAB31DB0066EAEC5B73F4759DEC1E5CE70D25CD437F56405EAD20E8B02615DAC6E082712C7C74DB0824E0B32710EA95F15D503415BE4B2D011F8FDD484679B751E3B62EE417E7E3EC1709A0592043CBF7188C6D02C7140326BC37B12EFBA571CDEE06E8183FD0BADFE52FD0BB5074E7A476111A4247C7E3399573BC0EF3BB63F054BE34A6319CA46782E56A0AEE2FF5C10B0010AC3861DC8E2E3694BF33D27EA17A3D131D9CAE5237AB29BB60DB1F611E39496A0908B1368BABEF19285BF5E4254A31EB0840B66A7BC1E54C2C1DF9F3C392E3C17F495A3835D465163AEF520FB71981E626E266FB6D9A9A298093ACF17242AEB255FCFA2B28BC05B2511E417347D9BC623470EDFCC6BFFBB992B147A72C68F29E6B5A9D654B1CDF6CB2A17352BCB4DA192A3089D9461EAB489F27C0C8F621BF7E46C3F54595BDE3E92F7EA154D4D175136B7590A862D08C491B7AFB54B548D8DD568247A3DEB9915E9709B91589216CFDF76876575D6F9637B72F92AB41B7EA050540794B1C0A6D9388D2F0B968FC791D18BBA9E756EC4D7C0D6C88F15679371D87702996D7413415111A4AD63DEF38A19E8DFC9F2144AF0A79FD991EBCB9C0489E92E36217E774DDAF2B71F3512D8164995D4D1091F2C706A7632B05BEA84074B8069EB68E02962D5C512618C80D8B67C5724444287D2C7173F071A0A49472C4FDA9329E8B4030ED382C9F82DA49EC4B3D8143F7540E18910D49282A6DDEA5D5B9047143B5614D014A8DF3E71B811958C77C945ABC5800F88889F9BB76D0FB5C29C4E5E559CACA0425BE2613CB6AA57CCC19BC1C872E4F41A8A10047C99428825155EC1DAAD425CA2EFFD2567E16484FFC3F77EC11682DDE33DF329C1CFA0B3E7F8CA8558D88E8033F1D4FDBA781B450F83D79E3CF6DF7CE69DA5FB99C4B33A9BBF0B4A4D94DB955A03D45B959C09037A37FBC13ACD6BE3E4049B04F1AF54845028BCB5C297B6263B8C078DADF68BAAD3C0B0072C

食用方法:
下载新版demo,找到 bin/app/jeb-license.txt 文件,替换Validation: 后面的字符串后再打开


[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

最后于 2018-11-23 13:26 被kimoh编辑 ,原因:
收藏
点赞5
打赏
分享
打赏 + 1.00雪花
打赏次数 1 雪花 + 1.00
 
赞赏  junkboy   +1.00 2018/11/23
最新回复 (16)
雪    币: 11716
活跃值: (133)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
junkboy 2018-11-23 11:44
2
1
辛苦
雪    币: 7
活跃值: (223)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
bluth 2018-11-23 14:16
3
1
66666666666666
最后于 2018-11-23 14:17 被bluth编辑 ,原因:
雪    币: 7855
活跃值: (954)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
点中你的心 2018-11-24 08:10
4
0
发帖辛苦了,感谢分享
雪    币: 223
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
chinanala 2018-11-25 16:06
5
0
测试在macOS10.14.1,JDK1.8,JEB3.0-BETA6,可用。感谢楼主!
雪    币: 2649
活跃值: (1541)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
hhhaiai 2018-11-26 17:52
6
0
666
雪    币: 145
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
TinHsieh 2018-11-29 17:06
7
0
666
雪    币: 1
活跃值: (693)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
saliey 2018-11-30 10:10
8
0
有检查更新。更新完后就打不开了。
雪    币: 623
活跃值: (86)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
kimoh 2018-11-30 11:46
9
0

更新后需要重新替换 Validation,已测试最新版
jeb-demo-android-3.0-beta.7.201811291959-JEBDecompilerDemo-121820464987384338.zip ,依旧有效的

雪    币: 623
活跃值: (86)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
kimoh 2018-11-30 11:47
10
0
saliey 有检查更新。更新完后就打不开了。
更新后需要重新替换 Validation,已测试最新版 ,依旧有效的  http://jebbuilds2.s3.amazonaws.com/jebdemoandroid/jeb-demo-android-3.0-beta.7.201811291959-JEBDecompilerDemo-121820464987384338.zip
雪    币: 177
活跃值: (73)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
siotb 2018-11-30 17:07
11
0
替换后打不开了。。。 mac 10.12.5  java 1.8
雪    币: 1
活跃值: (693)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
saliey 2018-11-30 18:25
12
0
siotb 替换后打不开了。。。 mac 10.12.5 java 1.8
能过掉更新吗,要是每次都回去更新的话,同一个 Validation 早晚无效。能保持当前版本不被更新就好了
雪    币: 1
活跃值: (693)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
saliey 2018-11-30 18:25
13
0
kimoh 更新后需要重新替换 Validation,已测试最新版 [jeb-demo-android-3.0-beta.7.201811291959-JEBDecompilerDemo-121820464 ...
能过掉更新吗,要是每次都回去更新的话,同一个 Validation 早晚无效。能保持当前版本不被更新就好了 
雪    币: 1013
活跃值: (1397)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
aihacker 2019-2-21 20:07
14
0
JEB demo版本如何解除禁止啊:
This software is a limited demonstration build of JEB.

Limitations of the demo version include:
- Decompilation is limited to a subset of code
- Saving or loading projects is disabled
- Usage of the clipboard is disallowed
- Android only: Merging support for multi-Dex APKs is disabled
- Running time of a session is limited
- Requires the Internet connection
- Usage of third-party back-end plugins is disabled
- Usage of third-party clients is disabled
雪    币: 6369
活跃值: (1308)
能力值: ( LV4,RANK:156 )
在线值:
发帖
回帖
粉丝
月落之汀 1 2019-2-21 21:13
15
0
aihacker JEB demo版本如何解除禁止啊: This software is a limited demonstration build of JEB. Limitations of the dem ...
试用版本来就不包含所有功能,解除了也没用,800一个月,买了破解再嫖呗
雪    币: 34
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xinyangs 2019-6-3 13:27
16
0
楼主的m_bytearrary 和unknown_bytearray是怎么来的啊
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
梯度下降 2021-8-6 10:20
17
0
游客
登录 | 注册 方可回帖
返回