2011-12-06 20 views
2

我一直在反編譯一段代碼,我認爲它是惡意軟件,我試圖找出它的作用。它搜索特定的窗口標題並使用該窗口的名稱來解碼其餘的指令。我試過通過它運行常見的窗口標題列表(記事本,Document1 - 微軟Word等),以提出正確的窗口標題。使用標題散列值查找特定的窗口

我已經重寫它使用哈希在Python:

def encode(inStr): 
    a = 0x133F00D 
    i = 0 

    for j in inStr: 
    temp = ord(j)*8 * ((i << 0xC)+1) 
    a = a^ temp 
    i = i + 1 
    print hex(a) 

和我在尋找一個字符串,它帶給我的價值0x2227205。看看哈希函數,它看起來像是一種方式並且有碰撞。尋找它試圖抓住的窗口標題有什麼好方法?是否有常見窗口標題的防線上網站列表?我應該運行字典攻擊嗎?什麼是最好的方法?

+0

如果惡意軟件作者花費了大量的精力來混淆代碼,我懷疑你不會在常見標題字典中找到窗口標題 - 在某處會有一些unicode替換,以使標題可見似是而非,但難以猜測。除非有人在之前遇到併發布過此惡意軟件,否則您可能會遭遇強力搜索。 – Dave

回答

0

如果窗口標題足夠長,您將無法用暴力攻擊找到它,可能它甚至不會幫助您找到與哈希相匹配的標題。惡意軟件可以檢查是否有另一個本身的實例。

我會建議使用調試器在vm甚至更好的專用計算機上運行惡意軟件(可能沒有網絡來確認,或者假的網絡來檢查活動)。然後您可以檢查是否可以在那裏找到匹配散列的窗口。

如果你堅持使用該python代碼btw,確保你具有與惡意軟件相同的溢出行爲(尤其是相同長度的整數)。