2021年正確的Android逆向開發學習之路


2021年正確的Android逆向開發學習之路

說明

文章首發於HURUWO的博客小站,本平台做同步備份發布。如有瀏覽或訪問異常或者相關疑問可前往原博客下評論瀏覽。

原文鏈接 2021年正確的Android逆向開發學習之路直接點擊即可前往訪問。

前言

在做從正向的程序開發轉到逆向開發的兩年里,深切體會到兩種開發的不同。尤其是學習道路這一塊走了很多的彎路,當然我現在也不是厲害的逆向。所以所有的看法僅代表個人意見,如有不同看法請在評論區打出來。

正向開發為什么容易學習

以普通的Android開發為例,一位新手想要學習正常的Android開發,那么他非常容易獲得:

  1. 谷歌官方提供的入門教程
  2. 谷歌官方提供的免費好用的IDE AndroidStudio
  3. 各種入門 進階的 尤其是中文的 書籍 比如 第一行代碼 Android藝術開發探索 等等
  4. 龐大的開發人員和活躍的社區 各大編程論壇比如CSDN 都有 Android的一席之地
  5. 豐富的解決方案 遇到的問題可以在搜索引擎上隨意搜索出答案 也可以去論壇社區提問
  6. 好用的開發語言包括java Kotlin 或者是 js 都是相比逆向 的匯編 ARM 來說更容易學習的
    7.持續的官方優化 及時的文檔更新 雖然谷歌一直在更新Android版本,使得開發者不得不學習新的版本開發知識。但好在官方給出詳盡的資料文檔以及相關的開源代碼示例,使得重新學習非常簡單。

逆向開發為什么難以學習

和正向開發相比,逆向開發的學習難點在於:

  1. 沒有任何官方的逆向資料,谷歌不會教你怎么逆向,做安全加密的官方更不會教你怎么逆向。所以所以的逆向都是一些個人或者小組織的內部學習。
    2 .一言難盡的逆向工具,把編譯好的代碼反過來解析是件非常麻煩的事情。java層有免費的jadx apktool等工具 總體來說勉強可用。即使是付費的軟件比如JEB等工具,還原代碼起來也是差強人意。至於so層的,除了IDA(付費)沒有其他的 ollydbg 的話,估計沒啥人用吧。
  2. 逆向工具並不能幫你完成所有事情,你需要很大的力氣才能看懂工具反過來的代碼。所以需要類似 frida xposed 等hook 工具分析 運行時的狀態。所以需要額外的學習更多的知識。
  3. 逆向開發同樣的要了解非常多的正向開發知識,而且未必比正向開發來的少。沒有正向開發的知識支撐,你或許難以入手。
  4. 混雜的技術棧。逆向過程你或許需要學習包括且不限於 android開發 JNI開發 通信協議 hook 匯編 arm指令 python js lua(逆向分析游戲) c/c++ liunx 等知識,了解的越多做起事情越容易。
  5. 少量且隱秘的從事人員,封閉的且極少更新的社區。比如看雪論壇,即使時熱門的Android板塊也是幾天才有一條回復,半個月來一篇新帖。你想提問或許難以得到回應。
  6. 無法搜索到的解決方案。如果問題是常見的如軟件安裝 或者 框架問題,或許很快有答案。但是具體到某個APP或者某個某行代碼報錯,你可能翻遍整個互聯網也沒有答案。這時候一個可靠的引路人極其重要。
  7. 不斷更新加強的安全措施。逆向就是和安全人員之間的對抗。所以安全人員會不斷的加高逆向的難度,讓其大到正常人無法突破。你需要自己去分析去找到門路,對抗最新的安全措施你只能靠你自己,百度是搜不到答案的。

正確的路線學習Android逆向

別的不說了 先來個經典路線圖

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-OWnMeOy5-1610610217671)(https://www.huruwo.top/01.png)]

使用印象筆記搭建個人知識庫

鑒於逆向開發的諸多難度 尤其是知識混雜的特點 構建一個屬於自己知識庫尤為重要。

我們以印象筆記為例,通過文章分類分組+內連接方式做到查缺補漏,最后搭成一個完整的逆向知識體系。就好比搭建一個自用的百度搜索。

1.建立知識分類
2.建立總目錄_附帶分類文章鏈接
3.編寫新吸收的知識點文章 鏈接到總目錄
4.在文章筆記中涉及到新的知識點直接引用鏈接 點擊即可跳轉
5.在引用的知識點上做橫向的擴充,豐富知識庫
6.遇到問題 利用搜索功能到達文章 得到相關解決方案

最后附圖 包括整個知識的架構和跳轉

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-OWnMeOy5-1610610217671)(https://www.huruwo.top/01.png)]

總結

以上就是文章內容 如果幫助到你 請給個收藏或點贊。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM