2010-07-28 72 views
1

我需要爲應用程序編輯一些cfg文件,但是如果我這樣做,應用程序將無法啓動,因爲它必須匹配。我沒有應用程序的來源。是否可以在不更改散列值的情況下修改文件

我想,如果哈希犯規匹配的exe文件的哈希值,它退出。

你能繞過這個莫名其妙嗎?

+8

ahahah ..好的一個。謝謝你的笑。 – Fosco 2010-07-28 01:16:34

+0

爲什麼downvotes?任何人都在意向OP解釋他/他對加密不瞭解的內容? – 2010-07-28 02:24:33

+0

我很想知道什麼程序正在被破壞到... – 2010-07-28 04:16:51

回答

2

您可以讓應用程序退出檢查,但沒有,沒有辦法複製現有文件的加密哈希值。這纔是重點。

1

文件是否存在具有所需的設置和相同的散列?可能

你能找到它嗎?幾乎可以肯定不會

7

其實,還有一種方法:

while(hash of malicious config file does not match original) 
{ 
    make random, non-functional change to malicious config file. 
} 

這可能需要一段時間。

+1

很好低估。 – 2010-07-28 01:22:03

1

現在是時候打破了你的反彙編,並拉開擺脫哈希校驗我怕的應用。沒有其他解決方案會及時做你想做的事情。

0

這種驗證有意難以規避。哈希函數的工作原理是,輸入的小變化會產生大量不同的輸出。這種情況下的支票正在儘自己的責任,不幸的是你的情況。

雖然在理論上有散列爲同樣的事情等投入,他們會從你的輸入非常不同的,不只是一點點不同。查找這些輸入也會像加密加密數據一樣耗時和困難。所以基本上沒有。

由於一些其他職位已經提到的,如果你是冒險和生死都岌岌可危,你可以拆開應用二進制和實際刪除的哈希機器語言檢查。雖然這是校隊忍者的工作。

3

如果程序使用的是良好的散列,那麼在不破壞散列的情況下就很難更改。某些應用程序使用相對較差的哈希。例如,如果可以將文件的32位設置爲任意值,則編輯文件相對容易,而不會影響CRC-32。任何想法什麼樣的散列函數被使用?

相關問題