用Javassis分析jeb.jar
发表于:
2014-7-30 17:45
22931
关于jeb.jar,不知上下文而又对本文感兴趣的兄弟,参看:
http://bbs.pediy.com/showthread.php?t=189980
jeb.jar的逆向工作其实已经阶段性中止了。有人提出能不能补上"Save As"功能,我
是业余时间看看,如果它的功能代码本来就存在的话,等我有时间就来补上,如果不
存在,以我的功力就不要指望太多了。
我最初是Eclipse、BTrace、JD-GUI、Source Insight相结合着把jeb.jar剁了,向诸
君推荐BTrace时抱怨过一句:
BTrace还是不够狠,不能修改参数和返回值,只能查看,可以调用public method,可
以直接修改public member,但仍受private的限制。如果这些都能解决该多好。
针对我这个抱怨,有人向我推荐了Javassist。怀着将信将疑的态度研究了一下Javassis。
Javassist和BTrace的侧重不同,仔细测试前者之后感觉前者与后者可以互补。前者在
修改class方面足够强大,但在动态注入方面颇为鸡肋,它的HotSwapper实现远不如
BTrace实用,几乎是个演示性玩具。假设目标进程已经以jdwp方式启动,而Javassist
进程事后通过HotSwapper类Attach上去,reload()时会在reload2()中抛出
"failed to reload"异常。如果二者是合兵一处的,就可以reload()。
如果不考虑动态注入,Javassis确实是个NB工具,不是一般NB,是相当NB。不过要想
爽它,建议还是把它自带教程完整读一遍,然后挨个实测。碰上各个类、方法时,更
应该看在线帮助:
http://www.csg.ci.i.u-tokyo.ac.jp/~chiba/javassist/html/javassist/
阅读其源码倒不是特别必要。不知为何大量介绍文章在演示最无聊的writeFile,个
人经验是,只要同时搜到Javassis和writeFile,这篇文章就不值得看,跳过。
扯远了,回到正题,用Javassis分析jeb.jar。我这次演示用Javassist如何修改
jebglobal.rP.dN(byte[] paramArrayOfByte,int paramInt1,int paramInt2)。这个
函数在解码被编码过的敏感字符串,比如"License key error.",你直接在反编译结
果中找不到这个明文字符串,它被编码后存放了。显然那些被编码过的敏感字符串就是
最好的路标,拦截rP.dN(),将它们找出来,再结合行号信息,就比较容易理清整个流
程。推荐作法是写BTrace脚本,自动跟踪rP.dN(),将执行路径上的敏感字符串都解码
还原出来,事实上我就是这样破解jeb.jar的。但我这不是被人忽悠到Javassist上去
了么,于是我就用Javassist重现了BTrace脚本的工作。
用Javassis重新实现了rP.dN(),根据需要,先输出调用栈回溯,再输出解码结果:
--------------------------------------------------------------------------
/*
* javac -g -cp "javassist.jar;jeb.xxx.jar" crack_jeb_o.java
* java -cp "javassist.jar;jeb.xxx.jar;." crack_jeb_o > crack_jeb_o.txt
*
* jeb.xxx.jar就是将jeb.jar中META-INF/下的JEBKEY.*删掉,再编辑一下
* MANIFEST.MF得到。否则java.lang.ClassLoader会在安全检查时抛出异常。
* javassist.Loader的安全检查要弱很多,可是它有别的缺陷导致不能用于此处。
* 最后用jeb.xxx.jar而不是jeb.orig.jar,纯属无奈之举。
*
* 仅为Java逆向之Javassist演示代码,非最终Loader。
*/
import javassist.*;
import jeb.Launcher;
class crack_jeb_o
{
public static void main ( String[] argv ) throws Throwable
{
/*
* 调试过程中可以在该目录下获取被修改过的class。这条代码本身也是调
* 试目的,可以注释掉。
*/
CtClass.debugDump = "./debugDump/";
ClassPool pool = ClassPool.getDefault();
pool.importPackage( "jebglobal.rP" );
CtClass old_class = pool.get( "jebglobal.rP" );
old_class.detach();
/*
* 由于jeb.jar混淆得厉害,只能用这种精确方式获取method,否则只需要
* 用名字即可定位method。
*/
CtMethod old_method = old_class.getDeclaredMethod
(
"dN",
new CtClass[]
{
pool.get( byte[].class.getName() ),
pool.get( int.class.getName() ),
pool.get( int.class.getName() )
}
);
old_class.removeMethod( old_method );
/*
* 跟BTrace比,Javassist在干这类事时简直就是渣。被迫实现Helper.class,
* Javasssist内置编译器不支持String.format()这种变长形参函数。
*
* 没有用Thread.currentThread().dumpStack(),因为它向stderr输出,不
* 利于分离输出,此外它的显示破坏了我的洁癖。最后用的是
* Helper.GetStackTrace()。
*/
CtMethod new_method = CtNewMethod.make
(
"public static String dN ( byte[] paramArrayOfByte, int paramInt1, int paramInt2 )" +
"{" +
" String result;" +
"" +
" System.out.println( Helper.GetStackTrace() );" +
" result = new rP(paramArrayOfByte, paramInt1, paramInt2).dN();" +
" System.out.println( Helper.hexdump( result.getBytes(), 0, result.getBytes().length, 16 ) );" +
" return( result );" +
"}",
old_class
);
old_class.addMethod( new_method );
old_class.toClass();
/*
* ( new Loader( pool ) ).run( "jeb.Launcher", argv );
*
* 这里不能用javassist.Loader,它的实现有缺陷,会导致在
* jebglobal.eI.<clinit>(SourceFile:158)
* 抛出异常
* throw new RuntimeException("Could not determine the program directory")
*
* 被迫使用java.lang.ClassLoader
*/
Launcher.main( argv );
}
}
--------------------------------------------------------------------------
/*
* javac -g Helper.java
*/
public class Helper
{
public static String hexdump
(
byte[] buf,
int off,
int len,
int count
)
{
String ret = "";
int offset, k, j, i, m;
if ( len <= 0 || count <= 0 || null == buf )
{
return( ret );
}
ret += String.format( "[%d bytes] -> %d bytes per line\n", len, count );
i = 0;
offset = 0;
m = ( count + 1 ) / 2;
for ( k = len / count; k > 0; k--, offset += count )
{
ret += String.format( "%08X ", offset );
for ( j = 0; j < count; j++, i++ )
{
if ( m == j )
{
ret += String.format( "-%02X", buf[off+i] );
}
else
{
ret += String.format( " %02X", buf[off+i] );
}
}
ret += String.format( " " );
i -= count;
for ( j = 0; j < count; j++, i++ )
{
if ( ( buf[off+i] >= ' ' ) && ( buf[off+i] < 0x7F ) )
{
ret += String.format( "%c", buf[off+i] );
}
else
{
ret += String.format( "." );
}
}
ret += String.format( "\n" );
}
k = len - i;
if ( k <= 0 )
{
return( ret );
}
ret += String.format( "%08X ", offset );
for ( j = 0 ; j < k; j++, i++ )
{
if ( m == j )
{
ret += String.format( "-%02X", buf[off+i] );
}
else
{
ret += String.format( " %02X", buf[off+i] );
}
}
i -= k;
for ( j = count - k; j > 0; j-- )
{
ret += String.format( " " );
}
ret += String.format( " " );
for ( j = 0; j < k; j++, i++ )
{
if ( ( buf[off+i] >= ' ' ) && ( buf[off+i] < 0x7F ) )
{
ret += String.format( "%c", buf[off+i] );
}
else
{
ret += String.format( "." );
}
}
return( ret );
} /* end of hexdump */
public static String GetStackTrace ()
{
int i, j;
String ret = "[";
StackTraceElement[] frame = new Throwable().getStackTrace();
if ( null != frame )
{
j = frame.length - 1;
for( i = 1; i < j; i++ )
{
ret += String.format( "\n%s", frame[i] );
}
}
return( ret + "\n]" );
} /* end of GetStackTrace */
}
--------------------------------------------------------------------------
不考虑CtClass.debugDump,crack_jeb_o.java实际就是个Loader,不会静态修改
jeb.xxx.jar。
$ java -cp "javassist.jar;jeb.xxx.jar;." crack_jeb_o > crack_jeb_o.txt
弹出对话框提示输入key时随便输个123456啥的,我们的目的是找出执行过程中会有哪
些敏感字符串出现。展示一下crack_jeb_o.txt:
--------------------------------------------------------------------------
[
jebglobal.rP.dN(SourceFile)
jebglobal.eI.<clinit>(SourceFile:125)
jeb.Launcher.main(SourceFile:159)
]
[8 bytes] -> 16 bytes per line
00000000 75 73 65 72 2E 64 69 72 user.dir
[
jebglobal.rP.dN(SourceFile)
jebglobal.lS.dN(SourceFile:58)
jebglobal.eI.<clinit>(SourceFile:148)
jeb.Launcher.main(SourceFile:159)
]
[15 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 6C 61 6E-67 2E 43 6C 61 73 73 java.lang.Class
[
jebglobal.rP.dN(SourceFile)
jebglobal.lS.dN(SourceFile:58)
jebglobal.eI.<clinit>(SourceFile:148)
jeb.Launcher.main(SourceFile:159)
]
[19 bytes] -> 16 bytes per line
00000000 67 65 74 50 72 6F 74 65-63 74 69 6F 6E 44 6F 6D getProtectionDom
00000010 61 69 6E ain
[
jebglobal.rP.dN(SourceFile)
jebglobal.lS.dN(SourceFile:59)
jebglobal.eI.<clinit>(SourceFile:148)
jeb.Launcher.main(SourceFile:159)
]
[30 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 73 65 63-75 72 69 74 79 2E 50 72 java.security.Pr
00000010 6F 74 65 63 74 69 6F 6E-44 6F 6D 61 69 6E otectionDomain
[
jebglobal.rP.dN(SourceFile)
jebglobal.lS.dN(SourceFile:59)
jebglobal.eI.<clinit>(SourceFile:148)
jeb.Launcher.main(SourceFile:159)
]
[13 bytes] -> 16 bytes per line
00000000 67 65 74 43 6F 64 65 53-6F 75 72 63 65 getCodeSource
[
jebglobal.rP.dN(SourceFile)
jebglobal.lS.dN(SourceFile:60)
jebglobal.eI.<clinit>(SourceFile:148)
jeb.Launcher.main(SourceFile:159)
]
[24 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 73 65 63-75 72 69 74 79 2E 43 6F java.security.Co
00000010 64 65 53 6F 75 72 63 65 deSource
[
jebglobal.rP.dN(SourceFile)
jebglobal.lS.dN(SourceFile:60)
jebglobal.eI.<clinit>(SourceFile:148)
jeb.Launcher.main(SourceFile:159)
]
[11 bytes] -> 16 bytes per line
00000000 67 65 74 4C 6F 63 61 74-69 6F 6E getLocation
[
jebglobal.rP.dN(SourceFile)
jebglobal.lS.dN(SourceFile:61)
jebglobal.eI.<clinit>(SourceFile:148)
jeb.Launcher.main(SourceFile:159)
]
[12 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 6E 65 74-2E 55 52 4C java.net.URL
[
jebglobal.rP.dN(SourceFile)
jebglobal.lS.dN(SourceFile:61)
jebglobal.eI.<clinit>(SourceFile:148)
jeb.Launcher.main(SourceFile:159)
]
[5 bytes] -> 16 bytes per line
00000000 74 6F 55 52 49 toURI
[
jebglobal.rP.dN(SourceFile)
jebglobal.lS.dN(SourceFile:62)
jebglobal.eI.<clinit>(SourceFile:148)
jeb.Launcher.main(SourceFile:159)
]
[12 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 69 6F 2E-46 69 6C 65 java.io.File
[
jebglobal.rP.dN(SourceFile)
jebglobal.lS.dN(SourceFile:62)
jebglobal.eI.<clinit>(SourceFile:148)
jeb.Launcher.main(SourceFile:159)
]
[12 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 6E 65 74-2E 55 52 49 java.net.URI
[
jebglobal.rP.dN(SourceFile)
jebglobal.lS.dN(SourceFile:74)
jebglobal.lS.dN(SourceFile:63)
jebglobal.eI.<clinit>(SourceFile:148)
jeb.Launcher.main(SourceFile:159)
]
[21 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 75 74 69-6C 2E 6A 61 72 2E 4A 61 java.util.jar.Ja
00000010 72 46 69 6C 65 rFile
[
jebglobal.rP.dN(SourceFile)
jebglobal.lS.dN(SourceFile:74)
jebglobal.lS.dN(SourceFile:63)
jebglobal.eI.<clinit>(SourceFile:148)
jeb.Launcher.main(SourceFile:159)
]
[12 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 69 6F 2E-46 69 6C 65 java.io.File
[
jebglobal.rP.dN(SourceFile)
jebglobal.lS.dN(SourceFile:79)
jebglobal.lS.dN(SourceFile:63)
jebglobal.eI.<clinit>(SourceFile:148)
jeb.Launcher.main(SourceFile:159)
]
[21 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 75 74 69-6C 2E 6A 61 72 2E 4A 61 java.util.jar.Ja
00000010 72 46 69 6C 65 rFile
[
jebglobal.rP.dN(SourceFile)
jebglobal.lS.dN(SourceFile:79)
jebglobal.lS.dN(SourceFile:63)
jebglobal.eI.<clinit>(SourceFile:148)
jeb.Launcher.main(SourceFile:159)
]
[8 bytes] -> 16 bytes per line
00000000 67 65 74 45 6E 74 72 79 getEntry
[
jebglobal.rP.dN(SourceFile)
jebglobal.lS.dN(SourceFile:81)
jebglobal.lS.dN(SourceFile:63)
jebglobal.eI.<clinit>(SourceFile:148)
jeb.Launcher.main(SourceFile:159)
]
[21 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 75 74 69-6C 2E 6A 61 72 2E 4A 61 java.util.jar.Ja
00000010 72 46 69 6C 65 rFile
[
jebglobal.rP.dN(SourceFile)
jebglobal.lS.dN(SourceFile:81)
jebglobal.lS.dN(SourceFile:63)
jebglobal.eI.<clinit>(SourceFile:148)
jeb.Launcher.main(SourceFile:159)
]
[14 bytes] -> 16 bytes per line
00000000 67 65 74 49 6E 70 75 74-53 74 72 65 61 6D getInputStream
[
jebglobal.rP.dN(SourceFile)
jebglobal.lS.dN(SourceFile:81)
jebglobal.lS.dN(SourceFile:63)
jebglobal.eI.<clinit>(SourceFile:148)
jeb.Launcher.main(SourceFile:159)
]
[22 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 75 74 69-6C 2E 7A 69 70 2E 5A 69 java.util.zip.Zi
00000010 70 45 6E 74 72 79 pEntry
[
jebglobal.rP.dN(SourceFile)
jebglobal.lS.dN(SourceFile:83)
jebglobal.lS.dN(SourceFile:63)
jebglobal.eI.<clinit>(SourceFile:148)
jeb.Launcher.main(SourceFile:159)
]
[19 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 69 6F 2E-49 6E 70 75 74 53 74 72 java.io.InputStr
00000010 65 61 6D eam
[
jebglobal.rP.dN(SourceFile)
jebglobal.lS.dN(SourceFile:83)
jebglobal.lS.dN(SourceFile:63)
jebglobal.eI.<clinit>(SourceFile:148)
jeb.Launcher.main(SourceFile:159)
]
[4 bytes] -> 16 bytes per line
00000000 72 65 61 64 read
[
jebglobal.rP.dN(SourceFile)
jebglobal.lS.dN(SourceFile:86)
jebglobal.lS.dN(SourceFile:63)
jebglobal.eI.<clinit>(SourceFile:148)
jeb.Launcher.main(SourceFile:159)
]
[22 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 75 74 69-6C 2E 6A 61 72 2E 4A 61 java.util.jar.Ja
00000010 72 45 6E 74 72 79 rEntry
[
jebglobal.rP.dN(SourceFile)
jebglobal.lS.dN(SourceFile:86)
jebglobal.lS.dN(SourceFile:63)
jebglobal.eI.<clinit>(SourceFile:148)
jeb.Launcher.main(SourceFile:159)
]
[15 bytes] -> 16 bytes per line
00000000 67 65 74 43 65 72 74 69-66 69 63 61 74 65 73 getCertificates
[
jebglobal.rP.dN(SourceFile)
jebglobal.lS.dN(SourceFile:87)
jebglobal.lS.dN(SourceFile:63)
jebglobal.eI.<clinit>(SourceFile:148)
jeb.Launcher.main(SourceFile:159)
]
[30 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 73 65 63-75 72 69 74 79 2E 63 65 java.security.ce
00000010 72 74 2E 43 65 72 74 69-66 69 63 61 74 65 rt.Certificate
[
jebglobal.rP.dN(SourceFile)
jebglobal.lS.dN(SourceFile:87)
jebglobal.lS.dN(SourceFile:63)
jebglobal.eI.<clinit>(SourceFile:148)
jeb.Launcher.main(SourceFile:159)
]
[12 bytes] -> 16 bytes per line
00000000 67 65 74 50 75 62 6C 69-63 4B 65 79 getPublicKey
[
jebglobal.rP.dN(SourceFile)
jebglobal.Vr.ld(SourceFile:55)
jebglobal.Vr.<clinit>(SourceFile:35)
jebglobal.eI.<clinit>(SourceFile:167)
jeb.Launcher.main(SourceFile:159)
]
[7 bytes] -> 16 bytes per line
00000000 6F 73 2E 6E 61 6D 65 os.name
[
jebglobal.rP.dN(SourceFile)
jebglobal.Vr.ld(SourceFile:57)
jebglobal.Vr.<clinit>(SourceFile:35)
jebglobal.eI.<clinit>(SourceFile:167)
jeb.Launcher.main(SourceFile:159)
]
[7 bytes] -> 16 bytes per line
00000000 57 69 6E 64 6F 77 73 Windows
[
jebglobal.rP.dN(SourceFile)
jebglobal.Vr.QE(SourceFile:104)
jebglobal.Vr.ld(SourceFile:58)
jebglobal.Vr.<clinit>(SourceFile:35)
jebglobal.eI.<clinit>(SourceFile:167)
jeb.Launcher.main(SourceFile:159)
]
[26 bytes] -> 16 bytes per line
00000000 77 6D 69 63 20 62 69 6F-73 20 67 65 74 20 73 65 wmic bios get se
00000010 72 69 61 6C 6E 75 6D 62-65 72 rialnumber
[
jebglobal.rP.dN(SourceFile)
jebglobal.Vr.QE(SourceFile:125)
jebglobal.Vr.ld(SourceFile:58)
jebglobal.Vr.<clinit>(SourceFile:35)
jebglobal.eI.<clinit>(SourceFile:167)
jeb.Launcher.main(SourceFile:159)
]
[12 bytes] -> 16 bytes per line
00000000 53 65 72 69 61 6C 4E 75-6D 62 65 72 SerialNumber
[
jebglobal.rP.dN(SourceFile)
jebglobal.Vr.ld(SourceFile:81)
jebglobal.Vr.<clinit>(SourceFile:35)
jebglobal.eI.<clinit>(SourceFile:167)
jeb.Launcher.main(SourceFile:159)
]
[3 bytes] -> 16 bytes per line
00000000 4D 44 35 MD5
[
jebglobal.rP.dN(SourceFile)
jebglobal.eI.<clinit>(SourceFile:170)
jeb.Launcher.main(SourceFile:159)
]
[11 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 76 65 6E-64 6F 72 java.vendor
[
jebglobal.rP.dN(SourceFile)
jebglobal.eI.<clinit>(SourceFile:171)
jeb.Launcher.main(SourceFile:159)
]
[12 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 76 65 72-73 69 6F 6E java.version
[
jebglobal.rP.dN(SourceFile)
jebglobal.eI.<clinit>(SourceFile:172)
jeb.Launcher.main(SourceFile:159)
]
[7 bytes] -> 16 bytes per line
00000000 6F 73 2E 6E 61 6D 65 os.name
[
jebglobal.rP.dN(SourceFile)
jebglobal.eI.<clinit>(SourceFile:173)
jeb.Launcher.main(SourceFile:159)
]
[7 bytes] -> 16 bytes per line
00000000 6F 73 2E 61 72 63 68 os.arch
[
jebglobal.rP.dN(SourceFile)
jebglobal.eI.<clinit>(SourceFile:174)
jeb.Launcher.main(SourceFile:159)
]
[10 bytes] -> 16 bytes per line
00000000 6F 73 2E 76 65 72 73 69-6F 6E os.version
[
jebglobal.rP.dN(SourceFile)
jebglobal.eI.<clinit>(SourceFile:175)
jeb.Launcher.main(SourceFile:159)
]
[9 bytes] -> 16 bytes per line
00000000 75 73 65 72 2E 6E 61 6D-65 user.name
[
jebglobal.rP.dN(SourceFile)
jebglobal.eI.<clinit>(SourceFile:547)
jeb.Launcher.main(SourceFile:159)
]
[10 bytes] -> 16 bytes per line
00000000 75 70 64 61 74 65 2E 7A-69 70 update.zip
[
jebglobal.rP.dN(SourceFile)
jebglobal.eI.<clinit>(SourceFile:548)
jeb.Launcher.main(SourceFile:159)
]
[10 bytes] -> 16 bytes per line
00000000 75 70 64 61 74 65 2E 70-77 64 update.pwd
[
jebglobal.rP.dN(SourceFile)
jebglobal.BT.<clinit>(SourceFile:7)
jebglobal.WV.<clinit>(SourceFile:9)
jebglobal.TM.ld(SourceFile:116)
jebglobal.eI.<init>(SourceFile:193)
jebglobal.yW.<init>(SourceFile:128)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[309 bytes] -> 16 bytes per line
00000000 31 31 35 30 37 39 37 30-37 39 31 39 31 35 37 36 1150797079191576
00000010 35 35 37 39 34 30 30 34-32 37 31 33 33 37 37 38 5579400427133778
00000020 35 30 31 34 30 38 35 34-31 36 35 32 34 38 39 33 5014085416524893
00000030 35 31 30 35 33 36 38 39-36 31 39 38 38 38 30 37 5105368961988807
00000040 34 39 31 30 34 36 37 36-31 37 30 34 30 31 31 35 4910467617040115
00000050 31 35 36 39 32 38 34 31-31 39 32 37 32 36 38 30 1569284119272680
00000060 35 35 35 33 32 38 34 34-32 30 37 37 35 35 32 36 5553284420775526
00000070 37 36 36 31 37 39 35 39-32 38 30 33 39 30 32 37 7661795928039027
00000080 38 32 39 34 37 32 31 37-37 39 32 37 35 33 31 34 8294721779275314
00000090 32 35 39 32 38 35 34 36-30 38 37 30 37 35 39 30 2592854608707590
000000A0 39 32 36 34 30 31 38 31-34 39 38 37 37 36 36 37 9264018149877667
000000B0 31 31 33 31 34 31 30 39-31 35 33 39 33 33 39 32 1131410915393392
000000C0 31 33 38 35 35 34 37 36-34 38 33 30 33 31 38 35 1385547648303185
000000D0 32 32 37 32 38 34 30 35-38 34 32 38 34 36 39 34 2272840584284694
000000E0 30 33 33 36 39 31 38 39-32 39 35 31 30 30 37 39 0336918929510079
000000F0 31 35 35 35 33 31 38 37-37 30 36 30 35 33 31 34 1555318770605314
00000100 36 39 36 39 39 35 39 31-37 30 30 34 35 37 38 32 6969959170045782
00000110 30 32 39 37 36 34 35 33-35 35 32 34 31 33 37 32 0297645355241372
00000120 39 35 34 33 34 34 36 39-34 38 38 39 35 31 33 38 9543446948895138
00000130 36 34 37 38 33 64783
[
jebglobal.rP.dN(SourceFile)
jebglobal.BT.<clinit>(SourceFile:8)
jebglobal.WV.<clinit>(SourceFile:9)
jebglobal.TM.ld(SourceFile:116)
jebglobal.eI.<init>(SourceFile:193)
jebglobal.yW.<init>(SourceFile:128)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[5 bytes] -> 16 bytes per line
00000000 36 35 35 33 37 65537
[
jebglobal.rP.dN(SourceFile)
jebglobal.Vm.<init>(SourceFile:23)
jebglobal.eI.<init>(SourceFile:194)
jebglobal.yW.<init>(SourceFile:128)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[6 bytes] -> 16 bytes per line
00000000 4A 45 42 20 25 73 JEB %s
[
jebglobal.rP.dN(SourceFile)
jebglobal.DU.<clinit>(SourceFile:27)
jebglobal.eI.<init>(SourceFile:197)
jebglobal.yW.<init>(SourceFile:128)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[309 bytes] -> 16 bytes per line
00000000 31 31 35 30 37 39 37 30-37 39 31 39 31 35 37 36 1150797079191576
00000010 35 35 37 39 34 30 30 34-32 37 31 33 33 37 37 38 5579400427133778
00000020 35 30 31 34 30 38 35 34-31 36 35 32 34 38 39 33 5014085416524893
00000030 35 31 30 35 33 36 38 39-36 31 39 38 38 38 30 37 5105368961988807
00000040 34 39 31 30 34 36 37 36-31 37 30 34 30 31 31 35 4910467617040115
00000050 31 35 36 39 32 38 34 31-31 39 32 37 32 36 38 30 1569284119272680
00000060 35 35 35 33 32 38 34 34-32 30 37 37 35 35 32 36 5553284420775526
00000070 37 36 36 31 37 39 35 39-32 38 30 33 39 30 32 37 7661795928039027
00000080 38 32 39 34 37 32 31 37-37 39 32 37 35 33 31 34 8294721779275314
00000090 32 35 39 32 38 35 34 36-30 38 37 30 37 35 39 30 2592854608707590
000000A0 39 32 36 34 30 31 38 31-34 39 38 37 37 36 36 37 9264018149877667
000000B0 31 31 33 31 34 31 30 39-31 35 33 39 33 33 39 32 1131410915393392
000000C0 31 33 38 35 35 34 37 36-34 38 33 30 33 31 38 35 1385547648303185
000000D0 32 32 37 32 38 34 30 35-38 34 32 38 34 36 39 34 2272840584284694
000000E0 30 33 33 36 39 31 38 39-32 39 35 31 30 30 37 39 0336918929510079
000000F0 31 35 35 35 33 31 38 37-37 30 36 30 35 33 31 34 1555318770605314
00000100 36 39 36 39 39 35 39 31-37 30 30 34 35 37 38 32 6969959170045782
00000110 30 32 39 37 36 34 35 33-35 35 32 34 31 33 37 32 0297645355241372
00000120 39 35 34 33 34 34 36 39-34 38 38 39 35 31 33 38 9543446948895138
00000130 36 34 37 38 33 64783
[
jebglobal.rP.dN(SourceFile)
jebglobal.DU.<clinit>(SourceFile:28)
jebglobal.eI.<init>(SourceFile:197)
jebglobal.yW.<init>(SourceFile:128)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[5 bytes] -> 16 bytes per line
00000000 36 35 35 33 37 65537
[
jebglobal.rP.dN(SourceFile)
jebglobal.uK.QE(SourceFile:92)
jebglobal.eI.PF(SourceFile:282)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[4 bytes] -> 16 bytes per line
00000000 64 65 6D 6F demo
[
jebglobal.rP.dN(SourceFile)
jebglobal.PX.dN(SourceFile:197)
jebglobal.PX.fa(SourceFile:186)
jebglobal.PX.dN(SourceFile:96)
jebglobal.oQ.dN(SourceFile:28)
jebglobal.eI.rn(SourceFile:447)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[15 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 6C 61 6E-67 2E 43 6C 61 73 73 java.lang.Class
[
jebglobal.rP.dN(SourceFile)
jebglobal.PX.dN(SourceFile:197)
jebglobal.PX.fa(SourceFile:186)
jebglobal.PX.dN(SourceFile:96)
jebglobal.oQ.dN(SourceFile:28)
jebglobal.eI.rn(SourceFile:447)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[19 bytes] -> 16 bytes per line
00000000 67 65 74 50 72 6F 74 65-63 74 69 6F 6E 44 6F 6D getProtectionDom
00000010 61 69 6E ain
[
jebglobal.rP.dN(SourceFile)
jebglobal.PX.dN(SourceFile:198)
jebglobal.PX.fa(SourceFile:186)
jebglobal.PX.dN(SourceFile:96)
jebglobal.oQ.dN(SourceFile:28)
jebglobal.eI.rn(SourceFile:447)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[30 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 73 65 63-75 72 69 74 79 2E 50 72 java.security.Pr
00000010 6F 74 65 63 74 69 6F 6E-44 6F 6D 61 69 6E otectionDomain
[
jebglobal.rP.dN(SourceFile)
jebglobal.PX.dN(SourceFile:198)
jebglobal.PX.fa(SourceFile:186)
jebglobal.PX.dN(SourceFile:96)
jebglobal.oQ.dN(SourceFile:28)
jebglobal.eI.rn(SourceFile:447)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[13 bytes] -> 16 bytes per line
00000000 67 65 74 43 6F 64 65 53-6F 75 72 63 65 getCodeSource
[
jebglobal.rP.dN(SourceFile)
jebglobal.PX.dN(SourceFile:199)
jebglobal.PX.fa(SourceFile:186)
jebglobal.PX.dN(SourceFile:96)
jebglobal.oQ.dN(SourceFile:28)
jebglobal.eI.rn(SourceFile:447)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[24 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 73 65 63-75 72 69 74 79 2E 43 6F java.security.Co
00000010 64 65 53 6F 75 72 63 65 deSource
[
jebglobal.rP.dN(SourceFile)
jebglobal.PX.dN(SourceFile:199)
jebglobal.PX.fa(SourceFile:186)
jebglobal.PX.dN(SourceFile:96)
jebglobal.oQ.dN(SourceFile:28)
jebglobal.eI.rn(SourceFile:447)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[11 bytes] -> 16 bytes per line
00000000 67 65 74 4C 6F 63 61 74-69 6F 6E getLocation
[
jebglobal.rP.dN(SourceFile)
jebglobal.PX.dN(SourceFile:200)
jebglobal.PX.fa(SourceFile:186)
jebglobal.PX.dN(SourceFile:96)
jebglobal.oQ.dN(SourceFile:28)
jebglobal.eI.rn(SourceFile:447)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[12 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 6E 65 74-2E 55 52 4C java.net.URL
[
jebglobal.rP.dN(SourceFile)
jebglobal.PX.dN(SourceFile:200)
jebglobal.PX.fa(SourceFile:186)
jebglobal.PX.dN(SourceFile:96)
jebglobal.oQ.dN(SourceFile:28)
jebglobal.eI.rn(SourceFile:447)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[5 bytes] -> 16 bytes per line
00000000 74 6F 55 52 49 toURI
[
jebglobal.rP.dN(SourceFile)
jebglobal.PX.dN(SourceFile:201)
jebglobal.PX.fa(SourceFile:186)
jebglobal.PX.dN(SourceFile:96)
jebglobal.oQ.dN(SourceFile:28)
jebglobal.eI.rn(SourceFile:447)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[12 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 69 6F 2E-46 69 6C 65 java.io.File
[
jebglobal.rP.dN(SourceFile)
jebglobal.PX.dN(SourceFile:201)
jebglobal.PX.fa(SourceFile:186)
jebglobal.PX.dN(SourceFile:96)
jebglobal.oQ.dN(SourceFile:28)
jebglobal.eI.rn(SourceFile:447)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[12 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 6E 65 74-2E 55 52 49 java.net.URI
[
jebglobal.rP.dN(SourceFile)
jebglobal.PX.dN(SourceFile:213)
jebglobal.PX.dN(SourceFile:202)
jebglobal.PX.fa(SourceFile:186)
jebglobal.PX.dN(SourceFile:96)
jebglobal.oQ.dN(SourceFile:28)
jebglobal.eI.rn(SourceFile:447)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[21 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 75 74 69-6C 2E 6A 61 72 2E 4A 61 java.util.jar.Ja
00000010 72 46 69 6C 65 rFile
[
jebglobal.rP.dN(SourceFile)
jebglobal.PX.dN(SourceFile:213)
jebglobal.PX.dN(SourceFile:202)
jebglobal.PX.fa(SourceFile:186)
jebglobal.PX.dN(SourceFile:96)
jebglobal.oQ.dN(SourceFile:28)
jebglobal.eI.rn(SourceFile:447)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[12 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 69 6F 2E-46 69 6C 65 java.io.File
[
jebglobal.rP.dN(SourceFile)
jebglobal.PX.dN(SourceFile:219)
jebglobal.PX.dN(SourceFile:202)
jebglobal.PX.fa(SourceFile:186)
jebglobal.PX.dN(SourceFile:96)
jebglobal.oQ.dN(SourceFile:28)
jebglobal.eI.rn(SourceFile:447)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[21 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 75 74 69-6C 2E 6A 61 72 2E 4A 61 java.util.jar.Ja
00000010 72 46 69 6C 65 rFile
[
jebglobal.rP.dN(SourceFile)
jebglobal.PX.dN(SourceFile:219)
jebglobal.PX.dN(SourceFile:202)
jebglobal.PX.fa(SourceFile:186)
jebglobal.PX.dN(SourceFile:96)
jebglobal.oQ.dN(SourceFile:28)
jebglobal.eI.rn(SourceFile:447)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[8 bytes] -> 16 bytes per line
00000000 67 65 74 45 6E 74 72 79 getEntry
[
jebglobal.rP.dN(SourceFile)
jebglobal.PX.dN(SourceFile:221)
jebglobal.PX.dN(SourceFile:202)
jebglobal.PX.fa(SourceFile:186)
jebglobal.PX.dN(SourceFile:96)
jebglobal.oQ.dN(SourceFile:28)
jebglobal.eI.rn(SourceFile:447)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[21 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 75 74 69-6C 2E 6A 61 72 2E 4A 61 java.util.jar.Ja
00000010 72 46 69 6C 65 rFile
[
jebglobal.rP.dN(SourceFile)
jebglobal.PX.dN(SourceFile:221)
jebglobal.PX.dN(SourceFile:202)
jebglobal.PX.fa(SourceFile:186)
jebglobal.PX.dN(SourceFile:96)
jebglobal.oQ.dN(SourceFile:28)
jebglobal.eI.rn(SourceFile:447)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[14 bytes] -> 16 bytes per line
00000000 67 65 74 49 6E 70 75 74-53 74 72 65 61 6D getInputStream
[
jebglobal.rP.dN(SourceFile)
jebglobal.PX.dN(SourceFile:221)
jebglobal.PX.dN(SourceFile:202)
jebglobal.PX.fa(SourceFile:186)
jebglobal.PX.dN(SourceFile:96)
jebglobal.oQ.dN(SourceFile:28)
jebglobal.eI.rn(SourceFile:447)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[22 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 75 74 69-6C 2E 7A 69 70 2E 5A 69 java.util.zip.Zi
00000010 70 45 6E 74 72 79 pEntry
[
jebglobal.rP.dN(SourceFile)
jebglobal.PX.dN(SourceFile:223)
jebglobal.PX.dN(SourceFile:202)
jebglobal.PX.fa(SourceFile:186)
jebglobal.PX.dN(SourceFile:96)
jebglobal.oQ.dN(SourceFile:28)
jebglobal.eI.rn(SourceFile:447)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[19 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 69 6F 2E-49 6E 70 75 74 53 74 72 java.io.InputStr
00000010 65 61 6D eam
[
jebglobal.rP.dN(SourceFile)
jebglobal.PX.dN(SourceFile:223)
jebglobal.PX.dN(SourceFile:202)
jebglobal.PX.fa(SourceFile:186)
jebglobal.PX.dN(SourceFile:96)
jebglobal.oQ.dN(SourceFile:28)
jebglobal.eI.rn(SourceFile:447)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[4 bytes] -> 16 bytes per line
00000000 72 65 61 64 read
[
jebglobal.rP.dN(SourceFile)
jebglobal.PX.dN(SourceFile:226)
jebglobal.PX.dN(SourceFile:202)
jebglobal.PX.fa(SourceFile:186)
jebglobal.PX.dN(SourceFile:96)
jebglobal.oQ.dN(SourceFile:28)
jebglobal.eI.rn(SourceFile:447)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[22 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 75 74 69-6C 2E 6A 61 72 2E 4A 61 java.util.jar.Ja
00000010 72 45 6E 74 72 79 rEntry
[
jebglobal.rP.dN(SourceFile)
jebglobal.PX.dN(SourceFile:226)
jebglobal.PX.dN(SourceFile:202)
jebglobal.PX.fa(SourceFile:186)
jebglobal.PX.dN(SourceFile:96)
jebglobal.oQ.dN(SourceFile:28)
jebglobal.eI.rn(SourceFile:447)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[15 bytes] -> 16 bytes per line
00000000 67 65 74 43 65 72 74 69-66 69 63 61 74 65 73 getCertificates
[
jebglobal.rP.dN(SourceFile)
jebglobal.PX.dN(SourceFile:227)
jebglobal.PX.dN(SourceFile:202)
jebglobal.PX.fa(SourceFile:186)
jebglobal.PX.dN(SourceFile:96)
jebglobal.oQ.dN(SourceFile:28)
jebglobal.eI.rn(SourceFile:447)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[30 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 73 65 63-75 72 69 74 79 2E 63 65 java.security.ce
00000010 72 74 2E 43 65 72 74 69-66 69 63 61 74 65 rt.Certificate
[
jebglobal.rP.dN(SourceFile)
jebglobal.PX.dN(SourceFile:227)
jebglobal.PX.dN(SourceFile:202)
jebglobal.PX.fa(SourceFile:186)
jebglobal.PX.dN(SourceFile:96)
jebglobal.oQ.dN(SourceFile:28)
jebglobal.eI.rn(SourceFile:447)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[12 bytes] -> 16 bytes per line
00000000 67 65 74 50 75 62 6C 69-63 4B 65 79 getPublicKey
[
jebglobal.rP.dN(SourceFile)
jebglobal.Qq.dN(SourceFile:51)
jebglobal.fL.ld(SourceFile:55)
jebglobal.Qq.dN(SourceFile:38)
jebglobal.yW.QE(SourceFile:433)
jebglobal.eI.rn(SourceFile:448)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[179 bytes] -> 16 bytes per line
00000000 0A 48 65 6C 6C 6F 20 25-73 2E 20 59 6F 75 20 6E .Hello %s. You n
00000010 65 65 64 20 61 20 6C 69-63 65 6E 73 65 20 6B 65 eed a license ke
00000020 79 20 74 6F 20 75 73 65-20 4A 45 42 2E 20 54 68 y to use JEB. Th
00000030 69 73 20 6F 6E 65 2D 74-69 6D 65 20 6F 70 65 72 is one-time oper
00000040 61 74 69 6F 6E 20 77 69-6C 6C 20 6F 6E 6C 79 20 ation will only
00000050 74 61 6B 65 20 61 20 66-65 77 20 73 65 63 6F 6E take a few secon
00000060 64 73 2E 0A 0A 50 6C 65-61 73 65 20 76 69 73 69 ds...Please visi
00000070 74 20 25 73 2C 20 61 6E-64 20 75 73 65 20 74 68 t %s, and use th
00000080 65 20 66 6F 6C 6C 6F 77-69 6E 67 20 22 6C 69 63 e following "lic
00000090 65 6E 73 65 20 64 61 74-61 22 20 62 6C 6F 62 20 ense data" blob
000000A0 74 6F 20 67 65 6E 65 72-61 74 65 20 61 20 6B 65 to generate a ke
000000B0 79 2E 0A y..
[
jebglobal.rP.dN(SourceFile)
jebglobal.Qq.dN(SourceFile:63)
jebglobal.fL.ld(SourceFile:55)
jebglobal.Qq.dN(SourceFile:38)
jebglobal.yW.QE(SourceFile:433)
jebglobal.eI.rn(SourceFile:448)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[15 bytes] -> 16 bytes per line
00000000 4F 70 65 6E 20 69 6E 20-62 72 6F 77 73 65 72 Open in browser
[
jebglobal.rP.dN(SourceFile)
jebglobal.Qq.dN(SourceFile:72)
jebglobal.fL.ld(SourceFile:55)
jebglobal.Qq.dN(SourceFile:38)
jebglobal.yW.QE(SourceFile:433)
jebglobal.eI.rn(SourceFile:448)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[15 bytes] -> 16 bytes per line
00000000 0A 4C 69 63 65 6E 73 65-20 64 61 74 61 3A 20 .License data:
[
jebglobal.rP.dN(SourceFile)
jebglobal.Qq.dN(SourceFile:95)
jebglobal.fL.ld(SourceFile:55)
jebglobal.Qq.dN(SourceFile:38)
jebglobal.yW.QE(SourceFile:433)
jebglobal.eI.rn(SourceFile:448)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[13 bytes] -> 16 bytes per line
00000000 4C 69 63 65 6E 73 65 20-6B 65 79 3A 20 License key:
[
jebglobal.rP.dN(SourceFile)
jebglobal.eI.rn(SourceFile:451)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[18 bytes] -> 16 bytes per line
00000000 4C 69 63 65 6E 73 65 20-6B 65 79 20 65 72 72 6F License key erro
00000010 72 2E r.
[
jebglobal.rP.dN(SourceFile)
jebglobal.eI.Ee(SourceFile:540)
jebglobal.eI.rn(SourceFile:452)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[16 bytes] -> 16 bytes per line
00000000 6A 61 76 61 2E 6C 61 6E-67 2E 53 79 73 74 65 6D java.lang.System
[
jebglobal.rP.dN(SourceFile)
jebglobal.eI.Ee(SourceFile:540)
jebglobal.eI.rn(SourceFile:452)
jebglobal.eI.PF(SourceFile:359)
jebglobal.yW.rn(SourceFile:296)
jebglobal.yW.dN(SourceFile:86)
jeb.Launcher.main(SourceFile:159)
]
[4 bytes] -> 16 bytes per line
00000000 65 78 69 74 exit
--------------------------------------------------------------------------
看到啥了,"wmic bios get serialnumber"都出来了,还有啥看不到。RSA公钥(n和e)
也被编码,是怕别人替换公钥吗?最后的exit也被编码了,越是编码越是需要剁。怎么
剁?调用栈回溯都给你了,行号信息是jeb.jar自带的,爽不爽?说!快说爽死了。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!