如何通過識別來破解算法
問:是否有可能從密碼位序列中識別加密算法?
答:假設(shè)你想要查看從外部源來的數(shù)據(jù)包(可能已用幾個方法加密),并且想用正確的解密工具來解密數(shù)據(jù)包。第一種答案是“可以”,第二種答案是“這可能是一個非法的活動?!痹谠S多國家,逆向工程保護(hù)機(jī)制(如加密)是非法的。
盡管如此,如果你還想繼續(xù),你可以在十六進(jìn)制編輯器里查看二進(jìn)制文件(DLL, EXE等),它可能會顯示一個字符串,表示一個特定的加密哈希算法。你還可能發(fā)現(xiàn)一個字符串,指示特定的第三方加密庫。
另外還要檢查DLL的名稱。如果存在ssleay.dll或libeay.dll,那么很容易知道該數(shù)據(jù)包是用SSL加密的。如果加密使用一個第三方庫,那么就可以查找該庫導(dǎo)出的功能,看它們采用的是什么參數(shù),以及它們是如何使用的。然后,你可以捕獲你感興趣的調(diào)用:例如,用LIBeay或SSLeay,你可以看ssl_read和ssl_write。這樣你就可以訪問純文本,然后就可以開始轉(zhuǎn)存整個會話,審查原始協(xié)議。
如果加密看起來是內(nèi)置于可執(zhí)行文件,或加密作家使用他或她自己的代碼,那么你需要用調(diào)試器來探測,查明在socket read后,數(shù)據(jù)去哪了。這應(yīng)該可以幫助您找到解密例程。記住,這些活動要求你有相當(dāng)廣泛的調(diào)試工具和可執(zhí)行編輯的經(jīng)驗(yàn),所以如果你不熟悉這些,那么我最后的答案是“不能”。
聲明:本站所有文章,如無特殊說明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個人或組織,在未征得本站同意時,禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書籍等各類媒體平臺。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。











