lua 反汇编工具 ChunkSpy 的使用


一、介绍

ChunkSpy 就是一个lua文件,通过它可以把二进制的lua文件转换为Opcode,这是一个学习lua源码的很好的工具。

二、使用

chunkspy需要在lua命令行中使用。

基本格式

usage: lua ChunkSpy.lua [options] [filenames]

具体参数

1、帮助

命令:>lua ChunkSpy.lua -h

输出:

options:
  -h, --help        prints usage information
  --stats           prints some statistical information
  --brief           generate assembly-style brief listing
  --auto            auto detects binary chunk profile
  -o         specify file name to write output listing
  --source   generate listing from a Lua source file
  - -rewrite "plat"  generate binary chunk using given profile;
                    use "local" for local binary chunk format
  --run             convert to local format, load and execute
  --test            perform internal tests only
  --sample          generate sample listing only
  --interact        *interactive mode*, output brief listings
  --                stop handling arguments


2、反汇编二进制文件

命令:>lua chunkspy.lua luac.out

其中luac.out是由luac编译得到的二进制文件

3、输出lua文件的opcode

命令:>lua chunkspy.lua --source myscript.lua

myscript.lua是lua文件路径

4、把二进制文件进行反汇编,并把结果输出到目标文件里

命令:>lua ChunkSpy.lua luac.out -o myscript.lst

luac.out 是二进制文件

myscript.lst 是目标文件

5、留下主要opcode相关信息

命令:>lua chunkspy.lua --source myscript.lua --brief

在命令行中加入参数--brief

6、生成二进制文件

命令:>luac myscript.lua

生成的二进制会存在luac.out中

7、进入交换模式

命令:>lua chunkspy.lua --interact



你可能感兴趣的:(lua)