有激活查看服務器的一個真實的設備上執行的proccess是基於一種方式
:
Enabling hierarchy viewer on rooted android devices
注:我們改變了一些步驟,使其工作。
步驟0:您的設備必須植根,你需要安裝Busybox的安裝程序(HTTP:// play.google.com/store/apps/details?id=com.jrummy.busybox.installer & HL = EN)
第1步:備份
我們應該讓位於/系統/框架中的所有庫的備份。
$ mkdir ./system
$ mkdir ./system/framework
$ adb pull /system/framework/ ./system/framework/
第2步:啓動類路徑
$ adb shell
# echo $BOOTCLASSPATH
請保留它,我們將在以後使用它!它應該是這個樣子:
/system/framework/core.jar:/system/framework/conscrypt.jar:/system/framework/okhttp.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/framework2.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/webviewchromium.jar
步驟3:用baksmali
Donwload smali和baksmali here
$ java -jar baksmali-2.0.3.jar -x ./system/framework/services.odex -a 19 -d ./system/framework/
- -x = ODEX文件
- -a = api等級
- -d =框架目錄
您將看到一個.OUT /文件夾
第4步:修改WindowManagerService.smali
修改的.out/COM /安卓/服務器/ WM/WindowManagerService.smali文件始終返回false
查找「.method private isSystemSecure()Z」並在返回語句「return v0」之前添加「const/4 v0,0x0」。
步驟5:重新組裝
$ java -jar smali-2.0.3.jar ./out -o classes.dex
步驟6:郵編DEX文件
$ zip services_hacked.jar ./classes.dex
步驟7:上傳設備
$ adb push ./services_hacked.jar /data/local/tmp
$ adb push ./dexopt-wrapper /data/local/tmp
步驟8上的文件:重新裝入
$ adb shell
# su
# mount -o rw,remount /system
步驟9:使dexopt-包裝可執行
# cd /data/local/tmp
# chmod 777 ./dexopt-wrapper
第10步:生成.odex文件
排除 「:/system/framework/services.jar」 從引導類路徑!
# ./dexopt-wrapper ./services_hacked.jar ./services_hacked.odex <copied bootclasspath excluding ":/system/framework/services.jar">
應該是這個樣子:
# ./dexopt-wrapper ./services_hacked.jar ./services_hacked.odex /system/framework/core.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/framework2.jar:/system/framework/android.policy.jar:/system/framework/apache-xml.jar:/system/framework/filterfw.jar:/system/framework/sechardware.jar:/system/framework/wimax.jar
第11步:複製簽名
「每個ODEX與位於52字節ODEX內的偏移量20字節簽名簽名。讓我們讓操作系統認爲我們的黑客索引與系統簽名相匹配,方法是將其從原始的「
# busybox dd if=/system/framework/services.odex of=/data/local/tmp/services_hacked.odex bs=1 count=20 skip=52 seek=52 conv=notrunc
- 如果=輸入文件的
- =輸出文件
- BS =塊大小(1個字節)
- 計數=塊數
- 跳過=輸入文件偏移
- 尋求=輸出文件偏移量
- conv = notrunc - 不截斷輸出文件。
第12步:替換原文件
# dd if=/data/local/tmp/services_hacked.odex of=/system/framework/services.odex
第13步:啓動ViewServer
服務器將開始在端口4939
$ adb shell service call window 1 i32 4939
服務器正在運行?
$ adb shell service call window 3
你必須看到類似
結果:地塊(00000000 00000001 '........')
注:第9步之後,所有的過程是非常與apkudo相同
數字體系瀏覽器不與舊版本的Android兼容啓用階層觀衆的詳細信息。你的設備運行什麼版本? – CaptainTeemo
請參閱[在真實設備上使用herarchy查看器](https://stackoverflow.com/a/45055690/6521116)。 –