Android逆向快速定位

Android逆向java

經常使用Android快速定位關鍵代碼介紹編程

一、字符串,特徵字

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

二、關鍵api監控

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

三、掛鉤解密函數

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

四、Monitor

(一、DDMS

Android Log信息,是Android程序運行過程當中,產生的一些運行信息,這些信息多是因爲目標程序產生的,也有多是系統進程產生的。總之,能夠提供很是多的信息,遇到問題,先找log,確定是對的。函數

(二、Thread

跟蹤程序運行中的各個Thread的調用與運行類調試

(三、Method Trace

進程函數調用跟蹤,通常會跟蹤到不少的Trace函數,比較複雜,須要花費不少的時間去分析Trace數據
startMethodTracing()—stopMethodTracing()進程

五、插Log信息

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

六、動態調試

動態調試很強大,熟悉了對程序分析頗有用字符串

從0開始打造本身的破解代碼庫

一、smali代碼插入

log插入爲例

二、smali代碼編寫

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

.class public Lf8/helloword/helloStr;.super Ljava/lang/Object;.method public static retHello()Ljava/lang/String;.locals 1const-string v0,「hello word」return-object v0.end method

相關文章
相關標籤/搜索