E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
EAX
stosb, stosw, stosd 汇编指令
这三个指令把al/ax/
eax
的内容存储到edi指向的内存单元中,同时edi的值根据方向标志的值增加或者减少。同REP前缀联合使用的时候,这组指令需要填充整个字符串或数组时候比较有用。例如我们的MS
qq_22642239
·
2016-05-19 10:00
Win32
汇编
内存
存储
C 语言指针与汇编地址(一)
栈中的变量通常包括:函数参数函数体内声明的局部变量(或叫临时变量)返回值保存在寄存器(
eax
)中栈中的变量(参数、局部变量)退出其作用域时,没有一个动作、一段逻辑或代码去释放栈中变量占据的内存,仅仅是没人再去例会当前栈顶上方的若干遗留
lanchunhui
·
2016-05-10 20:00
一个复杂的堆排序程序
#include #include #include #definepush(x)\ __asm__volatile("push%%
eax
"\ ::"a"(x)) #definepop()({\ registerint_res
liutgnukernel
·
2016-05-09 15:00
gcc
C语言
堆排序
通用X86指令(1,数据传输)
MO/S/Z/A/C:作用与movl一致,但操作数为字节lealM,I/R/MO/S/Z/A/C:参数为标准格式中给定的内存位置,但并不加载内存位置中的内容(例:leal5(%ebp,%ecx,1),%
eax
斯多葛先生
·
2016-05-05 06:00
汇编
X86
指令集
JAVA处理SSL过程简单分析
1.首先直接用OD加载exe进程,然后对send下断点6D6071E7FF15E4C0606Dcalldwordptr[];ws2_32.send6D6071ED85C0testeax,
eax
6D6071EF
MT4Develop
·
2016-05-03 22:29
其它
深入分析_linux_spinlock_实现机制
在加锁的时候,使用lockdecl(%
eax
)指令互斥地将该变量变成0,并且将结果是否问0赋值给EFLAGS寄存器的对应位。只有加上锁的线程才会结果才是0,其
electrombile
·
2016-05-01 11:59
kernel
1.系统调用的过程
用户编写的程序平时运行在用户态,需要用系统调用时只能通过特定的方式(int0x80中断进入内核,
eax
寄存器指定具体的系统调用,用edi、esi等寄存器向系统调用传递参数)来使用系统调用。
chengonghao
·
2016-04-30 22:40
Linux进程源码阅读笔记
1.系统调用的过程
用户编写的程序平时运行在用户态,需要用系统调用时只能通过特定的方式(int0x80中断进入内核,
eax
寄存器指定具体的系统调用,用edi、esi等寄存器向系统调用传递参数)来使用系统调用。
chengonghao
·
2016-04-30 22:00
栈帧
下图为典型的存取器安排,观察栈在其中的位置 入栈操作:pusheax;等价于esp=esp-4,
eax
->[esp];如下图出栈操作:popeax;等价于[esp]->
eax
,esp=esp
chudongfang2015
·
2016-04-29 14:00
操作系统
linux下逻辑地址-线性地址-物理地址图解
我们写个最简单的helloworld程序,用gccs编译,再反编译后会看到以下指令:mov 0x80495b0,%
eax
这里的内存地址0x80495b0就是一个逻辑地址,必须加上隐含的DS数据段的基地址
l_nan
·
2016-04-19 10:00
c++之引用的本质
ri和i对应于相同的变量地址inti=5; 0100437Emovdwordptr[i],5 int&ri=i; 01004385leaeax,[i] 01004388movdwordptr[ri],
eax
Scythe666
·
2016-04-18 19:00
C++
C语言
引用
简单脱壳教程笔记(11) --- 脱WinUpack加的壳
detail/obuyiseng/9466056加条件断点的方法1、加载程序后,使用单步进行,运行到0043e645处,发现此处是跳转到OEP的但是跳转没有实现2、在0043e645处添加条件断点,只要
eax
oBuYiSeng
·
2016-04-16 22:00
简单脱壳教程笔记(10) --- 手脱EXE32PACK壳
download.csdn.net/detail/obuyiseng/9466056EXE32PACK1.ESP定律1、将程序加载到OD中,发现有大段的加密指令,我们先单步走,到达关键指令,pushebp2、单步运行到cmpeax,
eax
oBuYiSeng
·
2016-04-16 21:00
汇编_32位CPU寄存器和汇编指令
32位CPU所含有的寄存器有:4个数据寄存器(
EAX
、EBX、ECX和EDX)2个变址和指针寄存器(ESI和EDI)2个指针寄存器(ESP和EBP)6个段寄存器(ES、CS、SS、DS、FS和GS)1个指令指针寄存器
a7055117a
·
2016-04-11 17:00
32位
__attribute__((regparm(n)))
__attribute__((regparm(n)))GCC中可以使用__attribute__((regparm(n)))指定最多可以使用n个寄存器(
eax
,edx,ecx)传递参数,n的范围是0~3
dayancn
·
2016-04-10 11:00
Linux内核如何装载和启动一个可执行程序
intExecstaic(intargc,char*argv[]) { intpid; /*forkanotherprocess*/ asmvolatile( "mov$0x78,%%
eax
\n\t"
eyoulc123
·
2016-04-10 00:00
Linux内核创建一个新进程的过程
com/course/USTC-10000290001.准备在menu代码中增加fork函数intpid; /*forkanotherprocess*/ asmvolatile( "mov$0x78,%%
eax
eyoulc123
·
2016-04-03 01:00
linux
kernel
AT&T汇编指令总结
http://blogold.chinaunix.net/u3/92010/showart_2083551.html1.寄存器引用 引用寄存器要在寄存器号前加百分号%,如“movl %
eax
, %
ztguang
·
2016-03-30 10:00
Linux内核分析第六周总结
system_call是通过中断向量联系起来的系统调用机制的初始化用汇编代码编写系统调用的过程:确定出需传入的参数,以及函数的返回值选择适当的寄存器存储输入参数值,将输入参数值传给相应的寄存器将系统调用号存入到
eax
20135330张若嘉
·
2016-03-26 21:00
EAX
、ECX、EDX、EBX寄存器的作用
EAX
、ECX、EDX、EBX寄存器的作用一般寄存器:AX、BX、CX、DXAX:累积暂存器,BX:基底暂存器,CX:计数暂存器,DX:资料暂存器索引暂存器:SI、DISI:来源索引暂存器,DI:目的索引暂存器堆叠
dayancn
·
2016-03-25 11:00
Inter asm 与 AT&T asm 比较
这些寄存器在大多数指令中是可以任意选用的,比如movl指令可以把一个立即数传送到
eax
中,也可传送到ebx中。
liutianshx2012
·
2016-03-24 20:00
Shellcoding for Linux and Windows Tutorial
ShellcodingforLinuxandWindowsTutorial几年前的老文章看到顺便翻译了一下文中所有资源都可以在原文地址中取得:)http://www.vividmachines.com/shellcode/shellcode.html背景知识:1.
EAX
caterpillarous
·
2016-03-24 17:00
x86寄存器说明
X86寄存器说明ebp和esp是32位的SP,BPesp是堆栈指针ebp是基址指针ESP与SP的关系就象AX与AL,AH的关系.32位CPU所含有的寄存器有:4个数据寄存器(
EAX
、EBX、ECX和EDX
dayancn
·
2016-03-24 09:00
8086汇编寄存器常用指令
.PUSH把字压入堆栈.POP把字弹出堆栈.PUSHA把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈.POPA把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈.PUSHAD把
EAX
liangzhaoyang1
·
2016-03-23 22:00
汇编
指令
8086汇编寄存器常用指令
linux 系统调用(1)
系统调用也需要输入输出参数,例如实际的值用户态进程地址空间的变量的地址甚至是包含指向用户态函数的指针的数据结构的地址system_call是linux中所有系统调用的入口点,每个系统调用至少有一个参数,即由
eax
CLP_CSDNID
·
2016-03-20 14:00
汇编与高级语言(插图结合Delphi代码,来自linzhengqun)
寄存器寄存器用途
EAX
,EBX,EDX,ECX通用寄存器,由程序员自己指定用途,也有一些不成文的用法:
EAX
:常用于运算。EBX:常用于地址索引。ECX:常用于计数。EDX:常用于数据传递。
findumars
·
2016-03-18 22:00
说明一下++p 与 p++ 的区别。
先分析一下它的汇编代码(没有优化): ```c subl$40,%esp;分配40字节 movl$1,-16(%ebp);存储p movl$0,-12(%ebp);存储y movl-16(%ebp),%
eax
hyqsong
·
2016-03-15 22:00
面试题【1】:i++是否原子操作?并解释为什么?
首先要看编译器是怎么编译的,某些编译器比如VC在非优化版本中会编译为以下汇编代码:__asm{ moveax, dwordptr[i] inceax movdwordptr[i],
eax
天天顺利
·
2016-03-15 15:00
i++
xp得到KERNEL32.DLL基址的方法
基址的方法 _asm { //得到KERNEL32.DLL基址的方法 //assumefs:nothing//;打开FS寄存器 moveax,fs:[30h]//;得到PEB结构地址 moveax,[
eax
·
2016-03-14 00:00
ida入门(2)
这个桟帧的帧顶指针就会发生改变3、若有必要,调用函数会配置一个帧指针,保存调用方希望保持不变的内容(寄存器值)4、被调用函数为它可能需要的任何局部变分配空间,需要桟帧栈顶向上(-操作)开辟5、被调用函数返回值存放在
eax
HK_5788
·
2016-03-13 22:00
桟帧概念
ida入门
函数的参数调用方式
常见函数参数入栈方式
汇编语言寻址方式(Linux)
直接寻址方式:movl0x1234,%
eax
通式分解:地址或偏移(%基地址寄存器,%索引寄存器,比例因子)。直接将0x12345(16进制地址)中保存的值存到寄存器e
SourceHunter
·
2016-03-08 10:39
笔记
汇编语言寻址方式(Linux)
直接寻址方式:movl0x1234,%
eax
通式分解:地址或偏移(%基地址寄存器,%索引寄存器,比例因子)。直接将0x12345(16进制地址)中保存的值存到寄存器e
SourceHunter
·
2016-03-08 10:39
笔记
Kernel 2.4.0 之 head.S 为何用两次 jmp 刷新 EIP 寄存器
在arch\i386\kernel\head.S文件中,自line100开始有这么几行: movl %cr0,%
eax
orl $0x80000000,%
eax
movl %
eax
山鹰Sniper03
·
2016-03-07 17:12
kernel
2.4内核
JMP指令
指令预取队列
内核情景分析
Linux内核分析第二周总结
计算机的“三大法宝”:存储程序计算机函数调用堆栈中断机制堆栈是计算机运行高级语言的基础函数调用堆栈:32位X86通过函数调用堆栈来传递参数使用
eax
保存返回地址堆栈寄存器和堆栈操作:ebp仅记录当前函数的调用基址堆栈相关寄存器
20135330张若嘉
·
2016-03-05 12:00
linux内核分析 第一周 计算机是如何工作的 20125221银雪纯
main(void){ return f(6) + 3;}使用实验楼的linux环境得到的汇编代码如下: 1g: 2pushl%ebp 3movl%esp, %ebp 4movl8(%ebp), %
eax
20125221银雪纯
·
2016-02-28 20:00
概念拾遗(一)
General-PurposeRegisters 8bit:AH,AL, BH,BL, CH,CL, DH,DL16bit: AX,BX,CX,DX,BP,SI,DI,SP,[IP]32bit:
EAX
,
Maserati_
·
2016-02-28 11:00
计算机是如何工作的
寄存器: 寻址方式: 寄存器寻址 立即数寻址 直接寻址 间接寻址 变质寻址注意: 由于eip不能被程序员直接修改,所以(*)不能直接使用 函数调用堆栈是有逻辑上多个堆栈叠加起来的 函数的返回值默认使用
eax
20132113
·
2016-02-27 23:00
PED结构获取进程路径和命令行地址
PEB结构去查找所有进程模块 void*PEB=NULL; void*Pbi={NULL}; //fs:[30]就是PEB __asm { moveax,fs:[0x30] movPEB,
eax
dozeoo
·
2016-02-27 19:00
linux内核分析--计算机是如何工作的
) { returng(x); } intmain(void) { returnf(18)+11; }编译后的代码如下:g: pushl%ebp movl%esp,%ebp movl8(%ebp),%
eax
20135212池彬宁
·
2016-02-27 00:00
linux安全第一周总结——20135227黄晓妍
将其中一个数字修改为我学号272.在实验楼环境下将其保存为text.c并将其编译,得到text.s3.将.开头的多余的语句删去了之后,我得到了32位环境的汇编代码 我编的题目是:假设堆栈栈底初始值为100,写出eip,
eax
20135227黄晓妍
·
2016-02-25 22:00
学习C++反汇编-变量
0x004012f1:mov%esp,%ebp 0x004012f3:sub$0x18,%esp 0x004012f6:and$0xfffffff0,%esp 0x004012f9:mov$0x0,%
eax
qq_32400847
·
2016-02-25 09:00
AT&T汇编语法
example:为使用
eax
寄存器,汇编代码中将使用%
eax
。(如果在C中内联汇编的话,C代码必须指定两个百分号,才能在转给汇编器的输出中形成一个百分号)。源寄存器总是在目的寄存器之前指定。
liutianshx2012
·
2016-02-24 15:00
注意事项
#idivl要求被除数存放于%
eax
,且%edx的值为0,然后把商转存入%
eax
,余数存入%edx#除数可以是任何寄存器或者是内存地址的值
斯多葛先生
·
2016-02-23 20:00
x86寄存器
通用寄存器:%
eax
%ebx%ecx%edx%edi%esi专用寄存器:%ebp%esp%eip%eflags#%eip和%eflags只能通过特殊指令访问
斯多葛先生
·
2016-02-23 20:00
寄存器
X86
汇编语言
【小知识】为什么负数除二和右移一位的结果不一样?
第一句:F=X/200DF39F7moveax,dwordptr[ebp-58h];将X的值移到寄存器
eax
00DF39FAmovecx,2;将值2移到ecx 00DF39FF
TinyJian
·
2016-02-23 18:00
汇编
二进制除法
计算机如何工作
,存储程序计算机(1)从硬件 (2)从程序员CPU识别什么样的指令APIABI(接口)汇编指令X86汇编16bitAX 32bit
EAX
20135331文艺
·
2016-02-23 15:00
学习C++反汇编-for循环
0x004012f1:mov%esp,%ebp 0x004012f3:sub$0x18,%esp 0x004012f6:and$0xfffffff0,%esp 0x004012f9:mov$0x0,%
eax
qq_32400847
·
2016-02-19 15:00
关于编译性语言、解释性语言和脚本语言,动态语言,静态语言的区别
010010101010100101//100101010010101010//010101010100101010//汇编语言//5+6//movl$5-8(rbp)//movl$6-12(rbp)//movl-8(rbp)%
eax
lcg910978041
·
2016-02-19 10:00
汇编语言-AT&T汇编格式与Intel汇编格式的比较
语法上主要有以下几个不同. 1、寄存器命名原则AT&TIntel说明%eaxeaxIntel的不带百分号2、源/目的操作数顺序AT&TIntel说明movl%
eax
,%ebxmovebx,eaxIntel
qq_32400847
·
2016-02-18 21:00
一个脱壳中修复IAT表的列子
载入,入口是这样的我们用内存段法脱壳, Alt+M打开进程空间,在资源段中F2下断, shift+F9直接运行,断在下面的地方然后再Alt+M,在代码段F2下断,shift+F9运行,断在下面的地方看到
eax
SmallDouble
·
2016-02-16 11:00
上一页
14
15
16
17
18
19
20
21
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他