如何破解密碼:識(shí)別加密哈希算法
問(wèn):是否有可能從密碼位序列中識(shí)別加密算法?
答:假設(shè)你想要查看從外部源來(lái)的數(shù)據(jù)包(可能已用幾個(gè)方法加密),并且想用正確的解密工具來(lái)解密數(shù)據(jù)包。***種答案是“可以”,第二種答案是“這可能是一個(gè)非法的活動(dòng)?!痹谠S多國(guó)家,逆向工程保護(hù)機(jī)制(如加密)是非法的。
盡管如此,如果你還想繼續(xù),你可以在十六進(jìn)制編輯器里查看二進(jìn)制文件(DLL, EXE等),它可能會(huì)顯示一個(gè)字符串,表示一個(gè)特定的加密哈希算法。你還可能發(fā)現(xiàn)一個(gè)字符串,指示特定的第三方加密庫(kù)。
另外還要檢查DLL的名稱。如果存在ssleay.dll或libeay.dll,那么很容易知道該數(shù)據(jù)包是用SSL加密的。如果加密使用一個(gè)第三方庫(kù),那么就可以查找該庫(kù)導(dǎo)出的功能,看它們采用的是什么參數(shù),以及它們是如何使用的。然后,你可以捕獲你感興趣的調(diào)用:例如,用LIBeay或SSLeay,你可以看ssl_read和ssl_write。這樣你就可以訪問(wèn)純文本,然后就可以開始轉(zhuǎn)存整個(gè)會(huì)話,審查原始協(xié)議。
如果加密看起來(lái)是內(nèi)置于可執(zhí)行文件,或加密作家使用他或她自己的代碼,那么你需要用調(diào)試器來(lái)探測(cè),查明在socket read后,數(shù)據(jù)去哪了。這應(yīng)該可以幫助您找到解密例程。記住,這些活動(dòng)要求你有相當(dāng)廣泛的調(diào)試工具和可執(zhí)行編輯的經(jīng)驗(yàn),所以如果你不熟悉這些,那么我***的答案是“不能”。
【編輯推薦】