Android逆向快速定位

Android逆向

Android逆向快速定位思維導圖下載

常用Android快速定位關鍵代碼介紹

1、字符串,特徵字

  • 根據程序運行中出現的特徵字詞進行搜索,從而獲取定位到程序相關位置之中,以前用的比較多,不過現在一般難以找到想要的關鍵字,有時候需要對特徵字進行拆分來進行搜索,才能獲得一點提示

2、關鍵api監控

  • 通過掛鉤關鍵的系統api,從而截取程序運行時候的數據,分析程序行爲從行爲上入手,一步一步地逼近關鍵點,這點算是比較難用到的技巧,需要對Android函數以及編程方面相當的熟悉,才能使用

3、掛鉤解密函數

  • 使用到Xposed或者cydia之類的Hook框架,手動編寫Hook代碼,勾取需要的函數,動態dump出需要的信息

4、Monitor

  • (1、DDMS

    • Android Log信息,是Android程序運行過程中,產生的一些運行信息,這些信息可能是由於目標程序產生的,也有可能是系統進程產生的。總之,可以提供非常多的信息,遇到問題,先找log,肯定是對的。
  • (2、Thread

    • 跟蹤程序運行中的各個Thread的調用與運行類
  • (3、Method Trace

    • 進程函數調用跟蹤,一般會跟蹤到很多的Trace函數,比較複雜,需要花費很多的時間去分析Trace數據
    • startMethodTracing()—stopMethodTracing()

5、插Log信息

  • 對自己關注的地方,手動插入log數據,自動打印出程序運行時候的參數

6、動態調試

  • 動態調試很強大,熟悉了對程序分析很有用

從0開始打造自己的破解代碼庫

1、smali代碼插入

  • log插入爲例

2、smali代碼編寫

  • 如一個靜態返回helloword的方法:

    • .class public Lf8/helloword/helloStr;
    • .super Ljava/lang/Object;
    • .method public static retHello()Ljava/lang/String;
    • .locals 1
    • const-string v0,“hello word”
    • return-object v0
    • .end method
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章