在收集LUA资料进行学习时,其中有个叫LuaDec的,能把LUA编译出来的代码解回去(逆回脚本内容),官方网站是: http://luadec.luaforge.net/ 它最后支持LUA5.0版本的代码,不过LUA也是开源的,个人可修改源码,这很难应对所有版本。 LuaDec的示例,只是用luaL_loadfile把脚本文件载入,然后就进行解码了,没有在LUA中运作时,LUA执行脚本的哪部分内容。没有这样的例子。 本人不会写文章,直接贴源码及分析时的经验。 主要HOOK上luaV_execute以及luaV_execute函数里边的luaD_poscall地方 如果是HOOK别人的程序,需要注意对LUA源码进行修改,达到和别人的LUA进行同步。 我接触过2~3个程序,目前发现其比较相同处 1,枚举型OpCode的指令顺序要对应 2,lua_TObject的结构大小,以及其成员value,tt的上下位置 3,LUA5.1版本时,Proto结构的变化 4,LUA5.1版本是,LClosure的结构变化LUA源码好多宏,好多union类型,看着头疼,最后是用OD跟踪看内存,再拿源码对比得出些经验的
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)