A. 什麼是安卓逆向
安卓逆向就是將安裝包apk文件還原成打包前的樣子。
android代碼和資源編譯打包會形成安裝包apk,反過來就是逆向了。
B. 逆向分析能做什麼或應用范圍、應該怎麼做
1、病毒行為特徵的分析,更好進行反病毒軟體的編寫。
2、內部演算法的了解分析,進行軟體行為的模擬。
3、軟體的破解,去除各類軟體的限制。
4、解密演算法,解密各類加密文件。
5、分析其演算法,進行各類外掛的設計。
6、在沒有源碼的情況下,對現有軟體進行直接的修改,擴展其功能。
7、分析網路數據包格式,模擬發送網路數據包。
逆向分析是考驗人耐性的事情,如果你沒有耐性可能很難出結果,往往一個大點的系統就可能需要幾個月的時間,上年也有可能,所以耐性是第一,分析過程中往往覺得已經到盡頭,無法再分析下去而退縮,但成功可能離你也許不遠了,你需要沉著冷靜,因為任何東西都是可能被逆向的,源碼已經被編譯成匯編代碼後,在匯編代碼前,代碼量已經是成幾何量倍增,而且大量的寄存器和指令,往往容易混淆,所以,你需要一個穩重的性格更好,其後需要一些基本知識,匯編是必須要掌握的,其次其他高級語言如:C++、pascal、basic等能掌握更好,至少應該精通一門,往往分析過程中不僅僅是匯編指令,更多的是在跟系統打交道,軟體中會用到各類知識,winapi、COM、消息、多線程、內存管理、進程等等,對系統的了解更有利於你進行下一步的分析,所以知識全面更加有利於分析,當然,知識需要積累,積累需要過程和毅力,需要時間如果你願意在這個方面發展,那麼你需要堅韌的毅力。逆向分析過程中,一個重要的東西就是注釋,我們在C++中編寫軟體的時候並不需要寫太多的注釋,因為我們通過函數名或者變數名都能辨別出意義,但是逆向分析中,你看到的是匯編代碼,基本都是寄存器和指令的集合,那麼注釋就顯得非常非常的重要,一定要多寫注釋,而且有可能注釋會反復修改,因為你有可能第一次分析一段匯編代碼後的意義並不正確,分析多次後就會推翻前面下的定義,又會寫入新的意義,不用怕你的注釋會錯誤,就怕你不寫,IDA和OD都有很好的注釋和書簽的管理功能,這將大大有利於我們的分析。還有,你需要有一個OPEN的思想,不要局限於一個點,要從大的點入手,最好能模塊化這些匯編代碼,最後把這些模塊集合在一起後,就是一套完整的思路了。人的潛力是無限的,沒有觸發的時候可能你自己都不相信,但所有的一切都需要積累,世上沒有不勞而獲。