課程
/移動開發(fā)
/Android
/Android網(wǎng)絡(luò)安全之加解密
如題,如何去防止反編譯或者是比較好的保存常量
2020-04-10
源自:Android網(wǎng)絡(luò)安全之加解密 6-5
正在回答
同學(xué)您好,這個就屬于進階課程的內(nèi)容了,簡單說可以通過動態(tài)鏈接庫或者Framework來解決。
首先要清楚我們加密的目的不是讓其他人無法破解,而是通過使用盡可能低的成本來最大程度提高破解門檻;
然后對于Java/Kotlin以及OC/Swift而言,逆向是非常簡單的事情,所以我們認為破解難度低;
基于此最簡單的操作就是將涉密代碼,包括同學(xué)提到的密鑰等常量通過C/C++等Native語言編寫,以so/framework的形式打包到安裝包中,這樣我們的開發(fā)成本并不會高很多,但是對于C的逆向門檻要求會比較高,這是最常見的解決方法。
當然在對C/C++打包之后還會有一些引申問題,比如二次打包、簽名校驗等等,如果有興趣歡迎隨時找我探討交流
舉報
在不安全的網(wǎng)絡(luò)環(huán)境中,如何安全的傳輸敏感數(shù)據(jù)
1 回答發(fā)現(xiàn)兩個問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2021-07-25
同學(xué)您好,這個就屬于進階課程的內(nèi)容了,簡單說可以通過動態(tài)鏈接庫或者Framework來解決。
首先要清楚我們加密的目的不是讓其他人無法破解,而是通過使用盡可能低的成本來最大程度提高破解門檻;
然后對于Java/Kotlin以及OC/Swift而言,逆向是非常簡單的事情,所以我們認為破解難度低;
基于此最簡單的操作就是將涉密代碼,包括同學(xué)提到的密鑰等常量通過C/C++等Native語言編寫,以so/framework的形式打包到安裝包中,這樣我們的開發(fā)成本并不會高很多,但是對于C的逆向門檻要求會比較高,這是最常見的解決方法。
當然在對C/C++打包之后還會有一些引申問題,比如二次打包、簽名校驗等等,如果有興趣歡迎隨時找我探討交流