制作JDebugTool的授权文件制作机

前一段时间听说JDebugTool调试器不错,所以当下来试一试,结果提示过期了,同时要求访问网站进行购买,

当然不能花钱了,所以 Decompile this 。很快就发现,使用了混乱器,那么就要判断是由什么混乱器处理的,最后发现类文件中会包含 ZKM 字符串,所以推断使用了 Zelix Klass Master混乱器。同时反编译主文件,发现其中的字符串经过加密了,所以我的首要目的就是获取原字符串。

Zelix Klass Master 的字符串加密方式:

1、将当前类中的所有字符串生成一个字符串数组(静态),同时添加静态初始化快,对于每个字符串的加密方式如下 按照字符串索引生成动态的密钥(单个字符),进行异或代码如下

char chs [] = s.toCharArray();

char ch = 0;

for(int i =0;i<chs.length;i++)

{

switch(i%5)

{

case 0:

  ch = 0x32; // 随机的

.......

case 4:

......

default:

  ........

}

chs[i] ^= ch;

}

String newString = new String(chs);

发现主类调用了 com.debug.jdebugtool.a.qv

通过反编译发现这个是 JDebugTool 的主界面,

同时解密 字符串 发现过期提示 也包含在 该类中

所以搜索调用该字符串的位置,进行逆向分析

发现 private final int g(String serial) private final int a(String) 进行了关键的运算

同时类中也包含

int i1 = g(w);

int j1 = a(w);

if( i1 != j1)

{

// 显示出错信息

}

同时分析第一个 g()方法 其代码如下:

    private final int getKey1(String s) // 为了便于理解,我把它命名为 getKey1(); 由于它与a(w)进行比较所以只要研究 a的方法 同时 把getKey1()的返回制作为参数进行逆向操作即可
    {
        int i = 0;
        int j = 12345;
        int l = 123;
        int i1 = s.length();
        for(int j1 = 0; j1 < i1; j1++)
        {
            char c = s.charAt(j1);
            int k1 = (j1 + 2) % 4;
            int l1 = c << k1 * 8;
            l += (j1 + 3) * c;
            i ^= l1;
            j += c;
        }

        i ^= j;
        i ^= j << 16;
        i ^= l;
        i ^= l << 16;
        i ^= 0xa52d9c37;
        return i;
    }

如下就是 a 的代码 我命名为 String getKey2(int key1)


    private final String getKey2(int i) // 这段代码我经过理解之后,重新翻译成如下代码
    {
   String tmp = Integer.toHexString(i); // 获取key1 的十六进制字符串
        StringBuffer sb1 = new StringBuffer(tmp);
   StringBuffer sb2 = sb1.reverse(); // 倒序
   tmp = sb2.toString();
   sb1 = null;
  return tmp;
    }

同时 JDebugTool 还要求 用户的注册信息中包含 如下两个字符串内容

    private static String type = "Academic";
    private static String flag = "Purchase";

同时要求 user.home/jdebugtool/ 目录下要有 jdebugtool.lic 文件

现在我为大家提供一个内容:

jdebugtool.lic的内容如下 字符串结尾不可以包含回车

AAAAAAAAAAAAAAAAAvhly[FR] has cracked this Tools PurchaseAcademic17ee037b

对于程序对话框中的License Info显示为

vhly[FR] has cracked this Tools Purchase

 

Gen by vhly[FR] At 2006/03/15

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值