最近研究了下 app逆向安全,感覺客戶端還是不安全,android和ios都可以破解,重要的東西還是放服務器,因爲服務器相對安全一些。本文只供愛好研究以及安全測試用,如果用於非法,後果自負。
ios的破解我沒試過,但是提供一篇文章:
https://www.cnblogs.com/xin-lang/p/8098142.html
android的破解,我也只講思路,不提供工具,感謝各位破解大神提供的博客和思路。我最後會把我反混淆的思路也寫出來。
一、首先是 沒加固沒混淆的apk。直接用apktools和dex2jar以及jd-gui就可以破解。
二、加固過的apk,首先要進行破殼處理。
破殼的思路很多,其中一種是,雖然加固了,給apk加了一層殼,但程序最終是要把真dex文件寫入內存中,在寫的時候dump一份內存,就好了。
提供幾篇破殼博客。
破解360加固的
https://blog.csdn.net/jiangwei0910410003/article/details/78548069
破解棒棒加固的
https://blog.csdn.net/jiangwei0910410003/article/details/54409957
三、 反混淆
關於反混淆這個,android至少3到 5年工作經驗才能挑戰,因爲這個太考驗個人能力了,包括思維以及解決問題的能力。
先說思路。首先是還原項目,雖然代碼混淆了,面目全非,但是代碼還是可以運行的。所以我們需要先還原android項目,工具就是androidstudio編輯器。挑揀破解後的代碼(爲啥是挑揀呢,因爲破解後好多第三方的代碼都會先顯示,在項目中加入過多第三方的代碼,徒增破解難度,還是得憑藉經驗去挑揀代碼),放入項目工程中,該引用的添加第三方庫的引用,android項目環境配置,保證不報錯。然後在模擬器或者手機上一點一點調試 代碼,然後做註釋,用快捷鍵修改變量名,類名以及方法名。最終代碼就變成易讀的android工程了。 然後就可以自己增刪改了。