如何鎖定編譯后的Java類以防止反編譯?如何鎖定已編譯的Java類以防止反編譯?我知道這一定是互聯(lián)網(wǎng)上討論得很好的話題,但我在提到它們之后,卻無法得出任何結(jié)論。很多人確實建議混淆器,但是他們只是用難以記住的字符序列來重命名類、方法和字段,但是敏感的常量值呢?例如,您已經(jīng)基于密碼的加密技術(shù)開發(fā)了加密和解密組件。在這種情況下,任何普通的Java人都可以使用賈德對類文件進行反編譯,并輕松檢索密碼值(定義為常量)以及食鹽然后,通過編寫小的獨立程序來解密數(shù)據(jù)!或者應(yīng)該在本機代碼中構(gòu)建這些敏感組件(例如,VC+)并通過JNI?
3 回答

墨色風(fēng)雨
TA貢獻1853條經(jīng)驗 獲得超6個贊
只要他們能夠訪問加密的數(shù)據(jù)和解密數(shù)據(jù)的軟件,基本上就沒有辦法使其完全安全。以前解決這一問題的方法是使用某種形式的外部黑匣子來處理加密/解密,如Dongles、遠(yuǎn)程身份驗證服務(wù)器等。但即便如此,考慮到用戶能夠完全訪問自己的系統(tǒng),這只會使事情變得困難,而不是不可能-除非您可以將產(chǎn)品直接綁定到存儲在“黑匣子”中的功能,比如在線游戲服務(wù)器
添加回答
舉報
0/150
提交
取消