【CSAPP】第三章 程序的机器级表示

写在前面

学pwn的过程中被建议是看CSAPP的第三章

  • 因为对于概念还是有点模糊,所以笔记上我就选择摘抄理解了先。。。到实践部分再搞别的形式。。

  • 使用高级语言编程时,机器屏蔽了程序的细节,即机器级的实现;

    • 用汇编代码编程的时候,程序员必须指定程序用来执行计算的低级指令
  • 汇编代码最大的优点:

    • 用高级语言编写的程序可以在很多不同的机器上编译和执行
    • 汇编代码则是与特定机器密切相关
  • 对于汇编代码:

    • 能够阅读和理解
  • 阅读汇编代码的好处:

    • 能够理解编译器的优化能力
    • 分析代码中隐含的低效率
    • 从而最大化一段关键代码性能
  • 需要具备程序机器级的知识

    • 许多攻击利用了系统程序中的漏洞重写信息,从而获得了系统的控制权
    • 了解这些漏洞如何出现以及如何防御他们
  • 了解如何将C程序编译成这种形式的机器代码

    • 优化编译器能够
      • 重新排列执行顺序
      • 消除不必要的计算
      • 用快速操作替换慢速操作
      • 甚至将递归计算变换成迭代计算
  • 逆向工程(reverse engineering)

    • 通过研究系统和逆向工程,来试图了解系统的创建过程
    • 此处的系统是一个机器产生的汇编语言程序
  • x86-64

    • 是现在笔记本电脑和台式机中最常见处理器的机器语言
    • 也是驱动大型数据中心和超级计算机的最常见处理器的机器语言
  • IA32编程

    • x86-64的32位前身
    • 大多数x86微处理器,以及这些机器上安装的大多数操作系统,都是为运行x86-64设计的,也可以向后兼容执行IA32程序
  • Copyrights © 2024-2025 brocademaple
  • 访问人数: | 浏览次数:

      请我喝杯咖啡吧~

      支付宝
      微信