轉載請标明出處: <a href="http://blog.csdn.net/djy1992/article/details/73168865" target="_blank">http://blog.csdn.net/djy1992/article/details/73168865</a> 本文出自:【奧特曼超人的部落格】
Xposed Hook ,逆向常用之一。
有人經常問,方法名不在原包名下怎麼辦,也就是被加密過的包名路徑,如 <code>com.immqy.a / com.immqy.com.b</code> , 一般我們會先找包名,再去幹出方法名,可是加密了呢?
包名類名加密要如何hook?多dex如何查找對應的方法?
先來看第一種:
會出現 java.lang.NoSuchMethodError,這是因為什麼?
先來看看Hooking Android App 的Hook關鍵點實作Hook子產品的注意點:
實作 IXposedHookLoadPackage接口
确定要Hook的Android App的包名
判斷要Hook的包名
确定要Hook的AndroidApp的方法
findAndHookMethod 文法:
find 的去包名+類名,這裡是缺少了包名 <code>“com.immqy”</code>,記得是 manifest 裡的 packageName 。
現在的APP常用的會分dex,這種需要先去hook Application的attach方法,然後再hook第二個dex的方法,其實更像是手動去找,為什麼需要attach,因為attach方法的參數裡帶有上下文的context,如果用xposed去hook非預設dex檔案的類就會發生ClassNotFoundError,要解決這個問題,我們需要拿到對應dex檔案的上下文環境。
解決方案:
(如有 錯誤或者更優方法歡迎指出)
|| 版權聲明:本文為部落客杜錦陽原創文章,轉載請注明出處。