-
-
[求助]求教lua反编译之后如何编译回原来的加密
-
发表于: 2016-10-18 20:22 6658
-
这是因为梦幻西游手游版修改了lua虚拟机中的opcode(字节码)
lua5.1.4 梦幻西游
OP_MOVE 0 25
OP_LOADK 1 19
OP_LOADBOOL 2 9
OP_LOADNIL 3 0
OP_GETUPVAL 4 22
OP_GETGLOBAL 5 28
OP_GETTABLE 6 20
OP_SETGLOBAL 7 26
OP_SETUPVAL 8 30
OP_SETTABLE 9 15
OP_NEWTABLE 10 5
OP_SELF 11 27
OP_ADD 12 33
OP_SUB 13 1
OP_MUL 14 29
OP_DIV 15 11
OP_MOD 16 13
OP_POW 17 23
OP_UNM 18 2
OP_NOT 19 31
OP_LEN 20 6
OP_CONCAT 21 34
OP_JMP 22 35
OP_EQ 23 36
OP_LT 24 17
OP_LE 25 7
OP_TEST 26 16
OP_TESTSET 27 4
OP_CALL 28 21
OP_TAILCALL 29 18
OP_RETURN 30 12
OP_FORLOOP 31 14
OP_FORPREP 32 10
OP_TFORLOOP 33 24
OP_SETLIST 34 8
OP_CLOSE 35 32
OP_CLOSURE 36 3
OP_VARARG 37 37
这是lua原本的opcode 对应梦幻手游的opcode顺序
我按照这个顺序反编译出来了源代码
但是卡在了用这个顺序编译回去
然后我按照opcode对照表修改了lua源代码的lopcodes.h、lopcodes.c、以及lvm.c里面的顺序。然后编译luac.exe 然后用luac.exe对lua脚本源码进行编译。发现编译之后的跟反编译之前的不一样。这是什么原因。请指导一下谢谢。
或者谁可以按照这个opcode顺序编译好的LUAC.exe吗。谢谢
lua5.1.4 梦幻西游
OP_MOVE 0 25
OP_LOADK 1 19
OP_LOADBOOL 2 9
OP_LOADNIL 3 0
OP_GETUPVAL 4 22
OP_GETGLOBAL 5 28
OP_GETTABLE 6 20
OP_SETGLOBAL 7 26
OP_SETUPVAL 8 30
OP_SETTABLE 9 15
OP_NEWTABLE 10 5
OP_SELF 11 27
OP_ADD 12 33
OP_SUB 13 1
OP_MUL 14 29
OP_DIV 15 11
OP_MOD 16 13
OP_POW 17 23
OP_UNM 18 2
OP_NOT 19 31
OP_LEN 20 6
OP_CONCAT 21 34
OP_JMP 22 35
OP_EQ 23 36
OP_LT 24 17
OP_LE 25 7
OP_TEST 26 16
OP_TESTSET 27 4
OP_CALL 28 21
OP_TAILCALL 29 18
OP_RETURN 30 12
OP_FORLOOP 31 14
OP_FORPREP 32 10
OP_TFORLOOP 33 24
OP_SETLIST 34 8
OP_CLOSE 35 32
OP_CLOSURE 36 3
OP_VARARG 37 37
这是lua原本的opcode 对应梦幻手游的opcode顺序
我按照这个顺序反编译出来了源代码
但是卡在了用这个顺序编译回去
然后我按照opcode对照表修改了lua源代码的lopcodes.h、lopcodes.c、以及lvm.c里面的顺序。然后编译luac.exe 然后用luac.exe对lua脚本源码进行编译。发现编译之后的跟反编译之前的不一样。这是什么原因。请指导一下谢谢。
或者谁可以按照这个opcode顺序编译好的LUAC.exe吗。谢谢
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
看原图
赞赏
雪币:
留言: