May 26, 2022

DASCTF2022 X VOID-JIT

(得去尝试学学其他架构的题,不能只玩PE和Python!)

0x00 日常查壳

吼吼题目一个JIT,完全没接触过,不过才5KB,也许这题会很简单?于是开赛那天在这题坐牢

拉进010可以发现是.LJ开头,那么这题就是luajit逆向了!

0x01 反编译

经过多个版本测试最后得知是LuaJit2.1.0Beta3版本,呜呜呜呜呜呜,可是我还是看不懂这题是汇编(可能需要花段时间慢慢看)

不过先记录下如何反编译这类文件

参考文章:https://www.52pojie.cn/thread-1378796-1-1.html

1. 编译LuaJit2.1.0Beta3

去下载官网下载该版本(题目对应版本

image-20220526134726182

2. VC本地编译

去本地找到x64 Native Tools Command Prompt for VS 2022,不同版本的不一样建议装个everything找到自己本地的

然后这里要注意的几个点

image-20220526134913436

3. 反编译!

反编译工具:https://github.com/bobsayshilol/luajit-decomp/tree/deprecated

编译后Luajit的src目录会有三个文件需要拿到该工具的根目录

image-20220526135246533

然后将我们的题目附件改名为test.lua,再按下decoder_new.exe该文件就出现了out.lua和out2.lua

于是可以开逆了!

image-20220526135356523

(留个坑)

DASCTF X SU
🍬
HFCTF2022
🍪

About this Post

This post is written by P.Z, licensed under CC BY-NC 4.0.