抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

什么是JIT

JIT = Just In Time即时编译,是动态编译的一种形式,是一种优化虚拟机运行的技术。
程序运行通常有两种方式,一种是静态编译,一种是动态解释,即时编译混合了这二者。

lujit运行过程:

解题:

得到一个.out 文件,电脑识别成Wireshark 系列文件,拉入WinHex会发现是.LJ开头,可以推断是Luajit逆向。

先编译LuaJit2.1.0Beta3

Download (luajit.org)

去官网下载

运行x64 Native Tools Command Prompt for VS (用Everything搜索),

然后将下载的安装包解压到相应的盘下,然后进入解压后的SRC文件

  • msvcbuild.bat gc64编译出的64位(题目的64位

  • msvcbuild.bat编译出的是32位

反编译

bobsayshilol/luajit-decomp at deprecated (github.com)

下载反编译工具

然后将上一步src文件夹里面jit文件夹,和lua51.dll luajit.exe 放到刚刚下载的反编译工具文件夹里面

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

用sublime打开,就可以开始分析字节码了

image-20220528164002909

未完待续。。

评论