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