mov dword ptr [ebp-4], 10h

C/C++ > C++ 语言 [问题点数:20分,结帖人srt266]
等级
本版专家分:5
结帖率 92.98%
等级
本版专家分:30206
勋章
Blank
黄花 2014年9月 C/C++大版内专家分月排行榜第二
2010年6月 Linux/Unix社区大版内专家分月排行榜第二
Blank
蓝花 2010年7月 Linux/Unix社区大版内专家分月排行榜第三
等级
本版专家分:25964
勋章
Blank
红花 2009年5月 C/C++大版内专家分月排行榜第一
Blank
蓝花 2009年6月 C/C++大版内专家分月排行榜第三
等级
本版专家分:388
等级
本版专家分:47
等级
本版专家分:3611
等级
本版专家分:388
等级
本版专家分:388
等级
本版专家分:21411
勋章
Blank
红花 2008年2月 Linux/Unix社区大版内专家分月排行榜第一
2007年7月 Linux/Unix社区大版内专家分月排行榜第一
Blank
黄花 2008年3月 Linux/Unix社区大版内专家分月排行榜第二
Blank
蓝花 2012年9月 Linux/Unix社区大版内专家分月排行榜第三
2007年6月 Linux/Unix社区大版内专家分月排行榜第三
等级
本版专家分:0
srt266

等级:

用汇编的眼光看c++(之模板函数)

【 声明:版权所有,欢迎转载,请勿用于商业用途。...  如果说模板类定义的是一种数据类型,那么模板函数定义的就是一种函数。既然是函数,那么就有输入数据和输出数据。和模板类的概念差不多,模板函数的初衷也是...

VC++中使用Disassembly查看代码

VC++中使用Disassembly查看代码  最近在恶补C/C++的基础知识。一直以来,遇到一些与编译器相关的小程序时,我往往都迷惑不解,每每思索都不得要领。最近一个同学告诉我用反汇编来查看编译的代码,什么都会变得...

If-else 三目运算符 底层实现 效率差异

读完文章后自己的一个小结: 在没有编译器优化的情况下三目运算符比If-else快,因为三目运算符还会使用额外的临时变量,它先运算后复制,If-else是直接赋值,所以速度会快,但是现在的编译器已经会把这些做优化,...

关于c++中printf 和 i++,++i的问题

在网上总流传着i++和++i问题的讨论。 在我新加的群里也存在着这样的讨论。服了(39523****) 23:14:22int i=8;printf(%d,-i++);我知道了输出的是-8我认为是-9 滅神(6823****) 23:21:45int a = 1;...输出:a=4;b=3;

用汇编的眼光看C++(之虚函数)

【 声明:版权所有,欢迎转载,请勿用于商业用途。...  虚函数是面向对象设计中的一个重要内容。它的出现使得我们只需要相同的接口函数,并可以得到不同的生成结果。但是有些朋友却知其然,不知其所以然,为什么会...

PE可执行文件的镶入式程序后门开发

/* 利用异常结构处理搜索GetProcAddress入口地址 */ #include #include main() { _asm { call ex//取得当前地址以计算异常结构开始的地址 mov eax,0x7700

函数调用堆栈变化情况

int goo(int a, int b) { return a + b; } void foo() { int a[] = {1, 2, 3}; int result = goo(a[1], a[2]); printf("result: %d", result); }

数组名和指针的区别

近段时间在整理自己大学几年来学习C++的点点滴滴,写这篇文章源于看林锐博士的《高质量C++指南》时,看到文章直接把指针和数组名视为同一东西,原文为“数组名本身就是一个指针,是一个指针常量,即a等价于int * ...

用汇编的眼光看C++(之算术符重载)

【 声明:版权所有,欢迎转载,请勿用于商业用途。...  算术符重载是类的有一个特性,但是每个人使用的方法不一样。用的好,则事半功倍;但是如果不正确的使用,则会后患无穷。... (1) 简单算术符介绍

7.asm-shellcode流程

