提供任意指令编码指定方式
Closed this issue · 1 comments
RigoLigoRLC commented
手头有一个被修改了指令编码、luac文件格式、opcode的5.3 luac样本,目前已经改出来了能反汇编的luadec,如下是修改过的指令编码:
/*
** size and position of opcode arguments.
*/
#define SIZE_C 8
#define SIZE_B 8
#define SIZE_Bx (SIZE_C + SIZE_B)
#define SIZE_A 8
#define SIZE_Ax (SIZE_C + SIZE_B + SIZE_A)
#define SIZE_OP 8
#define POS_OP 24
#define POS_A 0
#define POS_C 16
#define POS_B 8
#define POS_Bx 8
#define POS_Ax POS_A
大致就是opcode C B A各占从高到低一字节。目前这个parser还不能给反编译器传递修改过指令编码的bytecode信息。可能需要添加一下这样的接口。
RigoLigoRLC commented
仔细了解示例代码发现其实所谓的通过parser支持修改的opcode是一种类似二进制翻译的方案,所以我通过修改instruction u32并对对应指令二进制翻译获得了成功,目前发现此反编译服务给的timeout不够用,另开issue讨论