Ⅰ Android APK+Dex文件反編譯及回編譯工具的常見問題
1、被殺毒軟體攔截誤殺(安裝前,關閉殺毒軟體)
2、沒有管理員許可權(右鍵以管理員身份運行C:Apkdb安裝.exe)或者,使用兼容模式 (右鍵-屬性-兼容性-兼容模式[Windows XP SP3])以及 特權等級 勾選「以管理員身份運行此程序」
3、UAC限制 安裝過程沒有寫入注冊表提示,直接顯示安裝完成(右鍵 我的電腦-管理-本地用戶和組-用戶-Administrator(√ 密碼永不過期)請在系統變數【path】里最前面添加 c:windows;c:windowssystem32;4、正常安裝成功,安裝過程有寫入注冊表提示,但是右鍵APK 沒有菜單(檢查是不是安裝了PC版的手機管理工具,關聯了APK文件)
5、安裝後無法編譯文件,提示java 錯誤(未安裝JAVA平台,或安裝錯誤。請卸載後重啟電腦,重裝再次重啟電腦)
6、安裝成功後,編譯文件提示 「Can't create the output directory \****smali」(這是文件夾 沒有寫入許可權。檢查是否直接在硬碟分區根目錄編譯了?Apktool不能在磁碟分區。如:C盤 D盤 根目錄!如果不是根目錄,請檢查apk文件名稱是不是有問題。如,文件名結尾空格。)
7、能反編譯,但無法回編譯(可能是被舊版本的Apktool編譯過,試試用舊版的反編譯,用新版的回編譯)
8、回編譯出錯問題:(1.提示 strings.xml 最後一行錯誤,檢查是否</string>符號錯誤;(2.提示 strings.xml 最頂部含中文代碼首行錯誤,編碼格式不對,轉換成 UTF-8;(3.提示 public.xml 出錯,檢查改動過的 arrays.xml 是否代碼有錯誤的地方;(4.其他錯誤,檢查是否復制aapt.exe 文件到系統目錄如:C:WindowsSystem32aapt.exe
9、安裝過程提示 systeminfo 提示「不是內部或外部命令」請在系統變數【path】里最前面添加 c:windows;c:windowssystem32;或者手動添加這個變數,如果還是不行可能系統不完整,重裝吧)
10、如果安裝過程中,未顯示【操作成功完成】只顯示:....................請在系統變數【path】里最前面添加 c:windows;c:windowssystem32;
11、64位系統,如果JAVA出錯,建議把32位和64位的JAVA一起裝上。
12、Win8用戶 需要注意一下,如果安裝了手機助手,需要,手動關聯APK文件apk文件滑鼠右鍵,【打開方式】-【選擇默認程序】-【APK安裝器】
Ⅱ Android 如何對apk文件進行反編譯以及重新
在Android開發中,反編譯apk文件是一項重要的技術,可以用於研究代碼、修改功能或破解應用。首先,我們需要使用apktool進行反編譯。此工具可以將apk文件轉換為資源和smali代碼,便於我們進行修改。反編譯後的apk文件通常會被解壓到一個文件夾,例如hellodemo。
進入hellodemo\smali\com\example\hello文件夾,這里包含了修改應用邏輯所需的核心smali代碼。打開MainActivity.smali文件,找到const-string v1, "\u4f60\u597d"這行代碼,將其修改為const-string v1, "hello"。這樣做的目的是將顯示的字元串從「你好」改為「hello」。這一步是通過直接編輯smali代碼實現的,smali是Dalvik虛擬機的匯編語言,用於編寫Android應用。
完成修改後,我們需要重新打包apk文件。在命令行中輸入apktool b hellodemo hellodemo1.apk,這將把修改後的代碼重新打包成一個名為hellodemo1.apk的新apk文件。接下來,我們需要對這個新的apk文件進行簽名,以確保它能夠被安裝到設備上。首先,將新生成的apk文件復制到autosign目錄下,然後在命令行中輸入java -jar signapk.jar testkey.x509.pem testkey.pk8 hellodemo1.apk hellodemo.apk。這里的signapk.jar是用於簽名apk文件的工具,testkey.x509.pem和testkey.pk8是用於簽名的密鑰文件。
最後一步是安裝這個簽名後的apk文件。將生成的hellodemo.apk安裝到手機上,打開應用後,可以看到主界面上已經顯示的是「hello」,而不再是「你好」。這說明我們成功地完成了反編譯、修改和重新打包的過程。
整個過程涉及到了apk文件的反編譯、smali代碼的修改、重新打包以及簽名等步驟。通過這些步驟,我們不僅能夠修改應用的內部邏輯,還可以學習到Android應用開發中的許多重要技術。
Ⅲ APKTOOL怎樣用的,我反編譯成功之後回編譯失敗,出現下圖這樣的情況是怎樣的
編譯失敗是操作過程中錯誤造成的。解決方式如下:
1、首先去官方網站點擊下載可用的最新ApkTool。
Ⅳ APK 反編譯失敗 是為啥
1、反編譯=回編譯後分別是
smali目錄 回編譯為 classes.dex 文件
res目錄 回編譯為 resources.arsc 文件
2、回編譯順序
在回編譯時,會先檢查「源」即resources
當你漢化文件,修改出錯了(缺少一個符號也不行),
那麼回編譯會自動跳過編譯res文件夾,直接回編譯smali 。
所以,如果沒有對smali(classes.dex)漢化,那麼建議大家刪掉這個文件夾,
這要會大大加快回編譯速度。
3、出錯問題1
在漢化時,往往會不小心刪掉一些符號,如 "<" ">"符號等等。
<string name="app_name">File Manager</string>
<string name="app_name">文件管理器/string>
<string name="app_name"文件管理器</string>
這些小小的錯誤都會導致回編時譯檢查出錯。
所以漢化時,注意對校,然後再回編譯。
建議使用一些高級的文本編輯器,支持語法高亮視圖的。
4、出錯問題2
最近發現有些APK文件 反編譯後,就算不漢化直接回編譯,都會出錯。
有可能的原因1,反編譯後XML文件語法中@符號 前面多了"\" (\@ ),
用文本編輯工具 直接替換【\@】為【@】,應該可以解決。
建議使用最新版本的反編譯工具。
5、建議大家使用新版本的APKTool工具,
當然如果新的有問題也可以試試舊的一、系統文件漢化再次強調
1、漢化Settings.apk(系統設置)、MMS.apk(信息)、Phone.apk(電話)、
等等系統文件,一定要先 安裝構架,具體看另個文件
<關於APKTool工具反編譯Settings.apk問題>。
2、系統文件漢化完後不需要簽名,直接替換漢化後的文件,就可以了。
主要是,系統文件放在系統目錄,無需再次讀取簽名獲得許可權,已經是高級了。
二、打包說明
1、通常漢化完回編譯後,會自動生成所有APK內的文件,或者自動生成*.APK文件。
但是建議大家不要直接使用該文件,進了使用替換法,替換掉你漢化後的文件,
如:resources.arsc,如果修改過的圖片,等等…
2、很多人對於APK文件 解壓縮或壓縮 都用「WinRAR」或「好壓」,這里不推薦。
希望大家安裝7-Zip這個壓縮工具,對於zip格式的支持是最好的。而且很方便,
不需要重新關聯apk 直接右鍵打開就行了。替換直接拖拉進去,就OK了一、回編譯出錯問題
(1.提示 strings.xml 最後一行錯誤,檢查是否</string>符號錯誤;
在漢化時,往往會不小心刪掉一些符號,如 "<" ">"符號等等。
<string name="app_name">File Manager</string>
<string name="app_name">文件管理器/string>
<string name="app_name"文件管理器</string>
(2.提示 strings.xml 最頂部含中文代碼首行錯誤,編碼格式不對,轉換成 UTF-8;
(3.提示 public.xml 出錯,檢查改動過的 arrays.xml 是否代碼有錯誤的地方;
二、一切能正常但無法回編譯
還有一種情況,apktool最新版本能正常反編譯一個apk文件,在未做任何修改的情況下,無法回編譯。
這是就要注意了,可以嘗試一下用低版本的apktool進行【反編譯】,然後在用高版本的apktoo工具【回編譯】。
這里向大家推薦用 【APKDB】 這個工具,很方便,反編譯時可以選擇apktool的版本。