Android逆向分析《前言》
看到這個標題,不熟悉的同學可能會有一個疑問,逆向分析分析什么鬼?呵呵,其實就是反編譯。其實很早也有接觸反編譯,但是沒有在工作中進行運用,也就沒有過多深入。今天又重新開始這個話題,也是前幾天在面試時,有一家公司提到這個。他們的產品有用到,具體什么產品也就不多說了。
好了,廢話不多說了,下面開始我們的逆向分析之旅。
一,學習目的
剛剛所提到的也算是一個引子吧,呵呵。我們最終學習還是要有目的。可能平時做android開發的小伙伴,在遇到漂亮的應用和應用中一些炫酷的功能時,就會想他是怎么實現的,我能否實現,或許你可以自己實現,但是如果你無法實現時,這時我們的反編譯技術,就會幫助我們來破解這些應用幫助我們來學習他們是怎樣實現的。這樣我們就可以copy別人的功能到我們自己的項目中,聽起來是不是很酷。但也不是絕對的因為有些應用是做了代碼混肴和加固,所以這個就需要你不斷地的去學習和研究別人的代碼是如何實現的。
本人能力有限,所以在后面文章有哪里如果說的不對和更好的實現,歡迎大家進行指正和交流。
二,學習工具
工欲善其事,必先利其器。所以在正式開始之前先準備好的自己兵器。
這里之對工具進行簡單的羅列和介紹,具體的使用會在后面文章結合反編譯實戰的時候進行講解。
首頁第一個apktool,這個工具是對apk文件進行解碼和重新編譯的工具。
第二個是dex2jar,這個是在代碼在代碼混肴后進行站轉換成java文件所使用的。
第三個是jd-gui,把第二個工具中轉換成的java包進行可視化查看
第四個signapk 這個工具是針對重新編譯后apk包進行簽名,這樣才能被安裝到的手機
好的,工具大概就這些。最后在附上連接
鏈接: http://pan.baidu.com/s/1jHNMIs2 密碼: n8bg
三,總結
總的來說反編譯技術或者叫逆向分析,在項目中還是有很大的作用。在一些有實力的公司,會有專門的職位和工程師來負責這個。逆向分析可以發現你的應用所暴露出的不安全的部分,進行相關的安全處理,我想誰也不想自己辛苦做出來的東西,輕易被別人獲取。
我想這也是這篇和后面等文章出現的目的吧。ok,后面我根據時間,來陸續的完善android逆向分析學習之旅的文章。能力有限,和大家共同學習和進步。謝謝!