前言
实话我不认同把JS逆向分析归到re里但是想了想你一段js分析你去给web也有点抽象,pwn就更不可能了,要我说直接归到代码审计算misc这样大家一起学一起坐牢我就平衡了~
这一篇文章唯一任务就是做出来一个五星零解题目【真不行我是fw】

[羊城杯 2022]easyjs
下载文件得到

解压一手
草稿放了很久
这里我深入学习了js
其实js深入真的没那么容易
vm逆向本质是自己写一个解释器
听过解释器将十六进制命令转为汇编语言这种操作吗
简单来说就是自定义一个简易汇编
比如0x16定义为jmp
那么当遇到这个0x16时候就会跳jmp
所以vm逆向用普通反编译并不能直接产生伪代码
就算产生也大概是错的
因为它是通过自己定义了一直操作
它的操作数就是自己定义的。
那么其实js逆向也是如此,jstudio是一个简易js引擎他能简单生成js语言的文件
懂了vm逆向原理其实js也是这样的
你要先看懂它定义操作数都是怎么对应的,然后自己手写一个解释器
比如遇到0x16就转为jmp
通过解释器将这些十六进制数转为一些基础的汇编语言
然后通过分析汇编来解题
不要想再生成伪代码了,vm可能还有希望,但是js逆向过于小众很难有专业的生成伪代码程序了
其实vm也几乎没有.
评论(0)
暂无评论