我需要爲應用程序編輯一些cfg文件,但是如果我這樣做,應用程序將無法啓動,因爲它必須匹配。我沒有應用程序的來源。是否可以在不更改散列值的情況下修改文件
我想,如果哈希犯規匹配的exe文件的哈希值,它退出。
你能繞過這個莫名其妙嗎?
我需要爲應用程序編輯一些cfg文件,但是如果我這樣做,應用程序將無法啓動,因爲它必須匹配。我沒有應用程序的來源。是否可以在不更改散列值的情況下修改文件
我想,如果哈希犯規匹配的exe文件的哈希值,它退出。
你能繞過這個莫名其妙嗎?
您可以讓應用程序退出檢查,但沒有,沒有辦法複製現有文件的加密哈希值。這纔是重點。
文件是否存在具有所需的設置和相同的散列?可能
你能找到它嗎?幾乎可以肯定不會
其實,還有一種方法:
while(hash of malicious config file does not match original)
{
make random, non-functional change to malicious config file.
}
這可能需要一段時間。
很好低估。 – 2010-07-28 01:22:03
隨着cretain的哈希算法,可以將數據添加到文件的末尾(如果一個XML文件,比方說,裏面註釋標記)。但它可能比它的價值更麻煩。例如,http://www.schneier.com/blog/archives/2005/06/more_md5_collis.html
現在是時候打破了你的反彙編,並拉開擺脫哈希校驗我怕的應用。沒有其他解決方案會及時做你想做的事情。
這種驗證有意難以規避。哈希函數的工作原理是,輸入的小變化會產生大量不同的輸出。這種情況下的支票正在儘自己的責任,不幸的是你的情況。
雖然在理論上有散列爲同樣的事情等投入,他們會從你的輸入非常不同的,不只是一點點不同。查找這些輸入也會像加密加密數據一樣耗時和困難。所以基本上沒有。
由於一些其他職位已經提到的,如果你是冒險和生死都岌岌可危,你可以拆開應用二進制和實際刪除的哈希機器語言檢查。雖然這是校隊忍者的工作。
如果程序使用的是良好的散列,那麼在不破壞散列的情況下就很難更改。某些應用程序使用相對較差的哈希。例如,如果可以將文件的32位設置爲任意值,則編輯文件相對容易,而不會影響CRC-32。任何想法什麼樣的散列函數被使用?
ahahah ..好的一個。謝謝你的笑。 – Fosco 2010-07-28 01:16:34
爲什麼downvotes?任何人都在意向OP解釋他/他對加密不瞭解的內容? – 2010-07-28 02:24:33
我很想知道什麼程序正在被破壞到... – 2010-07-28 04:16:51