分类描述:汇编

C语言常用函数

sqrt求给定值的平方根sqrt() 用来求给定值的平方根,其原型为: double sqrt(double x);【参数】x 为要计算平方根的值。如果 x < 0,将会导致 domain error 错误,并把全局变量 errno 的值为设置为 EDOM。【返回值】返回 x 平方根。E
汇编 C 2017年12月24日 90次浏览

C语言4 -C语言整数和浮点数

C语言数据类型基本类型整数类型char、short、int、longchar 8BIT 1字节 0~0xFFshort 16BIT 2字节 0~0xFFFFint 32BIT 4字节 0~0xFFFFFFFFlong 32BIT 4字
C 2017年12月24日 96次浏览

C语言5 -字符和字符串

int x = 123; //补码int float f = 123.4F; //IEEE编码int i = "A"; //神马情况???我们在代码中写入int i = "A";反编译后汇编就编程了mov dwo
内存 汇编 C 2017年12月22日 90次浏览

计算机中的运算

计算机只认识0和1,计算机能做的运算归根结底也就是直接对0和1做运算(通常称为 位运算)与运算两个位都为1时,结果为1 and(&)或运算只要有一个为1 就是1 or(|)异或运算不一样的时候是1 xor(^)非运算(单目运算)0变1 1变0 not(~)左移各二进制位全部左移若干位,高位丢
逆向 内存 汇编 计算机 2017年11月18日 93次浏览

进制和内存

数据宽度因为计算机受硬件制约,数据都是有长度限制的(数据宽度),超过最多宽度的数据会被丢弃计算机中常见的数据宽度:位(BIT) -> 一个0或1字节(BYTE) =8位 范围 0-> FF字(Word) = 16位 0->FFFF双字(DoubleWord) = 32位 0-FFF
计算机编码 内存 汇编 2017年11月17日 97次浏览

9.汇编-JCC

之前可以修改EIP寄存器的指令JMP,CALL,RETN所有JCC指令的动作->根据标志寄存器修改EIP的值标志寄存器 EFLAGSCF(bit 0)[Carry flag] C位若算术产生的结果在最高有效位(most-significant bit)发生进位或者借位则将其置1 反之清零这个标
逆向 汇编 寄存器 2017年09月21日 101次浏览

8. 汇编-ESP寻址 EBP寻址

寄存器传参和堆栈传参寄存器传参MOV ECX,1MOV EBX,2CALL XXMOV EAX,ECXADD EAX,EBXRETN堆栈传参 –ESP寻址PUSH 1PUSH 2CALL XXXMOV EAX,DWORD PTR SS:[ESP+8] //当内存中括号中包含ESP或者EBP的话 用
逆向 汇编 2017年09月20日 97次浏览

7.汇编-汇编中的函数

什么是函数函数就是一系列指令的几个,为了完成某个会重复使用的特定功能函数调用用JMP来执行函数用CALL来执行函数函数的参数和返回值通常情况下,会将函数的计算结果放到EAX寄存器中EAX 通常用来放返回值简单的加法函数ADD ECX,EDX //传参MOV EAX,ECX //传结果到EAX中RET
逆向 汇编 寄存器 2017年09月20日 93次浏览

6.汇编-修改EIP的指令

EIP寄存器EIP寄存器表示CPU下次执行的位置JMP指令JMP指令相当于给EIP寄存器赋值JMP后面只能是32位的指令格式:MPV EIP,寄存器/立即数/内存简写:JMP 寄存器/立即数/内存JMP 0x00FF19 -> MOV EIP,0X00FF19JMP EAX
逆向 汇编 CPU 寄存器 2017年09月17日 101次浏览

5.汇编-堆栈相关指令

什么是堆栈程序启动的时候操作系统会给每个程序一块虚拟的4G内存当程序需要使用的时候必须要和操作系统申请内存堆栈是程序的心脏,程序中需要用到的重要数据,都在堆栈中体现就是一块特殊的内存,操作系统在程序启动的时候已经分配好的,供程序执行时使用和数据结构的堆栈无关查看堆栈正常内存使用从小地址往大地址使用,
逆向 内存 寄存器 2017年09月17日 98次浏览