首页
社区
课程
招聘
[原创] lua脚本还原
发表于: 2023-10-18 02:05 9128

[原创] lua脚本还原

2023-10-18 02:05
9128

一、过程
1、对象:客户端(未加壳)
2、分析和还原:
2.1、lua保存在exe中,通过断lua_load相关的函数,dump出来脚本。signature一眼就知道是lua二进制格式的替换"\1bLua",如下:
图片描述
2.2 、修改文件头的signature后,使用lua的反编译工具反编译会出错,经过排错定位,发现是lua引擎的loadfunction函数被修改了。lua的二进制文件解析,是按照流的方式来的,从流中读取字节解析。正常的读取顺序是psource、linedefined、lastlinedefined、numparams、is_vararg、maxstacksize,而程序中的读取顺序是依次是psource、linedefined、numparams、lastlinedefined、maxstacksize、is_vararg。正常的顺序:
图片描述
程序修改后的顺序:
图片描述
所以,修改反编译引擎的loadfunction代码就能够正确解析。
2.3 继续进行反编译尝试,还是报错。怀疑是lua的opcode定义顺序被修改(十年前的套路,懂得都懂)。人肉还原了字节码(熬夜的体力活)。lua5.4有83个opcode,定义如下:
图片描述
人肉识别后的顺序:
图片描述
识别字节码就是通过ida中交叉引用来实现。
图片描述


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2023-10-19 15:25 被wuaiwu编辑 ,原因:
收藏
免费 8
支持
分享
最新回复 (9)
雪    币: 3022
活跃值: (6771)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
靠谱的项目?我国的法律解释权在人,只要有人想弄谁那莫须有的罪想套就能套。
2023-10-18 03:52
1
雪    币: 189
活跃值: (126)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
楼上说的不错,做事三思,现在钱难赚,还是认真学习技术吧
2023-10-18 09:04
1
雪    币: 3573
活跃值: (31026)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
感谢分享
2023-10-18 09:40
2
雪    币: 5172
活跃值: (2951)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
感谢分享
2楼说的不错. 我国各种法律几乎都有个"其它"在里面, 总有一款适合我们的,还是认真研究技术实在.
2023-10-18 10:30
0
雪    币: 922
活跃值: (2952)
能力值: ( LV11,RANK:190 )
在线值:
发帖
回帖
粉丝
6

好人一生平安啊

最后于 2023-10-19 14:31 被wuaiwu编辑 ,原因:
2023-10-19 02:53
0
雪    币: 36264
活跃值: (7170)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
古语有云,闷头发大财。 说出来就会招人嫉妒,从而惹出祸来。。。
2023-10-19 07:26
0
雪    币: 5307
活跃值: (9888)
能力值: ( LV9,RANK:181 )
在线值:
发帖
回帖
粉丝
8
ninebell 古语有云,闷头发大财。 说出来就会招人嫉妒,从而惹出祸来。。。
法王说的对!!!
2023-10-19 09:04
0
雪    币: 55
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
9
lua反编译出来的goto跳转错误可以解决吗,有的还有逻辑错误
2023-10-20 23:52
0
雪    币: 0
活跃值: (70)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
真人肉识别啊大佬,我最近搞python的opcode,头都麻了。 最后还是hook解释器,去注入代码进去的。
2023-10-23 10:44
0
游客
登录 | 注册 方可回帖
返回
//