C++程序反編譯筆記(9) 冗余的if
????在重構(gòu)IDA Pro的代碼時, 我發(fā)現(xiàn)了如下句式:

????上面的語句中 if(b){...} 部分完全相同. 也就是 a && b || !a && b時, 執(zhí)行 語句1, 根據(jù)離散數(shù)學中的知識, 可以去掉條件a. 因此, 原代碼可以重構(gòu)為:
????

????如果丟掉了離散數(shù)學的話, 可以看看真值表:
????

????最終表達式的值完全等于b的值.
標簽:
????在重構(gòu)IDA Pro的代碼時, 我發(fā)現(xiàn)了如下句式:
????上面的語句中 if(b){...} 部分完全相同. 也就是 a && b || !a && b時, 執(zhí)行 語句1, 根據(jù)離散數(shù)學中的知識, 可以去掉條件a. 因此, 原代碼可以重構(gòu)為:
????
????如果丟掉了離散數(shù)學的話, 可以看看真值表:
????
????最終表達式的值完全等于b的值.