- 献词
- 致谢
- 前言
- 第一部分 IDA 简介
- 第 1 章 反汇编简介
- 第 2 章 逆向与反汇编工具
- 第 3 章 IDA Pro 背景知识
- 第二部分 IDA 基本用法
- 第 4 章 IDA 入门
- 第 5 章 IDA 数据显示窗口
- 第 6 章 反汇编导航
- 第 7 章 反汇编操作
- 第 8 章 数据类型与数据结构
- 第 9 章 交叉引用与绘图功能
- 第 10 章 IDA 的多种面孔
- 第三部分 IDA 高级应用
- 第 11 章 定制 IDA
- 第 12 章 使用 FLIRT 签名来识别库
- 第 13 章 扩展 IDA 的知识
- 第 14 章 修补二进制文件及其他 IDA 限制
- 第四部分 扩展 IDA 的功能
- 第 15 章 编写 IDA 脚本
- 第 16 章 IDA 软件开发工具包
- 第 17 章 IDA 插件体系结构
- 第 18 章 二进制文件与 IDA 加载器模块
- 第 19 章 IDA 处理器模块
- 第五部分 实际应用
- 第 20 章 编译器变体
- 第 21 章 模糊代码分析
- 第 22 章 漏洞分析
- 第 23 章 实用 IDA 插件
- 第六部分 IDA 调试器
- 第 24 章 IDA 调试器
- 第 25 章 反汇编器/ 调试器集成
- 第 26 章 其他调试功能
- 附录 A 使用 IDA 免费版本 5.0
- 附录 B IDC/SDK 交叉引用
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
1.1 反汇编理论
任何学过编程语言的人都知道,编程语言分为好几代,下面为那些上课不认真的读者简要总结一下。
第一代语言 。这些语言是最低级的语言,一般由 0 和 1 或某些简写编码(如十六进制码)组成。只有二进制超人才能读懂它们。由于数据和指令看起来都差不多,人们往往很难将它们区分开来,因此这种语言很容易造成混淆。第一代语言也称为 机器语言 ,有时也叫做 字节码 ,而机器语言程序常被称为 二进制文件 。
第二代语言 。第二代语言也叫 汇编语言 ,它只是一种脱离了机器语言的表查找方式。通常,汇编语言会将具体的位模式或操作码,与短小且易于记忆的字符序列(即 助记符 )对应起来。有时候,这些助记符确实有助于程序员记住与它们有关的指令。汇编器是程序员用来将汇编语言程序转换成能够执行的机器语言的工具。
第三代语言 。这些语言引入了关键字和结构(它们是程序的构建块),因而其表达能力更接近于自然语言。通常,第三代语言不依赖于任何平台。但是,由于用第三代语言编写的程序使用了特定于操作系统的独特功能,它们便具有了平台依赖性。常见的第三代语言包括 FORTRAN 、COBOL、C 和 Java 。程序员通常使用编译器将程序转换成汇编语言,或者直接转换成机器语言(或某种大致的等价形式,如字节码)。
第四代语言 。这些语言虽然存在,但与本书无关,因而不属本书的讨论范围。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论