废话不多说。。
#include
class CNumber
{
public:
CNumber()
{
m_nOne = 1;
m_nTwo = 2;
}
int __stdcall GetNumberOne()
{
return m_nOne;
}
int GetNumberTwo()
{
return m_nTwo;
}1: #include
2:...
分类:
其他好文 时间:
2015-04-07 17:41:01
阅读次数:
152
编译器的工作过程中可以分为几个阶段:预处理-》词法分析-》语法分析-》语义分析-》中间代码生成-》目标代码生成。其中,优化的机会一般存在于中间代码生成或目标代码生成这两个阶段。尤其是在中间代码生成阶段所做的优化,这类优化不具备设备相关性,在不同的硬件环境中都能通用。debug下,为了调试方便,保持原...
分类:
编程语言 时间:
2015-04-07 15:30:32
阅读次数:
377
1、debug版int main(){011752E0 push ebp 011752E1 mov ebp,esp 011752E3 sub esp,0C0h 011752E9 push ebx 011752EA push...
分类:
编程语言 时间:
2015-04-07 11:35:57
阅读次数:
305
本节通过反汇编可执行文件得到的文件,研究函数栈帧的相关内容;...
分类:
其他好文 时间:
2015-04-05 23:35:38
阅读次数:
290
OllyDbg 主线程窗口:1. 汇编代码对应的地址窗口2. 汇编代码对应的十六进制机器码窗口3. 反汇编窗口4. 反汇编代码对应的注释信息窗口5. 寄存器信息窗口6. 当前执行到的反汇编代码的信息窗口7~9. 数据所在的内存地址,十六进制,ASCII码10~12.栈地址,存放的数据,对应说明信息O...
分类:
数据库 时间:
2015-04-05 11:54:45
阅读次数:
215
先贴上源代码
#include
void Show(char szBuf[])
{
strcpy(szBuf , "Hello World");
}
char* RetArray()
{
char szBuff[] = {"Hello World"};
return szBuff;
}
void main()
{
int nArray[5] = {1 , 2 , 3 , 4 , 5};...
分类:
编程语言 时间:
2015-04-04 15:18:47
阅读次数:
149
笔记比较零碎
只附上反汇编了。。。有待日后编辑完善
1: #include
2:
3: int main()
4: {
00401330 push ebp
00401331 mov ebp,esp
00401333 sub esp,6Ch
00401336 push ebx
004013...
分类:
其他好文 时间:
2015-04-04 15:16:43
阅读次数:
137
先来分析一个简单的例子。(注意容易出错)
代码非常简单
#include
#include
using namespace std;
int main(){
const int a = 1;
int* b = (int*)&a;
*b = 2;
cout << a << endl << *b << endl;
return 0;
}
反汇编分析 重点之处有注释
1: #i...
分类:
其他好文 时间:
2015-04-04 12:20:37
阅读次数:
127
先分析一个例子。
#include
class CBase
{
public:
CBase()
{
printf("CBase\n");
}
~CBase()
{
printf("~CBase\n");
}
void SetNumber(int nInt)
{
this->m_nNumber = nInt;
}
int GetNumber()
{
retu...
分类:
其他好文 时间:
2015-04-02 10:29:49
阅读次数:
102
先分析一个例子
#include
class CFurniture
{
public:
CFurniture()
{
m_nPrice = 0;
}
virtual ~CFurniture()
{
printf("virtual ~CFurniture()\n");
}
virtual int GetPrice()
{
return m_nPrice;
}
publ...
分类:
其他好文 时间:
2015-04-02 10:26:06
阅读次数:
229