为什么 VMP 壳没办法实现全自动脱壳,和它的哪些保护机制有关?

12 小时 51 分钟前
 drymonfidelia
525 次点击
所在节点    信息安全
3 条回复
dearmymy
11 小时 37 分钟前
俗称壳中带肉,肉中有壳。能自动脱壳基本就属于压缩壳,运行起来在内存里都全部解密了。然后 dump 下拉就行。最多破坏下导入表之类得。当作 zip 看待就行。
vmp 属于跟着代码一起编译。被保护代码直接就使用虚拟机自己指令运行,融为一体了。加上很多动态解密,不运行到指定代码就一直是加密状态。还有在 lvvm 阶段插入大量垃圾代码混淆逻辑,根本就不是壳。
当然如果你只用 vmp 不编译,照样可以脱壳,这个就看你选择加密层级了。纯粹就是反调试太多了。能自动脱壳得一般都是内存里代码找到一个把本来程序全部解密得时机,然后 dump 下来。
好久没碰壳可能会有点错误。现在都是移动端,现在也最多增加点反调试,vmp 混淆关键代码。
crackidz
5 小时 57 分钟前
vmp 本身有多个保护方式,但是如果说全就可太多了,不如直接看一些文档吧:

https://github.com/JonathanSalwan/VMProtect-devirtualization
https://bbs.kanxue.com/thread-253673.htm

因为 vmp 的保护有一定随机性,每次编译出来的保护并不一样,所以全自动自然是不行的,因为你需要根据具体情况去除对应的对抗措施。虽然有人尝试用 AI 执行过,不过普遍反应是上下文问题、成本问题、需要一个稳定可用的中间语言之类的都会有问题...
proxytoworld
3 小时 38 分钟前
vmp 确实挺麻烦的,我一个在大厂的朋友专门逆向加密接口,都说碰到了 vmp 头疼

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1085110

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX