因?yàn)榉淳幾g失敗了,所以只有smali文件夾了。反編譯Apk得到Java源代碼 首先要下載兩個(gè)工具:dex2jar和JD-GUI 前者是將apk中的classes.dex轉(zhuǎn)化成Jar文件,而JD-GUI是一個(gè)反編譯工具,可以直接查看Jar包的源代碼。
青龍網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)成立于2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
IntelliJ IDEA 或者android studio的一個(gè)插件??梢园裫ava轉(zhuǎn)smali,前提是沒有語法錯(cuò)誤。
smali是通過安卓的java代碼經(jīng)過編譯后得到的,可以理解為delvik虛擬機(jī)的“匯編語言”。一般反編譯apk做修改都是直接修改smali代碼的。smali代碼其實(shí)比較容易懂,是可以和java代碼對(duì)應(yīng)上的。
什么是smali 文件 Android程序文件, 即apk文件, 其實(shí)是一個(gè)zip壓縮包, 其文件結(jié)構(gòu)如下:其中, classes.dex是程序的核心文件,是java語言的代碼編譯后的二進(jìn)制字節(jié)碼程序。
rar文件解壓獲得classes.dex和資源文件。dex2jar-0.0.9-SNAPSHOT 拖動(dòng)生成的classes.dex文件到dex2jar.bat突變生成classes.dex.dex2jar.jar文件,解壓.jar文件獲得.class文件,用XJad進(jìn)行反編譯java文件。
1、smali2java工具基于apktool v0(baksmali v4)生成的smali文件,依賴于smali文件中的代碼行數(shù)(.line關(guān)鍵字)和變量別名(.local關(guān)鍵字)等信息,可以最大程度還原原始的java代碼。
2、如果你真的有特殊需求的話,你可以先反編譯jar成smali,再改smali。然后再編譯成jar。
3、反編譯apk步驟,把文件名的 .apk修改為 .rar,解壓就看到res,lib等文件,其中classes.dex是需要你反編譯的java代碼。把a(bǔ)pk文件修改成.rar文件解壓獲得classes.dex和資源文件。
4、smali文件直接用記事本修改即可,這種文件采用的是特殊語法,即使有一定c語基礎(chǔ)也同樣讓人頭疼,網(wǎng)上有關(guān)于這種語言的介紹以及修改smali文件的技巧,可以搜索一下,找不到告訴我郵箱,我可以給你發(fā)一個(gè)。我不經(jīng)常在線的不過。
https://github點(diǎn)抗 /ollide/intellij-java2smali IntelliJ IDEA 或者android studio的一個(gè)插件。可以把java轉(zhuǎn)smali,前提是沒有語法錯(cuò)誤。
反編譯一般是不能完全得到源Java代碼的,得到的代碼甚至?xí)姓Z法錯(cuò)誤,除非是簡(jiǎn)單的那些代碼。要改的話就得改.class文件,但這個(gè)非常困難,要在16進(jìn)制下改。
反編譯apk步驟,把文件名的 .apk修改為 .rar,解壓就看到res,lib等文件,其中classes.dex是需要你反編譯的java代碼。把a(bǔ)pk文件修改成.rar文件解壓獲得classes.dex和資源文件。
因?yàn)榉淳幾g失敗了,所以只有smali文件夾了。反編譯Apk得到Java源代碼 首先要下載兩個(gè)工具:dex2jar和JD-GUI 前者是將apk中的classes.dex轉(zhuǎn)化成Jar文件,而JD-GUI是一個(gè)反編譯工具,可以直接查看Jar包的源代碼。
運(yùn)行反編譯命令后會(huì)在同級(jí)目錄下得到一個(gè) ThinkingSpacePro 文件夾,源文件都在里面了。
Smali是安卓系統(tǒng)里的Java虛擬機(jī)使用的一種.dex格式文件的匯編器,里面是支持運(yùn)行軟件的代碼,它可以生成.dex格式文件,不過需要工具才可以。