-
-
[求助][讨论]关于反汇编引擎
-
发表于:
2009-8-14 09:13
5138
-
暑假里实习工作以后,一直想写一个值得纪念的作品,而反汇编引擎也是其中的一部分。我想在毕业前写出一个完整的c/asm编译器,准备了很多工作,我知道这个过程很难,但我会一直努力,这是我的目标。我从来都不觉得MFC不好,虽然曾经因为MFC头痛过一段时期。我最初的设想是用doc/view设计程序框架,类VC界面的,这些倒不难;核心的实现部分考虑用C和ASM来实现。在没有学编译原理之前,我想先把反汇编和调试部分做出来。
关于反汇编引擎,开源的代码很多,XDE,DISASM,OD反汇编引擎...还有论坛里各位朋友分享的自己的引擎代码。呵呵,各有各的特点,如果只是单纯的调用那肯定没问题的。不过,我也想认真学习指令编码结构,最近看了很多原理方面的东西,对着intel指令表手工翻译常用指令应该没问题。可能理解的不深入吧,现在自己写的时候,发现一些不能理解的问题,可能大家看起来很简单,不过对于我自己琢磨来说,有点晕。
问题是这样的:
对某些指令,他们可以用一组相同的解析流程和代码,而用其他的指令,则要不同的解析代码。这其中的差别在哪里了?如何观察这些指令所具有的相同特征,以及如何确定哪些指令就该用同样的解析代码?这些解析代码又该如何编写(我觉得在这个解析代码里有不变的规律,但如何发现,所以看现成的代码我可以体会到,但是如果自己看intel文档,对于新的指令,如何发现规律)?
可能这个问题问的很突兀,总之还是自己理解的不深。知道论坛里高手有很多,希望慷慨解惑下。先谢过大家!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课