64,654
社区成员
发帖
与我相关
我的任务
分享
OD载入,查找超级字符串
004377CE . C745 F8 B40F4>MOV DWORD PTR SS:[EBP-8],main.004A0FB4 ; hello,world
004377D5 . 68 DA474300 PUSH main.004347DA
004377DA . 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
004377DD . 50 PUSH EAX
004377DE . 68 386B4B00 PUSH main.004B6B38
004377E3 . E8 D5D8FFFF CALL main.004350BD
004377E8 . 83C4 08 ADD ESP,8
004377EB . 8BC8 MOV ECX,EAX
00402A51 |. 68 58424100 PUSH main.00414258 ; hello,world
00402A56 |. 68 90A54100 PUSH main.0041A590
00402A5B |. E8 70FBFFFF CALL main.004025D0
00402A60 |. 83C4 08 ADD ESP,8
00402A63 |. 8BF0 MOV ESI,EAX
00402A65 |. 6A 0A PUSH 0A
00402A67 |. 8BCE MOV ECX,ESI
00402A69 |. E8 72FDFFFF CALL main.004027E0
00402A6E |. 8BCE MOV ECX,ESI
00402A70 |. E8 9BF7FFFF CALL main.00402210
00402A75 |. B9 F4A44100 MOV ECX,main.0041A4F4
00402A7A |. E8 91FEFFFF CALL main.00402910
程序:
#include <iostream>
using namespace std;
int main()
{
const char *strHello = "Hello,world";
cout<<strHello<<endl;
cin.get();
return 0;
}
void main()
{
int b; //栈
char s[] = "abc"; //栈
char *p2; //栈
char *p3 = "123456"; //123456{post.content}在常量区,p3在栈上
static int c = 0; //全局(静态)初始化区
p1 = (char *)malloc(10); //分配得来得10字节的区域在堆区
p2 = (char *)malloc(20); //分配得来得20字节的区域在堆区
strcpy(p1, "123456");
//123456{post.content}放在常量区,编译器可能会将它与p3所指向的"123456"优化成一块
}