--- c:\users\내문서\documents\visual studio 2012\projects\bo\bo\소스.c --------------
void main()
{
00F53400 55 push ebp
00F53401 8B EC mov ebp,esp
00F53403 81 EC E8 00 00 00 sub esp,0E8h
00F53409 53 push ebx
00F5340A 56 push esi
00F5340B 57 push edi
00F5340C 8D BD 18 FF FF FF lea edi,[ebp-0E8h]
00F53412 B9 3A 00 00 00 mov ecx,3Ah
00F53417 B8 CC CC CC CC mov eax,0CCCCCCCCh
00F5341C F3 AB rep stos dword ptr es:[edi]
int a, b;
char mbf[6];
a= 1;
00F5341E C7 45 F8 01 00 00 00 mov dword ptr [a],1
b = 2;
00F53425 C7 45 EC 02 00 00 00 mov dword ptr [b],2
f(a,b);
00F5342C 8B 45 EC mov eax,dword ptr [b]
00F5342F 50 push eax
00F53430 8B 4D F8 mov ecx,dword ptr [a]
00F53433 51 push ecx
00F53434 E8 3F DC FF FF call _f (0F51078h)
00F53439 83 C4 08 add esp,8
printf("a");
00F5343C 8B F4 mov esi,esp
00F5343E 68 B0 58 F5 00 push 0F558B0h
00F53443 FF 15 B8 92 F5 00 call dword ptr ds:[0F592B8h]
00F53449 83 C4 04 add esp,4
00F5344C 3B F4 cmp esi,esp
00F5344E E8 8D DD FF FF call __RTC_CheckEsp (0F511E0h)
printf("z");
00F53453 8B F4 mov esi,esp
00F53455 68 B4 58 F5 00 push 0F558B4h
00F5345A FF 15 B8 92 F5 00 call dword ptr ds:[0F592B8h]
00F53460 83 C4 04 add esp,4
00F53463 3B F4 cmp esi,esp
00F53465 E8 76 DD FF FF call __RTC_CheckEsp (0F511E0h)
}
00F5346A 33 C0 xor eax,eax
00F5346C 52 push edx
00F5346D 8B CD mov ecx,ebp
00F5346F 50 push eax
00F53470 8D 15 94 34 F5 00 lea edx,ds:[0F53494h]
00F53476 E8 5B DD FF FF call @_RTC_CheckStackVars@8 (0F511D6h)
00F5347B 58 pop eax
00F5347C 5A pop edx
00F5347D 5F pop edi
00F5347E 5E pop esi
00F5347F 5B pop ebx
00F53480 81 C4 E8 00 00 00 add esp,0E8h
00F53486 3B EC cmp ebp,esp
00F53488 E8 53 DD FF FF call __RTC_CheckEsp (0F511E0h)
00F5348D 8B E5 mov esp,ebp
00F5348F 5D pop ebp
00F53490 C3 ret
00F53491 8D 49 00 lea ecx,[ecx]
00F53494 01 00 add dword ptr [eax],eax
00F53496 00 00 add byte ptr [eax],al
00F53498 9C pushfd
00F53499 34 F5 xor al,0F5h
00F5349B 00 DC add ah,bl
00F5349D ?? ?? ??
00F5349E ?? ?? ??
00F5349F FF 06 inc dword ptr [esi]
00F534A1 00 00 add byte ptr [eax],al
00F534A3 00 A8 34 F5 00 6D add byte ptr [eax+6D00F534h],ch
00F534A9 62 66 00 bound esp,qword ptr [esi]
--- 소스 파일이 없습니다. ---------------------------------------------------------------
BOF 예제인데 진짜 모르겠음.
파괴의 광학이라는 책인데 8장(버퍼 오버플로우)만 건너 뛰고 16장 까지 읽고 다시 8장 왔는데 그때도 뭔 개소리인지 몰랐고, 지금도 뭔 개소리 인지 모르겠다.
리버싱 핵심 원리도 뒤져보고, 어셈블리도 뒤져보고 했는데 진짜 답이 않나옴.
댓글 0