2011-03-07 47 views
1

我有一個我正在嘗試修補的可執行文件。可執行文件使用XOR加密存儲字符串。我使用XORSearch來查找正在尋找的字符串。它返回:替換可執行文件(x86)中的異或字符串

找到XOR FD位置3E22:

現在我想改變這種狀況的字符串。我假設「FD」是xor鍵,所以如果我用FD對新字符串進行異或運算,我應該能夠修補可執行文件。問題是:我無法在可執行文件中找到該位置。我不確定3E22的意義。

請幫忙!

+1

這不是一個編程問題 – 2011-03-07 22:38:28

回答

0

這取決於如果你的代碼是可以重新定位的。通常好的程序員會創建可重寫的代碼,因爲它在使用分支條件時節省了一些空間。你想要的是先重新定位代碼,然後在該位置修補代碼。但是這樣的xor代碼很容易被統計分析所打破。你有鑰匙嗎?

1

位置3E22是十六進制的,意味着從一開始就是字節15906。