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
EBP
一个简单的时间片轮转多道程序内核代码
关于时间片轮转多道程序内核代码分析【当前进程与处于运行状态的目标进程切换】asmvolatile(1"pushl%%
ebp
\n\t"/*saveebp*/2"movl%%esp,%0\n\t"/*saveesp
sinat_34144680
·
2016-03-02 17:00
Linux内核分析第一课作业 栈分析
基本概念:常用寄存器:
ebp
栈底,esp栈顶,入栈是esp向低地址移动,出栈是esp向高地址移动eip指向的内存地址是下一行要执行的代码地址。
purely
·
2016-02-28 23:00
linux内核分析 第一周 计算机是如何工作的 20125221银雪纯
} int f(int x){ return g(x);} int main(void){ return f(6) + 3;}使用实验楼的linux环境得到的汇编代码如下: 1g: 2pushl%
ebp
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,EBX,ECX,EDX,
EBP
Maserati_
·
2016-02-28 11:00
Bxm做的第一个CrackMe
可在看雪论坛中查找关于此程序的讨论:传送门 OD载入程序,利用插件查看字串表,双击“破解成功”的字串进入关键算法:00402406|.50pusheax;/src 00402407|.8D45D0leaeax,dwordptr[
ebp
中二病也要写代码!
·
2016-02-28 11:00
linux内核分析--计算机是如何工作的
(intx) { returnx+9; } intf(intx) { returng(x); } intmain(void) { returnf(18)+11; }编译后的代码如下:g: pushl%
ebp
20135212池彬宁
·
2016-02-27 00:00
学习C++反汇编-内存对齐
test.a=0; test.b='a'; test.c=1.0f; return0; }生成的汇编代码:Dumpofassemblercodeforfunctionmain: 0x004012f0:push%
ebp
qq_32400847
·
2016-02-26 15:00
学习C++反汇编-多维数组的寻址
; printf("%d\n",Array[i][j]); return0; }生成的汇编代码:Dumpofassemblercodeforfunctionmain: 0x004012f0:push%
ebp
qq_32400847
·
2016-02-25 22:00
学习C++反汇编-下标分别为常量和变量的寻址
; printf("%d\n",array[argc]); return0; }生成的汇编代码:Dumpofassemblercodeforfunctionmain: 0x004012f0:push%
ebp
qq_32400847
·
2016-02-25 21:00
学习C++反汇编-下标寻址和指针寻址
"%c\n",*Buf1); printf("%c\n",Buf2[0]); }生成的汇编代码:Dumpofassemblercodeforfunctionmain: 0x004012f0:push%
ebp
qq_32400847
·
2016-02-25 21:00
《Linux操作系统分析》笔记1
){returnx+63;}intf(intx){returng(x);}intmain(void){returnf(68)+61;}汇编g:pushl%ebpmovl%esp,%ebpmovl8(%
ebp
Leovvin
·
2016-02-25 15:06
Linux
学习C++反汇编-数组初始化
charHello2[20]={"HelloWorld"}; return0; }生成的汇编代码:Dumpofassemblercodeforfunctionmain: 0x004012f0:push%
ebp
qq_32400847
·
2016-02-25 12:00
学习C++反汇编-变量
C++源代码:#include intglobal=5; voidtest(intx); intmain() { inti; for(i=0;i:push%
ebp
0x004012f1:mov%esp
qq_32400847
·
2016-02-25 09:00
x86寄存器
通用寄存器:%eax%ebx%ecx%edx%edi%esi专用寄存器:%
ebp
%esp%eip%eflags#%eip和%eflags只能通过特殊指令访问
斯多葛先生
·
2016-02-23 20:00
寄存器
X86
汇编语言
Windows调试——基本知识
基本寄存器和反汇编知识
EBP
:扩展基址指针寄存器(extendedbasepointer)其内存放一个指针,该指针指向系统栈最上面一个栈帧的底部。
cuglifangzheng
·
2016-02-23 19:30
软件调试
调试
【小知识】为什么负数除二和右移一位的结果不一样?
第一句:F=X/200DF39F7moveax,dwordptr[
ebp
-58h];将X的值移到寄存器eax 00DF39FAmovecx,2;将值2移到ecx 00DF39FF
TinyJian
·
2016-02-23 18:00
汇编
二进制除法
学习C++反汇编-for循环
C++源代码:#include intmain() { intnSum=0; intnIndex=0; intnCount=10; for(nIndex=0;nIndex:push%
ebp
0x004012f1
qq_32400847
·
2016-02-19 15:00
学习C++反汇编-do……while循环
C++源代码:#include intmain() { intnSum=0; intnIndex=0; do { nSum+=nIndex; nIndex++; }while(nIndex:push%
ebp
qq_32400847
·
2016-02-19 12:00
C++ new到底new什么
0F711EAh)//调用new函数返回分配的地址addr---0F711EAh是指令jmpoperatornew的地址 00F714D5addesp,4//恢复栈 00F714D8movdwordptr[
ebp
jerrylsxu
·
2016-02-02 08:00
C++ new到底new什么
0F711EAh)//调用new函数返回分配的地址addr---0F711EAh是指令jmpoperatornew的地址 00F714D5addesp,4//恢复栈 00F714D8movdwordptr[
ebp
jerrylsxu
·
2016-02-02 08:00
C函数的调用过程 栈帧
寄存器
ebp
指向当前的栈帧的底部(高地址),寄存器esp指向当前的栈帧的顶部(低地址)。
行走的蜗牛
·
2016-01-17 10:36
C语言
函数调用
栈帧
C函数的调用过程 栈帧
寄存器
ebp
指向当前的栈帧的底部(高地址),寄存器esp指向当前的栈帧的顶部(低地址)。
行走的蜗牛
·
2016-01-17 10:36
C语言
函数调用
栈帧
Windows中进程的内存结构
CPU的ESP寄存器存放当前线程的栈顶指针,
EBP
寄存器中保存当前线程的栈底指针。CPU的EIP寄存器存放下一个CPU指令
zhubosa
·
2016-01-11 14:00
基于栈的虚拟机 VS 基于寄存器的虚拟机
另外在学习C++或者C语言时,对函数调用栈帧非常熟悉,什么函数调用前压参、保存寄存器值、
EBP
、ESP或者函数返回值如何传递,更深层次的如对象的this指针如何传递,或者C++的RTTI以及C++内部的实现机制
电影旅行敲代码
·
2015-12-17 21:52
编译
C语言基础(二)
2)pushl Spushl %
ebp
的行为等价于subl $4, %esp Decrement stack pointerMovl %
ebp
, %(esp)
jiangxt211
·
2015-12-13 22:00
j++与++j
(j++)+(++j)+(++j)核心部分汇编代码执行顺序j原始值为5,存放在栈的
ebp
-4中;q无初始值,存放在栈的
ebp
-8中先执行一次j自增赋值++j ;j=6执行第一个加法运算;值存放在CX中CX
魔术师LYX
·
2015-12-04 14:00
[PWN]fsb with stack frame
phrack.org/issues/59/7.html 0x01:在函数调用的时候,会开辟一段空间去给当前函数使用,做法是通过抬高栈来实现(subesp,0x**),为了执行函数后能正确的返回,栈基指针
ebp
何沐
·
2015-12-02 15:00
修改函数返回地址
函数返回地址掌握技巧后挺好找的,我们从书上的内存剖析图知道,返回地址就在
EBP
的内存块。
pettergo00
·
2015-12-01 11:16
修改返回地址
3.61家庭作业与20135316合作
3.61题中代码在循环时会产生6个临时的变量,故共需要六个寄存器在存放数据,但是由于处理器的六个寄存器中,%esp和%
ebp
不能用于存放临时数据,而且另外一个寄存器还必须用来保存乘法指令的结果。
武西垚
·
2015-11-30 21:00
3.61家庭作业与20135316合作
3.61题中代码在循环时会产生6个临时的变量,故共需要六个寄存器在存放数据,但是由于处理器的六个寄存器中,%esp和%
ebp
不能用于存放临时数据,而且另外一个寄存器还必须用来保存乘法指令的结果。
武西垚
·
2015-11-30 21:00
迄今我最喜欢的一段代码-栈回溯
TEB中找相关结构获取信息外,还可以利用栈帧关系来回溯父辈函数.原理是大部分编译器生成的win32汇编代码在新的call的开始使用如下方式保护栈帧:pushebpmovebp,esp执行过这两条指令后,
ebp
dalerkd
·
2015-11-16 14:38
深造之旅
一步一步写算法(之递归和堆栈)
联系信箱:feixiaoxing @163.com】 看过我前面博客的朋友都清楚,函数调用主要依靠
ebp
和esp的堆栈互动来实现的。
·
2015-11-13 20:37
算法
SlickEdit 2010破解
xor eax, eax也就是文件 slickedit/bin/vs 的偏移 0x304CD 处的 89 F0 改成 33 C0windows版本0040F750 : mov eax,
ebp
·
2015-11-13 16:57
it
LCC编译器的源程序分析(45)函数代码入口和出口的代码生成
#003 $main: #004 push ebx #005 push esi #006 push edi #007 push
ebp
·
2015-11-13 16:54
代码生成
理解栈帧
寄存器
ebp
指向当前的栈帧的底部(高地址),寄存器esp指向当前的栈帧的顶部(地址地)。
·
2015-11-13 10:55
理解
关于IoAttachDeviceToDeviceStack
IoAttachDeviceToDeviceStack:804f1aac 8bff mov edi,edi804f1aae 55 push
ebp
804f1aaf 8
·
2015-11-13 09:35
device
汇编要点汇总
循环执行的过程 分支执行过程 stos=storagestring 4.c规范(函数堆栈操作) push
ebp
·
2015-11-13 09:17
汇编
ebp
,esp
在win32的环境下
EBP
寄存器用与存放在进入call以后的ESP的值,便于退出的时候回复ESP 的值,达到堆栈平衡的目的。 应用以前说过的一段话: 原程序的OEP,通常是一开始以 Push
·
2015-11-13 09:08
SP
用汇编的思路理解VC++函数调用
空程序: int main() { 00411360 push
ebp
;压入
ebp
00411361 mov
ebp
,esp ;
ebp
= esp,保留esp,待函数调用完再恢复,因为函数调用中肯定会用到
·
2015-11-13 08:09
vc++
栈帧
寄存器
ebp
指向当前的栈帧的底部(高地址),寄存器esp指向当前的栈帧的顶部(地址地)。
·
2015-11-13 06:16
栈
虚函数的调用过程
(mov ecx,dword ptr [
ebp
-0Ch])将this指针压入ecx 2.
·
2015-11-12 15:34
虚函数
C++堆和栈的比较
CPU的ESP寄存器(堆 栈指针,Stack Pointer)存放当前线程的栈顶指针,
EBP
寄存器
·
2015-11-12 13:55
C++
OEP入口的特征
入口的特征 入口特征............Microsoft Visual C++ 6.0push ebpmov
ebp
·
2015-11-12 13:10
汇编lea 指令与 mov 指令
一般都差不多像下面的样子: push
ebp
mov esp,
ebp
·
2015-11-12 09:34
汇编
win32 汇编基础
一、关于寄存器 寄存器有EAX,EBX,ECX,EDX,EDI,ESI,ESP,
EBP
等,似乎IP也是寄存器,但只有在CALL/RET在中会默认使用它,其它情况很少使用到,暂时可以不用理会。
·
2015-11-12 09:32
Win32
获取上层调用函数地址的代码
_asm { add
ebp
,4 mov eax,[
ebp
] sub
ebp
,4 mov callerAdress,eax } #define CALLER_ADDRESS_STDCALL(x) / _
·
2015-11-12 08:49
函数
C与汇编的接口技术
1.保存寄存器 首先,C假定子程序保存了下面这几个寄存器的值:EBX,ESI,EDI,
EBP
,CS,DS,SS,ES。这并不意味着不能在子程序内部修改他们。
·
2015-11-11 16:02
接口
rep stos dword ptr es:[edi]
documents\visual studio 2005\projects\mytest\mytest\main.c @ 32]: 32 0042f780 55 push
ebp
·
2015-11-11 15:07
word
了解
EBP
寄存器
在win32的环境下
EBP
寄存器用与存放在进入call以后的E
·
2015-11-11 14:51
B
转:C函数调用理解
1 空函数 int main() { 00411360 push
ebp
;压入
ebp
00411361 mov
ebp
,esp ;
ebp
= esp,保留esp,待函数调用完再恢复,因为函数调用中肯定会用到
·
2015-11-11 10:35
函数
上一页
13
14
15
16
17
18
19
20
下一页
按字母分类:
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
其他