錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務,錦州廣廈維修電腦,公司IT外包服務
topFlag1 設為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務項目 服務報價 維修流程 IT外包服務 服務器維護 技術文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務技術文章
Vdex Extractor:從Vdex文件反編譯和提取Android Dex字節碼的工具

作者: 佚名  日期:2018-10-18 13:21:38   來源: 本站整理

 Vdex Extractor
一款命令行工具,用于從Vdex文件反編譯和提取Android Dex字節碼的工具。
編譯
克隆此存儲庫
如果要為Android設備進行交叉編譯,請安裝Android NDK
make.sh使用所需的構建目標調用bash腳本$ ./make.sh- 如果CC未從env定義,則默認使用gcc$ ./make.sh gcc – 用gcc編譯$ ./make.sh clang – 用clang編譯$ ./make.sh cross-android – 使用NDK交叉編譯(armeabi-v7a,arm64-v8a,x86和x86_64)可執行文件復制到bin目錄下,對于調試版本使用$ DEBUG=true ./make.sh
依賴關系
主機系統中應安裝以下外部庫:
zlib
macos:brew install zlib-devel帶macports的macOS: port install zlibLinux: apt install libz-dev其他Linux / Unix系統:檢查可用的包管理器或從源代碼編譯使用cygwin的Windows:zlib-devel從cygwin安裝程序安裝
用法
$ bin/vdexExtractor -h
              vdexExtractor ver. 0.5.2
    Anestis Bechtsoudis 
  Copyright 2017 - 2018 by CENSUS S.A. All Rights Reserved.
 -i, --input=   : 輸入目錄(遞歸搜索)或單個文件
 -o, --output=  : 輸出路徑(默認與輸入相同)
 -f, --file-override  : 如果文件已經存在允許覆蓋(默認:false)
 --no-unquicken       : 禁用unquicken字節碼反編譯器 (don't de-odex)
 --deps               : 轉儲經過驗證的依賴信息
 --dis                : 啟用字節碼反匯編器
 --ignore-crc-error   : 反編譯Dex 忽略CRC錯誤
 --new-crc=     : 提取Apk或Dex文件位置校驗和文本文件
 --get-api             : 基于Vdex版本獲取Android API級別 
 -v, --debug=LEVEL    : 日志級別 默認: '3' (INFO)
 -l, --log-file=: 保存反匯編器或驗證依賴項輸出到日志文件
 -h, --help           : 幫助信息
字節碼Unquickening解碼器
Vdex文件包含所有quick_info數據(舊vtable),用于恢復字節碼優化過程中應用的dexto -dex轉換。這里是創建一個能夠快速恢復優化字節碼的獨立工具,不需要從AOSP構建整個libart。Vdex完全unquicken功能也作為AOSP oatdump libart工具的一部分實現。可在此處獲得。如果你想在Oreo版本中使用oatdump,你可以在這里使用相應的補丁,或者在oatdump ++工具的fork和build(內部和AOSP_SRC_ROOT工作空間)中使用oreo-release分支。谷歌已經發布了提供的補丁以及ART運行時的Android Pie版本。
驗證迭代器的依賴關系
當第一次編譯(優化)Dex字節碼文件時,dex2oat將執行驗證依賴項收集器,作為方法學驗證者的一部分。驗證依賴項收集器類用于記錄解析結果和類路徑中定義的類/方法/字段的類型可賦值測試。編譯驅動程序初始化類并注冊正在編譯的所有Dex文件。在這個集合之外的Dex文件中定義的類(或者沒有關聯的Dex文件的合成類)被認為在類路徑中。所有記錄的依賴關系都存儲在生成的Vdex文件中,以及來自OatWriter類的相應Oat文件。vdexExtractor工具集成了一個Vdex依賴項walker函數,該函數能夠迭代所有依賴項信息并以人類可讀的格式轉儲它們。以下代碼段演示了示例Vdex文件的依賴項轉儲示例。
$ bin/vdexExtractor -i /tmp/BasicDreams.vdex -o /tmp --deps -f
[INFO] Processing 1 file(s) from /tmp/BasicDreams.vdex
------- Vdex Deps Info -------
dex file #0
 extra strings: number_of_strings=2
  0000: 'Ljava/lang/Thread;'
  0001: 'Ljava/lang/Throwable;'
 assignable type sets: number_of_sets=8
  0000: 'Landroid/service/dreams/DreamService;' must be assignable to 'Landroid/content/Context;'
  0001: 'Landroid/view/TextureView;' must be assignable to 'Landroid/view/View;'
  0002: 'Ljava/nio/FloatBuffer;' must be assignable to 'Ljava/nio/Buffer;'
...
 unassignable type sets: number_of_sets=0
 class dependencies: number_of_classes=34
  0000: 'Landroid/graphics/Color;' 'must' be resolved with access flags '1'
  0001: 'Landroid/graphics/SurfaceTexture;' 'must' be resolved with access flags '1'
...
  0024: 'Ljavax/microedition/khronos/egl/EGL10;' 'must' be resolved with access flags '513'
...
 field dependencies: number_of_fields=4
  0000: 'Ljavax/microedition/khronos/egl/EGL10;'->'EGL_DEFAULT_DISPLAY':'Ljava/lang/Object;' is expected to be in class 'Ljavax/microedition/khronos/egl/EGL10;' and have the access flags '9'
  0001: 'Ljavax/microedition/khronos/egl/EGL10;'->'EGL_NO_CONTEXT':'Ljavax/microedition/khronos/egl/EGLContext;' is expected to be in class 'Ljavax/microedition/khronos/egl/EGL10;' and have the access flags '9'
  0002: 'Ljavax/microedition/khronos/egl/EGL10;'->'EGL_NO_DISPLAY':'Ljavax/microedition/khronos/egl/EGLDisplay;' is expected to be in class 'Ljavax/microedition/khronos/egl/EGL10;' and have the access flags '9'
  0003: 'Ljavax/microedition/khronos/egl/EGL10;'->'EGL_NO_SURFACE':'Ljavax/microedition/khronos/egl/EGLSurface;' is expected to be in class 'Ljavax/microedition/khronos/egl/EGL10;' and have the access flags '9'



熱門文章
  • 機械革命S1 PRO-02 開機不顯示 黑...
  • 聯想ThinkPad NM-C641上電掉電點不...
  • 三星一體激光打印機SCX-4521F維修...
  • 通過串口命令查看EMMC擦寫次數和判...
  • IIS 8 開啟 GZIP壓縮來減少網絡請求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對講門禁讀卡異常維修,讀卡芯...
  • 新款海信電視機始終停留在開機界面...
  • 常見打印機清零步驟
  • 安裝驅動時提示不包含數字簽名的解...
  • 共享打印機需要密碼的解決方法
  • 圖解Windows 7系統快速共享打印機的...
  • 錦州廣廈電腦上門維修

    報修電話:13840665804  QQ:174984393 (聯系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號:遼ICP備2023002984號-1
    上門服務區域: 遼寧錦州市區
    主要業務: 修電腦,電腦修理,電腦維護,上門維修電腦,黑屏藍屏死機故障排除,無線上網設置,IT服務外包,局域網組建,ADSL共享上網,路由器設置,數據恢復,密碼破解,光盤刻錄制作等服務

    技術支持:微軟等
    主站蜘蛛池模板: 在线看片无码永久免费视频| 无码精品蜜桃一区二区三区WW | 久久久亚洲精品无码| 精品一区二区无码AV| 无码av人妻一区二区三区四区| 日韩中文无码有码免费视频 | 亚洲a∨无码一区二区| 日韩av片无码一区二区三区不卡| 国产台湾无码AV片在线观看| 免费无码精品黄AV电影| 人妻丰满熟妇无码区免费| 日韩久久无码免费毛片软件| 亚洲毛片无码专区亚洲乱| 中文字幕久无码免费久久| 亚洲av日韩aⅴ无码色老头| 亚洲欧洲无码AV电影在线观看| 日韩人妻系列无码专区| 中文无码亚洲精品字幕| 日韩av无码一区二区三区| 亚洲综合无码精品一区二区三区| 久久AV无码精品人妻出轨| 亚洲日韩乱码中文无码蜜桃| 久久精品成人无码观看56| 国产在线观看无码免费视频| 国产色无码精品视频国产| 亚洲heyzo专区无码综合| 精品一区二区三区无码免费视频| 成人无码网WWW在线观看| 极品粉嫩嫩模大尺度无码视频| 人妻少妇精品无码专区动漫| 亚洲毛片无码专区亚洲乱| 亚洲AV无码无限在线观看不卡| 无码精品人妻一区二区三区人妻斩| 成人午夜精品无码区久久| 国产AV无码专区亚洲AV手机麻豆 | 日韩va中文字幕无码电影| 亚洲成A∨人片天堂网无码| 亚洲人成人无码网www国产| 亚洲成a人在线看天堂无码| 亚洲AV永久无码精品一区二区国产 | 日韩AV无码一区二区三区不卡|