同樣,破解該軟件只是個(gè)人愛(ài)好,注冊(cè)機(jī)不會(huì)發(fā)布。
該軟除了用到多種加密算法外(包括數(shù)字簽名、非對(duì)稱(chēng)加密、對(duì)稱(chēng)加密、CRC校驗(yàn)、變種Base64編碼等),最讓人頭痛的應(yīng)該是反調(diào)試和字節(jié)碼混淆。我們知道,在JAVA的重載中,反回值的類(lèi)型并不做為重載簽名?;煜蟮拇a反編譯后會(huì)發(fā)現(xiàn)大量同名函數(shù),參數(shù)類(lèi)型也一樣,所不同的只是反回值類(lèi)型的不同。分析這樣的代碼往往會(huì)把你帶進(jìn)“誤區(qū)”——跟進(jìn)了不是系統(tǒng)調(diào)用的函數(shù)。而且,這樣的函數(shù)也無(wú)法用字節(jié)碼工具直接修改。反調(diào)試功能讓該軟件無(wú)法通過(guò)調(diào)試工具運(yùn)行,這樣你只能一步步分析反編譯你的代碼。
圖: