首页
社区
课程
招聘
[求助]burpsuite_pro_v1.6 loader逆向后重写遇到的问题
发表于: 2016-2-12 22:01 11295

[求助]burpsuite_pro_v1.6 loader逆向后重写遇到的问题

2016-2-12 22:01
11295
偶尔发现burpsuite所有loader版本都是larry_lau大侠的杰作,很想知道破解原理,于是找了一个研究了一下.1.6以上的版本重写后执行窗口一闪而过,很奇怪。
    BurpLoader_new.jar中的class文件我已经打了很多补丁,排除掉了反调试代码和一些和破解无关的代码。我认为重写的代码完全实现了原loader的功能,只是搞不懂为什么不能正常运行。研究过程中用到了eclipse的Bytecode Visualizer插件,可以用来调试java字节码。我用了辅助python脚本,其中用到的key=[113,101,11,8,33]可以在BurpLoader.class反汇编的字节码中抠出来。例如:
        128 bipush 113;
        130 goto 20;
        133 bipush 101;
        135 goto 15;
        138 bipush 11;
        140 goto 10;
        143 bipush 8;
        145 goto 5;
        148 bipush 33;
        150 ixor;

python脚本举例:
def decrypt(s):       
                s=s.decode('unicode-escape')
                key=[113,101,11,8,33]
                p=''
                for i in range(len(s)):
                        p+=chr(ord(s[i])^key[i%5])
                return p               

s=[r"\u001b\u0001|x",r"\u0015\u0000i}F",r"\u0007\u0000yjN\u0002\u0000",r"\u0010\u0002nfU\u001d\u000ci",r"\u0010\u0002nfU\u0001\u0004`",r"\u001b\u0004}i@\u0016\u0000e|"]
print map(decrypt,s)
输出:
'''
['jdwp', 'debug', 'verbose', 'agentlib', 'agentpath', 'javaagent']
'''
    调试混淆的java字节码确实很难。
    附件是我逆向burpsuite_pro_v1.6的loader后重写的java文件,BurpLoader_new.jar里面的class文件已经打过补丁,方便调试。Burpsuite Pro 1.6破解版太大不方便上传,感兴趣的可以从网上下载,我研究的版本是burpsuite_pro_v1.6.jar 9.24 MB (9,690,856 字节)。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 59
活跃值: (1481)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
天意大牛又显身了。。。帮顶
2016-2-12 22:25
0
雪    币: 546
活跃值: (1632)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
3
我之前也看过这个,后来放弃了,调试太麻烦,帮顶。
2016-2-12 22:34
0
雪    币: 115
活跃值: (23)
能力值: (RANK:20 )
在线值:
发帖
回帖
粉丝
4
天意,对于游戏逆向,能不能给个专题!
2016-2-13 15:37
0
雪    币: 2015
活跃值: (902)
能力值: ( LV12,RANK:1000 )
在线值:
发帖
回帖
粉丝
5
你在我面前卖弄是什么意思?larry.lau有你想得那么坏吗?
2016-2-13 17:33
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
是不是卖弄,真明白人会知。

int ret = JOptionPane.showOptionDialog(null, "This program can not be used for commercial purposes!", "BurpLoader by larry_lau@163.com", 0, 2, null, new String[] { "I Accept", "I Decline" }, null);

这段代码就不要放在Loader里了。larry的loader有类似功能,但没在这里。在那8行里。(1.5.01的Loader除外。估计你是直接参考1.5.01的Loader,目前来看,1.5.01的Loader相对最干净?) 在那8行长字符串中,他可以在里面加任意代码,不管是无害的还是恶意的。想一想,200多K的字符串(BurpLoader 1.7.03),可以加多少马儿啊。。

后面的代码要剥去if (ret == 0)这一层,因为本身就没有int ret的定义。

包括最新的1.7.03的Loader,都这样,好几天前我已经拿到了,而且,早已经反编译了(.java文件编译运行跟Larry的功能完全一致)。只是,那8行还是只能用Larry的。

1.7.03吐司上有。。
2016-5-13 13:18
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我也就花了2个晚上搞出来了。
2016-5-17 15:28
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
Loader的代码我已经反编译出来了。不保证一个字节不差。但保证最终用户看到的一字不差。
2016-5-19 19:46
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
只是。发现larry.lau没有声称的那么纯洁。代码里有东西。现在还不能证明是否是恶意的而已(加的东西是否有危害不知)。
2016-5-19 19:47
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
他加的东西在我们认为是补丁的那8行里。strData里。
2016-5-19 19:50
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
而且,看出楼主人品也就那样。。技术估计跟人品差不多。
可以说的是,你牛掰怎么没见你去DEFCON CTF露个面啊。
2016-5-20 14:32
0
雪    币: 220
活跃值: (721)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
2个LOVE牛,都是一家人,没必要斗气
2016-5-20 14:57
0
雪    币: 150
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
算了,我不吭声了。。。
2016-5-20 14:57
0
游客
登录 | 注册 方可回帖
返回
//