首页
论坛
课程
招聘
[原创]一个反编译LUA的东西
2007-11-6 17:52 16397

[原创]一个反编译LUA的东西

2007-11-6 17:52
16397
最近学习C++ Build,为了练习,写了个这个东西。
针对的版本应该是最新的5.12,对于其他5.XX或许支持,但不保证。对于4.XX,肯定是不支持。
由于只是练习,
所以:
1.可以提出错误和改进意见,但我很可能会不提供更新
2.只支持标准的LUA编译器产生的代码,对于改过的不支持,以后也不准备提供更新
3.由于用到了LUA编译产生的一些调试信息,如果LUA有选项可以不编译这些调试信息的话,可能会对反编译结果产生很大的影响
4.如果反编译导致程序崩溃的话,可以试试去掉“跳转分析”,或许可以不出错,但是反出来的可能会很难看明白。
5.还是对于跳转,即使跳转分析没出异常,也不保证结果是正确的,尤其是多个条件复合的判断。
6.尽量不要转载,如果你实在想转载,那我拿你也没办法。
7.第一个C++程序,所以源码就不献丑了。

看雪招聘平台创建简历并且简历完整度达到90%及以上可获得500看雪币~

上传的附件:
收藏
点赞0
打赏
分享
最新回复 (14)
雪    币: 1962
活跃值: 活跃值 (753)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
wofan[OCN] 活跃值 21 2007-11-6 17:58
2
0
著名的反编译工具还有很多,没有源码的东东没有什么下载价值。不过还是支持楼主的工作。
雪    币: 70
活跃值: 活跃值 (47)
能力值: ( LV15,RANK:930 )
在线值:
发帖
回帖
粉丝
dummy 活跃值 23 2007-11-6 19:31
3
0
好东西,收藏
雪    币: 1037
活跃值: 活跃值 (9886)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
kanxue 活跃值 8 2007-11-6 19:36
4
0
感谢分享,收藏,以后会用的上
雪    币: 70
活跃值: 活跃值 (47)
能力值: ( LV15,RANK:930 )
在线值:
发帖
回帖
粉丝
dummy 活跃值 23 2007-11-6 19:40
5
0
CC3280MT.dll 没有找到
雪    币: 227
活跃值: 活跃值 (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
hying 活跃值 2007-11-7 10:48
6
0
这个应该不需要CC3280MT.dll了。还是对于编译选项不熟悉啊。
上传的附件:
雪    币: 226
活跃值: 活跃值 (11)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
heXer 活跃值 3 2007-11-7 18:03
7
0
强人一出手,就知有没有
雪    币: 1201
活跃值: 活跃值 (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
ljtt 活跃值 1 2007-11-8 21:32
8
0
如果有心想完善这个工具的话,我倒可以提供相对全面一点的测试样例。
写LUA反编译的难点在于不需要调试信息的情况下解决由于编译优化引起的反编译问题。
有调试信息下的反编译工具有个叫luadec。好象是提供源码的。
雪    币: 246
活跃值: 活跃值 (11)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
Isaiah 活跃值 10 2007-11-8 22:15
9
0
LUA..貌似很多都是带着源码.编译过能举个例子吗?
雪    币: 219
活跃值: 活跃值 (59)
能力值: ( LV13,RANK:530 )
在线值:
发帖
回帖
粉丝
foxabu 活跃值 13 2007-11-9 02:51
10
0
XX西游
雪    币: 227
活跃值: 活跃值 (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
hying 活跃值 2007-11-9 10:39
11
0
大话是LUA 4.0的,改了命令的编码,去掉了调试信息,对一些字符串进行了混淆。
一年前看过一段时间。
水浒Q传好象是5.0的,没有更深入得去看,不过据说是网易出去的人做的,或许应该和大话差不多。
LUA5的调试信息分3部分,我用了其中的关于局部变量的那一部分。这部分信息如果根据代码结构分析的话,或许可以分析出一部分,在LUA4的时候做过类似的工作,效果还可以,但是2个版本的指令结构几乎完全不一样,所以现在还不能保证,得做了再说。
雪    币: 246
活跃值: 活跃值 (11)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
Isaiah 活跃值 10 2007-11-9 13:47
12
0
学习了。怪不得网易的外挂不多
雪    币: 70
活跃值: 活跃值 (47)
能力值: ( LV15,RANK:930 )
在线值:
发帖
回帖
粉丝
dummy 活跃值 23 2007-11-11 12:49
13
0
5.0 之前好像是 stack 虚拟机,5.0 之后是 reg 虚拟机
差别应该很大吧

不懂的说。
雪    币: 227
活跃值: 活跃值 (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
hying 活跃值 2007-11-12 20:17
14
0
5.0和4.0差别确实很大,
分析临时变量的方法肯定也不一样。4.0用的在5.0里面已经不适用了。
但是根据5.0的代码结构应该还是能找出一些来的,但是不肯定,因为我还没写。
雪    币: 206
活跃值: 活跃值 (27)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
云重 活跃值 1 2007-12-3 22:11
15
0
ljtt 是反编译 LUA方面的专家了
游客
登录 | 注册 方可回帖
返回