防反转:无法使用 x64 修补内存/设置进程断点,异常内存段

逆向工程 恶意软件 反调试 保护
2021-07-11 04:39:46

我正在处理一个包含包装和反分析措施的样本。

目前在启用所有检查的情况下使用 x64dbg 的 ScyllaHide 插件(不确定这是否会影响任何事情,我试过弄乱这个)我能够将调试器附加到进程中,但我观察到一些我没有遇到过的行为前。

  1. 查看 x64dbgsMemory Map选项卡,进程主内存段的布局与我过去看到的不同。通常它是类型的IMG,并含有通常的.text.data等内存段。此样本主要部分属于类型MAP,不包含正常部分。这是一种技术吗?这叫什么?

此示例中有多个段,它们的外观如下:

Address=00004FF61EC70000
Size=0000000001EE0000
Page Information=malware_sample.exe
Allocation Type=MAP
Current Protection=ER---
Allocation Protection=ER---

Address=00004FF620B50000
Size=0000000000650000
Page Information=malware_sample.exe
Allocation Type=MAP
Current Protection=-RW--
Allocation Protection=-RW--

Address=00004FF6211A0000
Size=000000000013B000
Page Information=malware_sample.exe
Allocation Type=MAP
Current Protection=-R---
Allocation Protection=-R---
  1. 当尝试设置断点或修补内存时,x64dbg 在我列出的第一个段上失败。我可以在第二个段上放置断点,所以我猜测保护是防止断点/修补 ( Current Protection=ER---)?
  2. 当尝试更改 x64dbg 中内存段的保护Set Page Memory Rights以测试这是否是补丁/bps 失败的原因时,我收到一条错误消息,指出更改内存保护失败。什么会导致这种情况?是否有防止更改内存保护的反调试技巧?
0个回答
没有发现任何回复~