Android解析編譯之後的所有檔案(so,dex,xml,arsc)格式
我們在之前一篇一篇介紹了如何解析Android中編譯之後的所有檔案格式,所有的工作都完成了,這裡我們就來做個總結,我們為什麼要做這些工作:
第一篇:解析so檔案格式
http://blog.csdn.net/jiangwei0910410003/article/details/49336613
這裡我們解析so檔案,主要是為了修改so中內容,在so檔案中添加字串內容,同時我們可以做到對so的加密工作,從而達到apk的底層加固策略。
第二篇:解析AndroidManifest.xml檔案格式
http://blog.csdn.net/jiangwei0910410003/article/details/50568487
這裡我們解析AndroidManifest.xml檔案,主要是為了修複我們在使用apktool進行反編譯的時候出現的一些錯誤資訊,同時也瞭解到apktool反編譯的工作原理,當然這裡還可以解析Android中的其他資源檔xml。這裡我們還可以對apk進行加固,就是通過修改AndroidManifest.xml檔案內容,防止apktool這樣的工具進行反編譯。
第三篇:解析resource.arsc檔案格式
http://blog.csdn.net/jiangwei0910410003/article/details/50628894
這裡我們解析resource.arsc檔案,主要是為了修複我們在使用apktool進行反編譯的時候出現的一些錯誤資訊,同時也瞭解到apktool反編譯的工作原理,同時我們可以減小apk包的大小,主要是通過對resource.arsc中資源檔名進行混淆,減小命名的大小。因為本身Android中是不對資源檔進行混淆工作的。同時我們可以修改resource.arsc檔案內容,防止apktool這樣的工具進行反編譯。
第四篇:解析dex檔案格式
http://blog.csdn.net/jiangwei0910410003/article/details/50668549
這裡我們解析dex檔案,主要是為了更好的瞭解Android中的代碼結構,同時我們解析完dex之後,就知道代碼的結構,調用哪些api,從而判斷執行了某些功能,比如判斷apk是否調用了系統的api,是否包含廣告sdk的api等資訊,同時我們知道dex的結構之後,我們就可以對dex進行加密工作,從而做到上層對apk進行加固的工作。
總結
所以關於Android中的編譯之後的檔案解析工作就算告一段落,這些知識也是我們後面的逆向基礎,特別是在遇到逆向失敗的時候,我們能夠通過具體的錯誤資訊來定位問題,當然這些檔案格式的瞭解也對讓我們對Android中apk包產生的流程有個大體的瞭解。