最近调试程序遇到一个问题,极其猥琐,检测了各种断点,不好解决,忽然想到一个问题:
CPU是如何执行汇编指令的?为什么0x55要对应 push ebp?为什么0x33C0 要对应 xor eax,eax?那么有没有一种可能性,让我们可以修改机器码的含义把原本0x55的机器码含义修改成int3,这样就可以在避免修改主模块的情况下设置断点了。带着这个问题,各种搜啊,似乎没有人研究过这个问题,所以把问题抛到这来了,欢迎大家讨论
[招生]系统0day安全班,企业级设备固件漏洞挖掘,Linux平台漏洞挖掘!
hzqst 用虚拟机进行二进制翻译执行倒是可以,就是效率嘛。。。