博客地址:http://blog.csdn.net/qq1084283172/article/details/53158970

return 0;  C语言返回0语句的汇编形式

Intel-32汇编:

leave
xor eax, eax
ret

AT&T汇编:

leave
xorl %eax, %eax
ret

从汇编的结果可以看出,返回0的C语言语句,在编译器生成的汇编语句中并没有包含常量,这是编译器优化的结果,它认为复制零的操作比执行异或的运算更耗资源。

操作码与Shellcode:Shellcode其实是一系列的操作码,一般保存在C字符串数组里,,称它为shellcode主要是因为这一系列的操作码是执行shell(例如:/bin/sh或cmd.exe)所必须的指令。

Windows汇编语言中常用寄存器的介绍:

汇编语言中栈结构的学习:

汇编语言中堆结构的学习:

常用的汇编语言指令:

注意:jmp指令和call指令的区别(下面这2个指令真的很重要,要理解透彻)

jmp指令只是单纯的代码执行的跳转,call指令在执行的时候会先将保存下一条将要执行的地址即先保存CS:EIP的值,然后再进行代码执行流程的跳转

注意 ret指令的执行步骤

ret指令在执行的时候,会先获取栈帧中保存的CS和EIP的值,恢复和设置CS和EIP的值,使程序的流程得以正常继续下去。

简单的做个笔记,本来打算打字敲一下笔记的,后来觉得太费时间了,直接截图了--方便。感觉这些知识点是逆向工程学习的基础,工作一段时间了,很多东西都没接触了,快忘了,简短的记录一下。

书籍参考:

《IDA Pro 代码破解解密》

《IDA Pro 代码破解解密》笔记一相关推荐

  1. 冒号课堂 编程范式与OOP思想

    上篇:编程范式与编程语言 第1课 开班导言 第2课 重要范式 第3课 常用范式 第4课 重温范式 第5课 语言小谈 第6课 语言简评 下篇:抽象机制与对象范式 第7课 抽象封装 第8课 抽象接口 第9 ...

  2. 编程范式(斯坦福大学)学习笔记《四》

    斯坦福大学开放课程--编程范式(四) 综述 本节课的主要内容是关于泛型数据的拷贝,虽然是使用C语言实现,并且没有用到C++中的模板这种泛型编程技术,但是效果却非常好.本节内容紧接上节所将的字节位拷贝的 ...

  3. 编程范式(斯坦福大学)学习笔记《二》

    斯坦福大学开放课程:编程范式学习笔记<二> 本课讲述了C/C++关于int,float等数据的底层表示,以及赋值操作所进行的处理.本节内容比较简单,应该属于组成原理的基础知识,各种码的表示 ...

  4. 冒号课堂:知识之上是思想,思想之上是精神

    http://www.cnblogs.com/xyz98/archive/2009/03/11/1408998.html 1.1开班发言--程序员的四层境界 授人以鱼不如授人以渔            ...

  5. Java面向对象编程的程序设计(OOP)思想

    文章目录 面向对象(oop) 封装 继承 多态 抽象类(abstract) 类型转化(instanceof) static关键字 面向对象(oop) 面向对象程序设计(Object Oriented ...

  6. 编程范式(斯坦福大学)学习笔记《十一》

    上次的课中都是使用C代码生成汇编代码,这次课中将使用C++代码生成汇编代码,对比结果发现这两种语言最终生成的代码形式很像. C语言版本: void foo() {int x;int y;x=11;y= ...

  7. 编程范式(斯坦福大学)学习笔记《十二》

    本节课讲解的主要是预处理器,编译和连接的异同. #define有两个功能:一个是定义常量,一个是作为宏. //定义常量 #define w 40 #define h 80 #define pere 2 ...

  8. 《冒号课堂》连载之十七——逻辑范式

    <冒号课堂>连载之十七--逻辑范式 4.2  逻辑范式--当算法失去了控制 道常无为而无不为. --<老子·道经> 关键词:编程范式:逻辑式编程:Prolog:算法:逻辑:控制 ...

  9. 《冒号课堂》连载之七——声明范式:目标决定行动

    <冒号课堂>连载之七--声明范式:目标决定行动 2.2  声明范式--目标决定行动 给我一个支点,我能挪动地球. --阿基米德 关键词:编程范式:命令式编程:声明式编程:函数式编程:逻辑式 ...

  10. 《冒号课堂》精彩书评集萃

    冒号课堂--将我带入编程的第三层境界 看山是山,看水是水. 看山不是山,看水不是水. 看山还是山,看水还是水,但是山更绿,水更清. 人生有三层境界,编程境界也和人生境界惊人的相似. 从大学期间接触编程 ...

最新文章

  1. 移动端丨-webkit-overflow-scrolling:touch属性导致页面卡住
  2. hdu1305Immediate Decodability(字典树)
  3. 关于MNIST数据集的处理
  4. Keycloak简单几步实现对Spring Boot应用的权限控制
  5. Python类的多态
  6. 2.3线性表的链式存储和运算—双向链表
  7. python qq模块_常用的Python模块
  8. 高等数学下-赵立军-北京大学出版社-题解-练习11.2
  9. [C++程序设计]字符数组的赋值与引用
  10. 判断包含字符当中包含小数点_Python|提取包含指定文本的行到一个文本文件(字符串或正则)...
  11. opencv学习之路(9)、对比度亮度调整与通道分离
  12. 上周热点回顾(2.25-3.3)
  13. Synergy两台电脑使用同一个鼠标和键盘
  14. python画图-python绘图入门(完整版)
  15. 可以学习相关框架【转:https://testerhome.com/topics/6283】
  16. html mui模板使用,mui + vue 模板
  17. 《一件小事.呐喊》--鲁迅 词语解释
  18. python- re模块(正则表达式)
  19. 梦中情人sbl新变种snow.exe,snowfall.exe的分析
  20. 从初试北京211到走上调剂的坎坷考研路

热门文章

  1. 入门神经网络优化算法(一):Gradient Descent,Momentum,Nesterov accelerated gradient
  2. 前端可视化大屏设置全屏模式方法
  3. mysql 心得体会
  4. 可以对本表做操作的触发器
  5. EXE文件也能直接制作成屏保吗?
  6. 霍金逝世一周年,英国皇家铸币厂发售“黑洞”纪念币
  7. 软件不能卸载也不能安装的解决办法
  8. [转载]如何解决直播中的播放杂音、噪音、回声问题 | 直播疑难杂症排查
  9. 【精华】光纤项目系统概述
  10. Python 批量修改 汉语转拼音