某驱动脱壳 vmp

发布于 2024-09-02 19:34:29 字数 3016 浏览 28 评论 0

没有找到适合的图片

某驱动脱壳 vmp

最近遇到个加了 VMP 壳的驱动,顺手记录一下(图片中的地址有的对不上因为有的图是后来补的)
拿到手先查个壳发现是 VMP,(已经准备回收站了)

image.png

准备环境 Win7 Windbg 配置好驱动调试

驱动入口首字节改 CC,然后修复 CheckSum,要不然 Win 检测到 PE 文件 CheckSum 不正确是会拒绝加载的

image.png

加载驱动

image.png

直接断到 Windbg

image.png

eb xx 90 修复修改的字节

image.png

然后直接 pc 断到第一个 call 调用(这里应该就是 VMP 的 call Handler)

image.png

目测 vmp2.x 直接在这里下一个断点,然后经过多次 g 后来到 IoFreeMdl(前面主要就是 VMP 映射 PMD 填充恢复.text,.rdata,INI 等节区内容)

image.png

然后键入 pc 回车来到一个看起来终于正常点的 call

image.png

!dh fffff880`0560b000 查看 PE 结构看看这个 call 所在的位置

image.png

在 INIT 节里到这里基本上就可以 dump 了,因为一般来说驱动入口点函数都在 INIT 节中

image.png

入口点直接填这个函数头的位置

dump 好后 IDA 打开

image.png

可以看到 IDA 已经自动把 __security_init_cookie 识别出来了,基本可以确定这里是 GsDriverEntry 函数(开启 GS 编译选项默认入口点就是 GsDriverEntry,而我们写的 DriverEntry 则由 GsDriverEntry 调用可以看到后面的 jmp DriverEntry),只是这个驱动的 DriverEntry 函数被 V

image.png

不过看了一下主要是 INIT 区段的 DriverEntry 函数被 V,其他的.text 段倒是没问题,就是有个小问题,dump 的时候导入表没有修复

image.png

不过问题不大可以配合 IDA 手动修复一下,先在 Windbg 里使用 dps 查看导入表

image.png

然后复制到 txt 里

image.png

然后写个脚本修复一下

image.png

修复后看的就比较舒服了

image.png

剩下的工作交给手艹艹艹

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

讽刺将军

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

苍风燃霜

文章 0 评论 0

悸初

文章 0 评论 0

撧情箌佬

文章 0 评论 0

森罗

文章 0 评论 0

lyn1245

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文