所以说面对调试器 混淆还是很苍白无力的 🌑
到这里都没什么
也没什么,实际上我 Hook
## trace thread <1> main (running suspended)
--
android.app.ApplicationPackageManager.getCachedString(Landroid/app/ApplicationPackageManager$ResourceName;)Ljava/lang/CharSeque
nce;:0
-- this=Landroid/app/ApplicationPackageManager; <830057170080>
-- name=Landroid/app/ApplicationPackageManager$ResourceName; <830057179696>
到这里都没什么
## trace thread <1> main (running suspended)
-- android.app.ApplicationPackageManager.getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;:0
-- this=Landroid/app/ApplicationPackageManager; <830057170080>
-- packageName=me.drakeet.puremosaic
-- flags=1
-- com.drakeet.purewriter.vk.Wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww(Landroid/content/Context;Ljava/lang/String;)Z:5
-- com.drakeet.purewriter.TimeMachineService.Wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww()V:55
-- this=Lcom/drakeet/purewriter/TimeMachineService; <830057085360>
--
com.drakeet.purewriter.TimeMachineService.Wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww(Lcom/drakeet/purewriter/Wwwwwwwwwwwwwwwwwwwwwwww;)
V:5
也没什么,实际上我 Hook
android.content.pm.PackageInfo.getPackageInfo 会更简洁>> classes com.drakeet
## Loaded Classes
-- com.drakeet.purewriter.ahp
-- com.drakeet.purewriter.Repositories$2
-- com.drakeet.purewriter.ayr
-- com.drakeet.purewriter.es$Wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
-- com.drakeet.purewriter.ahq
-- com.drakeet.purewriter.Repositories$3
-- com.drakeet.purewriter.Kkkkkkkkkkkkkkkk
-- com.drakeet.purewriter.ahr
-- com.drakeet.purewriter.Repositories$4
-- com.drakeet.purewriter.ahs
-- com.drakeet.purewriter.Repositories$5
-- com.drakeet.purewriter.aig$Wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
-- com.drakeet.purewriter.aht
-- com.drakeet.purewriter.widget.ShortcutLayout$Wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
>> class-trace com.drakeet.purewriter.Ww
## Setting Hooks
-- Hooked com.drakeet.purewriter.Ww
>> class-trace android.widget.Toast
## Setting Hooks
-- Hooked android.widget.Toast
>> resume
## Process Resumed
>> ## trace thread <1> main (running suspended)
-- com.drakeet.purewriter.Ww.WwWw()V:0
-- com.drakeet.purewriter.AboutActivity.onCreate(Landroid/os/Bundle;)V:9
-- this=Lcom/drakeet/purewriter/AboutActivity; <830058757392>
-- android.app.Activity.performCreate(Landroid/os/Bundle;)V:1
-- this=Lcom/drakeet/purewriter/AboutActivity; <830058757392>
-- icicle=None
就是这个类! 抓住现行一次 🙈
-- com.drakeet.purewriter.ts.Wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww(Landroid/content/Context;Ljava/lang/String;)Landroid/content/pm/Pac
kageInfo;:6
-- this=Lcom/drakeet/purewriter/ts; <830063735840>
就是你这个坏家伙在 Activity 堆操作时调用了自省 API
android.content.pm.PackageInfo android.app.ApplicationPackageManager.getPackageInfo(java.lang.String, int)