実行(F5)
デバッグ>ウィンドウ>逆アセンブル
※VisualStudio2015Community使用
元ソース
#include<iostream>
void main()
{
char* cstr = "abcdefg";
char str[] = "abcdefg";
system("pause"); // ここでブレークポイント入れた
}
実行>デバッグ>ウィンドウ>逆アセンブル (1部のみ)
--- c:\xxxxxxxx\consoleapplication2015\consoleapplication2015\main2015.cpp
#include<iostream>
void main()
{
013C1700 push ebp
013C1701 mov ebp,esp
013C1703 sub esp,0E0h
013C1709 push ebx
013C170A push esi
013C170B push edi
013C170C lea edi,[ebp-0E0h]
013C1712 mov ecx,38h
013C1717 mov eax,0CCCCCCCCh
013C171C rep stos dword ptr es:[edi]
013C171E mov eax,dword ptr [__security_cookie (013C9004h)]
013C1723 xor eax,ebp
013C1725 mov dword ptr [ebp-4],eax
char* cstr = "abcdefg";
013C1728 mov dword ptr [cstr],offset string "abcdefg" (013C6B30h)
char str[] = "abcdefg";
013C172F mov eax,dword ptr [string "abcdefg" (013C6B30h)]
013C1734 mov dword ptr [str],eax
013C1737 mov ecx,dword ptr ds:[13C6B34h]
013C173D mov dword ptr [ebp-18h],ecx
system("pause");
013C1740 mov esi,esp
013C1742 push offset string "pause" (013C6B3Ch)
013C1747 call dword ptr [__imp__system (013CA168h)]
013C174D add esp,4
013C1750 cmp esi,esp
013C1752 call __RTC_CheckEsp (013C1118h)
}
013C1757 xor eax,eax
013C1759 push edx
013C175A mov ecx,ebp
013C175C push eax
013C175D lea edx,ds:[13C1788h]
013C1763 call @_RTC_CheckStackVars@8 (013C125Dh)
013C1768 pop eax
013C1769 pop edx
013C176A pop edi
013C176B pop esi
013C176C pop ebx
013C176D mov ecx,dword ptr [ebp-4]
013C1770 xor ecx,ebp
013C1772 call @__security_check_cookie@4 (013C1271h)
013C1777 add esp,0E0h
013C177D cmp ebp,esp
013C177F call __RTC_CheckEsp (013C1118h)
013C1784 mov esp,ebp
013C1786 pop ebp
013C1787 ret
013C1788 add dword ptr [eax],eax
013C178A add byte ptr [eax],al
013C178C nop
013C178D pop ss
013C178E cmp al,1
013C1790 in al,0FFh
013C1792 ?? ??
013C1793 dec dword ptr [eax]
013C1795 add byte ptr [eax],al
013C1797 add byte ptr [edi+edx+7473013Ch],bl
013C179E jb _main+0A0h (013C17A0h)
--- ソース ファイルがありません -------------------------------------------------------------