使用相連的jz和jnz指令跳轉到緊接著jnz指令的call指令的第二個位元組。call指令實際上無效。驗證ida在反彙編時會識別出call指令。
作業系統:windows 7(安裝於virtualbox中的虛擬機器)
**編輯器:sublime text 3
編譯器:masm32
除錯、反彙編工具:ollydbg,ida pro 6.8
雖然實驗中使用的這種對抗反彙編方法會讓ida誤解析(od則不會),但好在ida用特異顏色在有疑問處做了標記(為什麼e8h後面的雙字資料會被標紅,原因還待解),可以依次判斷反彙編**存在的問題。
學習筆記 2011 07 03 反彙編
include using namespace std int main 00c514e6 jmp main 27h 0c514a7h int a 0 00c514e8 mov dword ptr a 0 return 0 00c514ef xor eax,eax 00c514f1 pop edi ...
C 反彙編學習筆記(二)
chinese 1 位址 指標 引用 c 中位址標號用16進製表示,取乙個變數位址使用 操作符,只有變數才存在記憶體位址,常量沒有位址 不包括const定義的偽常量 指標是一種資料型別,用於儲存各種資料型別在記憶體中的位址。指標變數也可以取出位址,所以會出現多級指標。c 中引用不可以單獨定義,定義的...
C 反彙編學習筆記(一)
chinese c 整數與浮點數的儲存方式 1 整數型別 無符號整數的所有位都用來表示數值,有符號整數的最高位是符號位,其餘位以補碼格式儲存。補碼規則就是用0減去這個數的絕對值 取反加一 首先我們知道x x 反碼 0xffffffff,因此x x 反碼 1 0,因此x 補碼 0 x x 反碼 1。補...