1. 程式人生 > >用baksmali/smali,將odex轉成dex

用baksmali/smali,將odex轉成dex

眾所周知,dex是Android虛擬機器Dalvik上的可執行檔案,而odex是優化過(Optimized)的dex。

我們知道,dex檔案,可以通過dex2jar,轉化為jar,然後可以通過jd-gui檢視其java原始碼。

那麼,odex呢?可以通過baksmali/smali,將其轉換為dex,然後再用上述方式即可。

步驟如下:

1、將odex轉smali

java -jar baksmali.jar -x classes.odex -d framework

2、將smali轉dex

java -jar smali.jar out -o classes.dex

其中,引數的意義如下:

-o,--output <DIR> 		the directory where the disassembled files will be placed. Default is out.
-d,--bootclasspath-dir <DIR> 		the base folder to look for the bootclasspath files in. 
-v,--version		prints the version then exits
-x,--deodex  		deodex the given odex file. 
使用baksmali時,可能需要Android系統的庫檔案。如果缺少,會出現如下錯誤:
Error occurred while loading boot class path files. Aborting.
org.jf.util.ExceptionWithContext: Cannot locate boot class path file /data/dalvik-cache/[email protected]@[email protected]
        at org.jf.dexlib2.analysis.ClassPath.loadClassPathEntry(ClassPath.java:217)
        at org.jf.dexlib2.analysis.ClassPath.fromClassPath(ClassPath.java:161)
        at org.jf.baksmali.baksmali.disassembleDexFile(baksmali.java:67)
        at org.jf.baksmali.main.main(main.java:280)

只需用如下命令,將對應的jar,從手機/system/framework目錄下,匯入到電腦的framework資料夾下即可。

adb pull /system/framework/core.jar ./framework




相關推薦

baksmali/smaliodexdex

眾所周知,dex是Android虛擬機器Dalvik上的可執行檔案,而odex是優化過(Optimized)的dex。我們知道,dex檔案,可以通過dex2jar,轉化為jar,然後可以通過jd-gui檢視其java原始碼。 那麼,odex呢?可以通過baksmali/sm

瀏覽器外掛形式htmlpdfhtml圖片

javascript: (function () { var head = document.getElementsByTagName('head')[0]; var script = document.createElement('script'); var scrip

dubbo之間傳輸File檔案Filebyte陣列傳輸附上程式碼

碼雲: https://gitee.com/qinkaiyuan/Transfer-files-using-Dubbo#dubbo%E6%9C%8D%E5%8A%A1%E4%B9%8B%E9%97%B4%E4%BC%A0%E8%BE%93file-transfer-files-using-dub

Jackson反序列時LinkedHashMap物件(Object型別實體)

可能存在這樣一種情況,Jackson已經滿足了大部分的序列化和反序列化工作,但是對於複雜的泛型實體估計未必能如願的正常反序列,而此時對於一些泛型裡面的實體物件就會反序列化成LinkedHashMap型別的。 同樣,這個型別不能直接強制轉換成想要的實體,此時要解決此類問題的思

根據指定的實體類中的列名ListMap

有時候我們需要從List中查詢某一個指定的變數所對應的物件,但是在list中逐個遍歷對比不是一個明智的選擇。 本篇部落格是根據指定的物件中的變數,來將list轉換成map,然後直接從map中get即可。 比如,我的list中是book物件。 public class Bo

python list字串中間符號分隔

data = [1,2,3,4] print "|".join(str(i) for i in data)如果data中有中文: import sys reload(sys) sys.setdefau

Docx4jhtmlword時br標簽為軟回車的問題修改

peek aras -i lin 位置 org pac 回車 tco docx4j版本:3.0.1 修改jar包:docx4j-ImportXHTML maven配置為: 具體代碼位置:\org\docx4j\convert\in\xhtml\XHTMLImporterIm

C# wps(api v9) wordpdf

argument documents 不知道 bbs rom gen als on() try 我們不產生代碼只是代碼的搬運工 我們先來看一段跑不起來的代碼 ..各種未將對象應用到實例.. using System; using System.Collections.Ge

IKVMCjardll供c#調

又是 code 解決 轉化 自己的 不知道 使用方法 div 右擊 參考資料:https://www.cnblogs.com/Jack-Blog/p/4710848.html 用IKVMC將jar轉成dll供c#調用 前言 ikvmc介紹 ikvmc下載安裝 下載

listmap並按照另外一個list排序

需求說明:A list假如是一串編碼, 通過in的sql語句可以查到一連串另外的資料(List<B> = select (A list); ),但查出來的資料(List<B>)是按資料庫的自然順序進行排序的,無法與原來的list(A List)對應,也就是說 無法做到

生成二維碼返回檔案位元組碼檔案base64返回

    @PostMapping("/admin/get/qrcode")     public  ResponseEntity<byte[]>  getQrcode(Long id,boolean need

html2canvas和jspdf實現htmlpdf下載到本地

解決了下載的圖片會模糊和偏移的問題 <script src="${basePath!}/js/bluebird.js"></script> <script src="${basePath!}/js/jspdf.debug.js"></script>

ColorMatrixBitmap灰度圖

在Android中,若想將整張圖片轉成灰階效果其實有更簡便的方式,只要透過ColorMatrix類別的setSaturation函式將飽和度設為0即可。(您也可以試試從0~1之間的值,看看不同飽和度的效果)詳細方法如下://colorBitmap為原始Bitmap,grayBitmap則用來存放處理過後的灰階

圖片二進位制並生成Base64編碼可以在網頁中通過url檢視圖片

    data格式的Url最直接的好處是,這些Url原本會引起一個新的網路訪問,因為那裡是一個網頁的地址,現在不會有新的網路訪問了,因為現在這裡是網頁的內容。這樣做,會減少伺服器的負載,當然同時也增加了當前網頁的大小。所以對“小”資料特別有好處。   另外聽說這種

命令 xsd javaben 很簡單

1.  import java.io.File;   2.  import java.io.IOException;   3.  import javax.xml.bind.JAXBContext;   4.  import javax.xml.bind.JAXBException;   5.  impor

linux搜狗輸入法後只能預設中文終端改英文

linux用搜狗輸入法後,只能預設中文 在安裝搜狗輸入法後,由於搜狗的預設是中文,所以不管開啟什麼,一開始輸入的都是中文,但是使用linux除了在網頁搜尋時使用中文,大多數時候,比如開啟終端都是英文命令,每次都要切換太麻煩,如何才能在每次開啟終端的時候,都預設

如何PPTWord格式?好的格式轉換工具!

RoCE 感覺 mic 輔助 選中 目錄 轉換成 water proc 打開PPT文件,按【Alt + F11】鍵打開VBA編輯器。點擊【工具】-【引用】,找到【Microsoft Word 15.0 Object Library】勾選添加。點擊【插入】-【模塊】,復制以下

通過ObjectMapper實體字串 , json存的的list 迴轉list

InvokingSecurityInfo invokingSecurityInfo; ObjectMapper objectMa

如何IconBitmap

.com web 需要 ans type def let 後來 目標 最近工作中有個需求是將Icon轉成帶Alpha通道的Bitmap, 雖然網上有不少這方面的文章,但很多都是錯的, 這裏記錄下,或許對後來人有用。 要實現這個功能,我們首先需要理解Icon的格式,我

pyhton3.5漢字二進制的方法

font code 中國 進制 family bytes print 3.5 int 直接上代碼:name = "你好,中國人"byteName = bytes(name.encode("utf-8"))print(byteName)for b in byteName :