錦州市廣廈電腦維修|上門維修電腦|上門做系統|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共享上網,路由器設置,數據恢復,密碼破解,光盤刻錄制作等服務

    技術支持:微軟等
    主站蜘蛛池模板: 亚洲2022国产成人精品无码区| 亚洲AV成人无码久久精品老人| 国产在线精品无码二区二区| 精品无码中文视频在线观看| 亚洲 无码 在线 专区| 永久免费av无码入口国语片| 中字无码av电影在线观看网站| 国产aⅴ激情无码久久久无码| 日韩人妻无码一区二区三区久久| 久久人妻无码一区二区| 亚洲国产精品无码专区影院| 无码国模国产在线观看| 久久无码人妻一区二区三区午夜 | 亚洲AV色无码乱码在线观看| 日韩乱码人妻无码中文字幕视频| 人妻少妇伦在线无码专区视频| 久久久久久国产精品无码下载 | av无码一区二区三区| 99精品国产在热久久无码| 免费看无码特级毛片| 国产福利无码一区在线| 亚洲av无码一区二区三区不卡 | 无码av无码天堂资源网| 国产成人无码AV麻豆| 亚洲午夜国产精品无码| AV无码小缝喷白浆在线观看| 国产精品无码无片在线观看3D | 亚洲欧洲AV无码专区| 日韩精品无码一本二本三本| 国产精品无码午夜福利| 国产自无码视频在线观看| 成人免费无码精品国产电影| 国产精品无码一区二区三区不卡| 亚洲国产成人精品无码一区二区| 日韩欧国产精品一区综合无码| 国产在线无码精品电影网| 国产三级无码内射在线看| 国产AV无码专区亚洲AV毛网站 | 亚洲国产精品无码中文lv| 无码毛片AAA在线| 亚洲精品无码你懂的|