逆向之JSVMP插桩分析手法

Love The Way You Lie 2024-02-17 08:52 184阅读 0赞

最近发现个JSVMP,如下图

ceaf1ae3dcae4e71ac39a178b406970f.png

上面执行流程是一条一条指令执行,代码是AST还原后的结果,一般都会进行一层混淆,并不能直接看到逻辑。

可以将VM看作一个黑盒子,在执行黑盒子代码时,包含两部分,一部分是外部逻辑,一部分是内部的黑盒子逻辑,例如黑盒子会调用很多外部算法,这时候我们可以对外部所有算法进行hook,输出日志。

c9c8975443504f1f93a7c2db5a4e4afc.png

这里的93f80bf318a862d…是入参的其中一个参数,在外部算法的输出日志中并没有,下面在黑盒子VM内部增加日志,打印VM的堆栈和指令序号。

3bc63ad51f9a4489ad97a4dd0b706af7.png

然后输出日志

6077927d545f4f9f901b7bada3998ee0.png

找到日志93f80bf318a862d第一次出现的地方,如上图。增加代码进行调试,在这个位置断住。

ebca54fbe40a43d481608e170b61ad23.png

断住后,发现其实就是从cookie中获取的值。

本文只是提供一种思路,具体还得自己去实践调试。

发表评论

表情:
评论列表 (有 0 条评论,184人围观)

还没有评论,来说两句吧...

相关阅读

    相关 jsvmp加密

    JSVMP 可能是指 JavaScript Virtual Machine Protection,这是一种防止网页脚本被破解的保护方法。其中的原理就是对网页脚本进行加密,然后在