(得去尝试学学其他架构的题,不能只玩PE和Python!)
0x00 日常查壳
吼吼题目一个JIT,完全没接触过,不过才5KB,也许这题会很简单?于是开赛那天在这题坐牢
拉进010可以发现是.LJ开头,那么这题就是luajit逆向了!
0x01 反编译
经过多个版本测试最后得知是LuaJit2.1.0Beta3版本,呜呜呜呜呜呜,可是我还是看不懂这题是汇编(可能需要花段时间慢慢看)
不过先记录下如何反编译这类文件
1. 编译LuaJit2.1.0Beta3
去下载官网下载该版本(题目对应版本
2. VC本地编译
去本地找到x64 Native Tools Command Prompt for VS 2022,不同版本的不一样建议装个everything找到自己本地的
然后这里要注意的几个点
- 下载过来的luajit要和本地编译器的盘符一致(要不然cd过不去
- msvcbuild.bat gc64编译出的64位(题目的64位
- msvcbuild.bat编译出的是32位
3. 反编译!
反编译工具:https://github.com/bobsayshilol/luajit-decomp/tree/deprecated
编译后Luajit的src目录会有三个文件需要拿到该工具的根目录下
然后将我们的题目附件改名为test.lua,再按下decoder_new.exe该文件就出现了out.lua和out2.lua
于是可以开逆了!
(留个坑)
🍬
🍪
About this Post
This post is written by P.Z, licensed under CC BY-NC 4.0.