00401500 push ebp
00401501 mov ebp,esp
00401503 sub esp,44h
00401506 push ebx
00401507 push esi
00401508 push edi
00401509 lea edi,[ebp-44h]
0040150c mov ecx,11h
00401511 mov eax,0cccccccch
00401516 rep stos dword ptr [edi] // 初始化
32: int x=3;
00401518 mov dword ptr [ebp-4],3 // 區域性變數ebp-4賦值
33: if (5>x)
0040151f cmp dword ptr [ebp-4],5 // 區域性變數和5比較
00401523 jge grammar_if_else_if+45h (00401545) // 大於等於則跳向下乙個個分支語句.否則繼續向下執行
34:
37: else if (5>::operator<<) (0040107d)
40: }
41: else
00401569 jmp grammar_if_else_if+89h (00401589) // 輸出大於後直接跳向分支語句結束
42:
45: }
00401589 pop edi // 平衡堆疊
0040158a pop esi
0040158b pop ebx
0040158c add esp,44h
0040158f cmp ebp,esp
00401591 call __chkesp (004091d0)
00401596 mov esp,ebp
00401598 pop ebp
00401599 ret // 返回給呼叫者
C語言反彙編
這裡使用的是keil4軟體,將編寫的c語言程式彙編成組合語言。這裡只用最簡單的c語言做了一下參考,所舉的例子是最簡單的,只能用於了解一下彙編的表達方式。如圖所示,條件判斷語句的彙編語句表達是賦值後與進行異或比較,再判斷是否進行跳轉。將立即數03賦值給累加器a,然後將累加器a的值與立即數05進行異或 ...
C反彙編例項(詳細註解版)(三)
上次我分析了一下,debug 模式下反彙編後的演算法部分 天才的您可能覺得不算糟,想再搞點花樣,那麼本文就能滿足你的需求。天書夜讀上其實還貼出來了 release 模式下的 它經過 vc編譯器 o2的優化,我初次看到反彙編 時,還真汗了一把。不過定下心來細細品位還是可以看懂的,儘管正如原書所說,連語...
C反彙編例項(詳細註解版)(三)
上次我分析了一下,debug 模式下反彙編後的演算法部分 天才的您可能覺得不算糟,想再搞點花樣,那麼本文就能滿足你的需求。天書夜讀上其實還貼出來了 release 模式下的 它經過 vc編譯器 o2的優化,我初次看到反彙編 時,還真汗了一把。不過定下心來細細品位還是可以看懂的,儘管正如原書所說,連語...