首页
社区
课程
招聘
未解决 [求助]VM加密过的代码, 要怎么处理才能跟踪到真正的代码段? 100.00雪花
2022-12-25 22:09 7255

未解决 [求助]VM加密过的代码, 要怎么处理才能跟踪到真正的代码段? 100.00雪花

2022-12-25 22:09
7255

769B193B | FF15 48409B76 | call dword ptr ds:[<&NtDeviceIoControlFile>] |
769B1941 | 8BF0 | mov esi,eax |
如上,在769B193B处按F7,来到下面这段:

 

77942A20 | B8 07001B00 | mov eax,1B0007 |
77942A25 | BA 30889577 | mov edx,ntdll.77958830 |
77942A2A | FFD2 | call edx |
77942A2C | C2 2800 | ret 28 |

 

在77942A2A 处继续按F7, 来到下面这段:
778C7000 | EA 09708C77 3300 | jmp far 33:778C7009 | 0033:778C7009:sub_778C601D+FEC
778C7007 | 0000 | add byte ptr ds:[eax],al |
778C7009 | 41 | inc ecx |
778C700A | FFA7 F8000000 | jmp dword ptr ds:[edi+F8] |

 

问题来了, 在77942A2A 按F7或者F8,却直接返回到77942A2C 了,要怎么处理才能跟踪到真正的代码段呢?


[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

最后于 2022-12-25 22:29 被serforev编辑 ,原因:
收藏
点赞0
打赏
分享
最新回复 (2)
雪    币: 203
活跃值: (847)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
戒烟 2022-12-26 08:23
2
0
这不是VM.代码都是正常的.这是进入wow64
具体可以看这篇文章https://bbs.pediy.com/thread-270153.htm
x32或OD无法跟踪 你可能需要用windbg来调试
雪    币: 1790
活跃值: (2927)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
拍拖 2 2022-12-26 19:48
3
0
楼上说法是正确的,你那个代码是NTDLL里调用系统内核SSDT函数的系统调用过程。这个过程中的代码是内核执行过程,你用R3调试器肯定调试不到的。 如果是X64系统下的X86程序这里是WOW64模式进行X86代码切换到X64代码环境的代码,也是普通R3调试器单步不了的。  
        这个过程和VMPROTECT加壳一点关系没有。从77942A2C返回后代码单独多次到回到VMPROTECT加壳的组件所在模块地址空间的代码继续跟才是VMPROTECT的处理API返回的代码。
游客
登录 | 注册 方可回帖
返回