V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
drymonfidelia
V2EX  ›  信息安全

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

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

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

    因为 vmp 的保护有一定随机性,每次编译出来的保护并不一样,所以全自动自然是不行的,因为你需要根据具体情况去除对应的对抗措施。虽然有人尝试用 AI 执行过,不过普遍反应是上下文问题、成本问题、需要一个稳定可用的中间语言之类的都会有问题...
    proxytoworld
        3
    proxytoworld  
       10 天前   ❤️ 1
    vmp 确实挺麻烦的,我一个在大厂的朋友专门逆向加密接口,都说碰到了 vmp 头疼
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2686 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 09:40 · PVG 17:40 · LAX 01:40 · JFK 04:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.