CTF 竞赛入门指南(CTF All In One)学习(三)

逆向工程基础

  • C/C++语言基础
    • 从源代码到可执行文件
    • 整数表示

C/C++语言基础

从源代码到可执行文件

  • 预处理:主要处理源代码中以 “#” 开始的预编译指令。
    • 将所有的 “#define” 删除,并展开所有的宏定义;
    • 处理所有条件预编译指令,如 “#if”、“#ifdef”、“#elif”、“#else”、“#endif”;
    • 处理 “#include” 预编译指令,将被包含的文件插入到该预编译指令的位置。该过程递归执行
    • 删除所有注释;
    • 添加行号和文件名标号;
    • 保留所有的 #pragma 编译器指令。
  • 编译
  • 汇编
  • 链接

整数表示

       编译器根据变量类型编译成相应指令。

你可能感兴趣的:(CTF,CTF)