在逆向過程中感覺條件判斷是比較煩人的,一步判錯就結果相反,改變原來的程序流程。這里帖一段匯編代碼舉個例子。





















可以看到,在41FC99處的那個判斷語句是if (dx == di) then loc_41FCA6而41FC99后面的代碼則又跟著兩個條件跳轉,并且隨后的兩個條件語句的后續正好是41FC99的跳轉實現處,這就說明,這三個條件語句應是一體的,進一步看,0041FC9F 0041FCA4處的代碼都是跳轉到同一位置,可見這兩處條件判斷應是相與的關系,并且第一個條件語句41FC99處的和后面兩個的結果應是相或關系。可以將這段判斷語句寫成如果C代碼:
if (dx ==di || dx == 0x3F && di != NULL) .