On Jun 30, 4:36 pm, VirusCamp <virusc...@gmail.com> wrote:
> 先发个编译好的版本
>
> 文件名改zip, google管的太宽,连zip里有exe都不让
>
> luadec.zipname
> 209KViewDownload
On 6月30日, 下午4时36分, VirusCamp <virusc...@gmail.com> wrote:
> 先发个编译好的版本
>
> 文件名改zip, google管的太宽,连zip里有exe都不让
>
> luadec.zipname
> 209K查看下载
楼主可以再发次源码吗?
2011/6/30 VirusCamp <viru...@gmail.com>:
> 先发个编译好的版本
>
> 文件名改zip, google管的太宽,连zip里有exe都不让
luadec
基于 luadec.luaforge.net 和 luadec51.luaforge.net
改进:
1.完整table支持,NEWTABLE, SETLIST, SETTABLE
2.改进的各种循环结构支持(循环结构算法彻底改变)
3.解决部分core dump
4.改进的disassemble显示
5.直接读取lua源文件
6.提供参数用于反编译部分文件,跳过可能导致core dump的部分
用法如下:
luadec abc.luac
直接对源文件用,内部会编译后再反编译:
luadec abc.lua
生成汇编代码
luadec -dis abc.lua
显示代码结构
luadec -pn test.lua
0
1
1_1
2
然后可以反编译一部分(函数 1 包含 1_1)
luadec -nf 1 test.lua
或者反编译一部分不包括下级函数(函数 1 不包含 1_1)
luadec -dn -nf 1 test.lua
已知bug:
1. "local a,b = ..., ..." 应该是 "local a,b=..."
2. "local ,a" 应该是 "local a"
3. if..else 有时会生成 "do return end" , 应该是 "else", 后续语句应该调整到else里
4. 对复杂的逻辑表达式处理不好,会产生错误的结果
5. 对一个lua文件内函数总数限制为 255 ,每个函数 local 变量限制为 255(51标准虚拟机为200左右),超过会导致
core dump
core dump 时请用反编译部分函数的方法跳过。