《IDA Pro 代码破解解密》笔记一
博客地址: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 代码破解解密》笔记一相关推荐
- 冒号课堂 编程范式与OOP思想
上篇:编程范式与编程语言 第1课 开班导言 第2课 重要范式 第3课 常用范式 第4课 重温范式 第5课 语言小谈 第6课 语言简评 下篇:抽象机制与对象范式 第7课 抽象封装 第8课 抽象接口 第9 ...
- 编程范式(斯坦福大学)学习笔记《四》
斯坦福大学开放课程--编程范式(四) 综述 本节课的主要内容是关于泛型数据的拷贝,虽然是使用C语言实现,并且没有用到C++中的模板这种泛型编程技术,但是效果却非常好.本节内容紧接上节所将的字节位拷贝的 ...
- 编程范式(斯坦福大学)学习笔记《二》
斯坦福大学开放课程:编程范式学习笔记<二> 本课讲述了C/C++关于int,float等数据的底层表示,以及赋值操作所进行的处理.本节内容比较简单,应该属于组成原理的基础知识,各种码的表示 ...
- 冒号课堂:知识之上是思想,思想之上是精神
http://www.cnblogs.com/xyz98/archive/2009/03/11/1408998.html 1.1开班发言--程序员的四层境界 授人以鱼不如授人以渔 ...
- Java面向对象编程的程序设计(OOP)思想
文章目录 面向对象(oop) 封装 继承 多态 抽象类(abstract) 类型转化(instanceof) static关键字 面向对象(oop) 面向对象程序设计(Object Oriented ...
- 编程范式(斯坦福大学)学习笔记《十一》
上次的课中都是使用C代码生成汇编代码,这次课中将使用C++代码生成汇编代码,对比结果发现这两种语言最终生成的代码形式很像. C语言版本: void foo() {int x;int y;x=11;y= ...
- 编程范式(斯坦福大学)学习笔记《十二》
本节课讲解的主要是预处理器,编译和连接的异同. #define有两个功能:一个是定义常量,一个是作为宏. //定义常量 #define w 40 #define h 80 #define pere 2 ...
- 《冒号课堂》连载之十七——逻辑范式
<冒号课堂>连载之十七--逻辑范式 4.2 逻辑范式--当算法失去了控制 道常无为而无不为. --<老子·道经> 关键词:编程范式:逻辑式编程:Prolog:算法:逻辑:控制 ...
- 《冒号课堂》连载之七——声明范式:目标决定行动
<冒号课堂>连载之七--声明范式:目标决定行动 2.2 声明范式--目标决定行动 给我一个支点,我能挪动地球. --阿基米德 关键词:编程范式:命令式编程:声明式编程:函数式编程:逻辑式 ...
- 《冒号课堂》精彩书评集萃
冒号课堂--将我带入编程的第三层境界 看山是山,看水是水. 看山不是山,看水不是水. 看山还是山,看水还是水,但是山更绿,水更清. 人生有三层境界,编程境界也和人生境界惊人的相似. 从大学期间接触编程 ...
最新文章
- 移动端丨-webkit-overflow-scrolling:touch属性导致页面卡住
- hdu1305Immediate Decodability(字典树)
- 关于MNIST数据集的处理
- Keycloak简单几步实现对Spring Boot应用的权限控制
- Python类的多态
- 2.3线性表的链式存储和运算—双向链表
- python qq模块_常用的Python模块
- 高等数学下-赵立军-北京大学出版社-题解-练习11.2
- [C++程序设计]字符数组的赋值与引用
- 判断包含字符当中包含小数点_Python|提取包含指定文本的行到一个文本文件(字符串或正则)...
- opencv学习之路(9)、对比度亮度调整与通道分离
- 上周热点回顾(2.25-3.3)
- Synergy两台电脑使用同一个鼠标和键盘
- python画图-python绘图入门(完整版)
- 可以学习相关框架【转:https://testerhome.com/topics/6283】
- html mui模板使用,mui + vue 模板
- 《一件小事.呐喊》--鲁迅 词语解释
- python- re模块(正则表达式)
- 梦中情人sbl新变种snow.exe,snowfall.exe的分析
- 从初试北京211到走上调剂的坎坷考研路