shellcode就是汇编的opcode,一般以子函数形式出现: 取得shellcode的方便方式是: 1.写一个函数如: void __stdcall code(LONG &a, LONG &b, DWORD &c, LONG &d, ... mov ebp,esp sub

从汇编的眼光看C++(之delete内存泄露)

【 声明:版权所有,欢迎转载,请勿用于商业用途。...  有过C语言编程的朋友大多知道,如果在malloc内存之后不及时free掉内存,那么很有可能会造成内存泄露的。那么在C++上面,是不是也存在这样的问题呢?...

用汇编的眼光看C++(开篇)

【 声明:版权所有,欢迎转载,请勿用于商业用途。...    很多朋友,包括我自己在内,对C++语言的很多特性不是很明白。特别是几年前找工作的时候,为了应付来自工作单位的考试,我经常逼着自己的去记住一些复

汇编语言中PTR的含义及作用

汇编语言中PTR的含义及作用       mov ax,bx ;是把BX寄存器“里”的值赋予AX,由于二者都是word型,所以没有必要加“WORD”  mov ax,word ptr [bx];是把内存地址等于“BX寄存器的值”的地方所存放的...

C++中关于操作符先(++)后(++)问题的讨论

#includevoid main() { int x,a=4; x=a+(a++); printf("%d/n",x);}#includevoid main() { int a=4; a=a+(a++); printf("%d/n",a);} 请问为什么会输出不一样的结果?答:为了说明问题

If-else与三目运算符的区别

发现貌似If-else比三目运算?: 更快一点,汇编代码中后者比前者多了两条指令。 If-else先将需要赋的变量值传给寄存器然后再通过寄存器赋值给temp变量。而三目运算是先运算,再赋值!

WinDbg : 在Win7X64中调试x86应用层程序

主机环境: win7X64Sp1 装了WDK后, 默认的WinDbg是X64版本. 当WinDbg -I后, 是将X64程序的异常处理交给了WinDbgX64. 我写了个Demo, 搞了个野指针, 向野指针中写内容时, Demo挂了, WinDbgX64捕获不到. ...

HooK原理简析

通过反汇编代码的跟进,了解Hook的工作原理(使用Detours库实现Hook)

用汇编的眼光看C++(之类静态变量、静态函数)

【 声明:版权所有,欢迎转载,请勿用于商业用途。...  看过设计模式的朋友都知道,我们在设计单件模式的时候离不开类的静态函数。和类的成员变量不同,类的静态变量属于全部类对象数据;同样和类的成员函数不同,...

关于编译型语言函数的调用(二)

上文中提到的局部变量的地址,第一个是[ebp-4],由于32位内存对齐的原因,第二个是[ebp-8],对于VC7以上的版本,这个地址可能会不一样 比如第一个可能是[ebp-8],第二个飞到[ebp-14],这是VS.NET的VC编译器在每个局部变量...

Access violation reading at memory location xxx初探)

前段时间用C++写了一个DXF的转换程序,把DXF格式的图形数据转换为ESRI Personal GeoDatabase格式的MDB文件,我平时用C++写程序不多,所以对自己写的程序不是特别放心。在调试状态下跑了跑,工作正常,但是Output窗口...

用汇编的眼光看C++(之指针1)

【 声明:版权所有,欢迎转载,请勿用于商业用途。...    指针是我们在C/C++中经常遇到的一种数据类型。指针用的好,可以提高代码的可读性;但是如果使用不恰当,反而会造成很大的麻烦。指针,也就是指向某一种数据...

Zw函数与Nt函数的分别与联系

in ring3: lkd> ? ntdll!ZwOpenProcess Evaluate expression: 2089999739 = 7c92dd7b lkd> ?ntdll!NtOpenProcess Evaluate expression: 208999973

从逆向分析角度看C++的析构函数

有这么一段C++代码: #include class CExample { int x, y; public: CExample(int va, int vb) { x = va; y = vb; } CExample(const CExample& C) { x = C.x; y = C.y; } ... prin

一个关于push ret HOOK的问题随记一下。

在学习内核HOOK的问题,发现自已的基础就是XX,记录一下! 曾经的问题: //加入pushad 及popad 这样会不会影响到JMP地址各个寄存器, //因为以上代码和JMP到的地址代码为同一个函数。会吗? ...//以上汇编代码处理后...

C++ new和delete的原理分析

前言Effective C++ rule 16规则,让我重新认识了delete与new在处理数组时候的方式。new 有两种形式的new,一种是生成一个对象的operator New,另一个是用于数组的operator new []。同时 operator delete也分普通版本的...

部分C库函数重写以及反汇编分析之memcpy()

为了打牢基本功,重写部分C库函数(参考C库与别人的代码,并给出了测试代码),并对部分进行反汇编分析(用VC自带反汇编和OD)。在写程序过程中,会仔细验证很多以前模棱两可的知识点。 1. ...

通过汇编角度理解虚函数!

今天通过汇编角度在次理解一下虚函数.工作环境VC6方法DEBUG 跟踪MEMORY测试程序代码 虽然是测试程序但希望大家还是养成良好习惯 不要污染命名空间测试代码:#include "iostream"using std::cout;...

关于寄存器ESP和EBP的一些理解

一直对寄存器ESP和EBP的概念总是有些混淆,查看定义ESP是栈顶指针,EBP是存取堆栈指针。还是不能很透彻理解。之后借于一段汇编代码,总算是对两者有个比较清晰的理解。 下面是按调用约定__stdcall 调用函数test(int...

编程经验点滴(三)——《C、C++中指针加 1 的问题》

编程经验点滴(三)C、C++中指针加 1 的问题2004-11-23作 者:杨延庆E-mail:blankmanATtomDOTcom出 处:http://blog.csdn.net/blankman/archive/2004/11/23/programing_experience3.aspx 最近找工作也笔试和面试...

[挑战]还有比我这个更短更好的swap方法吗

相关热词 c# 为窗体增加资源文件 c#控制器怎么提示 c#常见异常 c#怎么写人机 c# xml转json c# 实例化名字 c#循环嵌套if语句 c# sql日期最小时间 c# sql 读取数据 c# 获取基类型