像这种自定义虚拟机的代码,能还原出来吗
将原始 Lua 代码编译为自定义的字节码(或通过工具转换为特定指令集)。
对字节码进行压缩(如 LZ77)和编码(如 Base36),得到字符串 a。
a
运行时通过自实现的虚拟机(即此段代码)解码、解压缩字节码,并逐条解释执行指令,还原原始逻辑。
[培训]Windows内核深度攻防:从Hook技术到Rootkit实战!
fanfall 模拟运行吧 纯逆我估计人得死
mb_aicyioze 可以运行,但是我想改里边的代码呢,现在这样子改不了
微启宇 理论上来说你可以把编译的lua二进制反编译成lua汇编然后改lua汇编,之后再编译回去。
mudebug 非高价值劝你放弃,需要对lua非常了解才能解决问题, 需要了解目标程序准确使用了哪个lua版本 挂钩lua_loadbuffer 提取出lua字节码 然后下载目标lua版本,逆向出目标程 ...
mb_aicyioze 大佬,就是比如我 运行1.lua, 1.lua里边加载了2.lua 2.lua 里边又加载了3.lua, 怎么能用在1.lua里写一个HOOK,能把后边加载的lua里边的运行内容打印出来吗,比如说 ...
mudebug 可以的。lua自带钩子,sethook 做一个回调可以实现单步 call 钩子之类,但是前提依然是你非常了解lua执行,因为需要操作lua堆栈