android混淆代碼bug跟蹤

 

混淆代碼bug跟蹤安全

一.   代碼混淆的意義app

代碼混淆的一個主要的目的是爲了可以保證代碼的安全性:咱們的代碼發佈出去之後,有的用戶可能會使用某些反編譯工具查看咱們的代碼,爲了不這樣的行爲,故有代碼混淆。ide

代碼混淆之後,原有代碼的包名,類名和方法名會被修改。工具

二.   反編譯工具介紹ui

Android平臺目前經常使用的反編譯工具主要是:smali這個jar包,其餘的工具基本上是對該工具的包裝,這裏有一個比較便捷的工具包dex2jar,該工具能夠直接將apk包中的dex文件轉換成jar文件,這樣咱們就能夠使用jd-gui這樣的工具查看代碼了。spa

三.   問題定位日誌

問題的定位是比較複雜的,基本的思路是orm

1.       準備:錯誤日誌、mapping文件、被混淆的apk文件、源代碼xml

2.       反編譯:使用dex2jar反編譯apk包中的dex文件,以後使用jd-gui打開ip

3.       進反編譯的代碼:根據錯誤日誌,在jd-gui中找到相應的錯誤位置。(這裏強調使用反編譯的代碼定位錯誤日誌主要考慮如下幾點緣由:a.重名的方法比較多,反編譯的代碼能夠提供二外的信息【參數的個數和類型】;b.便於堆棧的追溯)

4.       根據上一步中的定位,使用mapping文件迅速定位到源碼位置

相關文章
相關標籤/搜索