iOS 初探代碼混淆(OC)
前言
自己做iOS開發(fā)也有幾年的時間了懈糯,平時做完項目基本就直接打包上傳到Appstore上涤妒,然后做上架操作了。但是最近赚哗,客戶方面提出了代碼安全的要求她紫。說是要做代碼混淆,這方面的工作之前從來沒有接觸過屿储。然后就上網(wǎng)查了一下贿讹,原來有很多應(yīng)用程序都做了代碼混淆」宦樱看來是我固步自封了......
起因
使用classdump對原程序進行dump民褂,可以dump出所有源程序的函數(shù)所有信息:源程序所有函數(shù)類型,變量全部泄露疯潭。這樣的話赊堪,讓攻擊者,也就是黑客們了解了程序結(jié)構(gòu)方便逆向袁勺。因為在工程中雹食,我們這些變量或函數(shù)命名都是有一定可讀性的畜普,例如跟用戶名相關(guān)的期丰,那一般里面會有 userName,跟密碼相關(guān)的一般會有passWord吃挑,這樣定義也是為了我們自己代碼可讀性更強钝荡,我們修改的時候才更加的方便。但是我們相信舶衬,這么個定義法埠通,我們只是希望方便我們自己,我們可不希望方便黑客們?nèi)テ平馕覀兊腁PP逛犹。 總結(jié)出來就是一句話:“會把你項目中的所有方法和變量都羅列出來”端辱。
開始混淆:
1.
在進行代碼混淆之前梁剔,我們需要在我們的項目中增加兩個文件:confuse.sh&func.list
我們打開我們的終端命令行
未完待續(xù)...