OpCode学习一

来源:互联网 发布:白领女性服装品牌知乎 编辑:程序博客网 时间:2024/06/04 19:06

“不管现在流行什么语言,你都可以肯定十年二十年之后它不再风光。我总是在自己的书中写些不时髦的东西,但这些东西却值得后代子孙记取。”

-- Donald E. Knuth

为什么要学习OpCode?

随着学习的深入和知识的积累,各位编程爱好者都一定不再满足于语言和表层知识的学习,而开始对系统的一些底层知识感到好奇,进而逐渐往深层次探究。正当我们为微软一轮轮的技术革新而强迫自己努力学习的时候,我们可曾花时间去考虑一些深层次的东西?

在编译器后端设计、反汇编器、病毒、破解等底层领域中,处处可见OpCode的影子,奇怪的是,很少有人真正深入地去研究这个领域的东西。一种技术的发展和流行,关键是要有好的书籍/教程作为指引,目前比较规范的中文的OpCode教程好像还没有,于是很多人在这个问题上,都只是处于摸索阶段,没有抓住问题的核心。在这里,希望能与大家分享一些我的经验和教训。

 

参考资料

  • 最权威的 【IA-32 Intel体系结构软件开发者手册】
  • 俄罗斯大哥The Svin的OpCode系列教程使我入了门。

备注:

 

IA-32 Intel体系结构软件开发者手册  第一卷:系统架构

 

描述了IA-32处理器基本体系结构和编程环境。

 

IA-32 Intel体系结构软件开发者手册  第二卷:指令集参考

 

描述了处理器指令集和操作数结构。

 

IA-32 Intel体系结构软件开发者手册  第三卷:系统编程指南

描述了IA-32环境下的操作系统,包括内存管理,保护机制,任务管理,中断和异常处理,系统管理模式。并提供了IA-32处理器的兼容信息。

卷三的内容主要是针对操作系统和BIOS设计者与开发者。

 

原创粉丝点击