A. android 反編譯錯誤 遇到 亂碼的文件名 怎麼辦
准備反編譯工具;
反編譯工具包里有一個AXMLPrinter2.jar可用於將XML變為可讀文件,但是會引起數組越界的異常;這里提供另一個jar包AXMLPrinter2.S.jar,可實現解析;
下載完jar包後,打開命令行,cd到該jar包路徑下,運行java -jar AXMLPrinter2.S.jar 文件所在路徑指定文件名.xml命令即可反編譯出xml文件;
但是如果XML文件很大,一屏看不完,則在命令窗口可能無法看全,這時候可以執行命令|more的指令,即Java -jar AXMLPrinter2.S.jar 文件所在路徑指定文件名.xml | more,發現屏幕最後會有--more--的字樣,按回車鍵可逐行顯示出來,但是無法返回看原先的數據;
如果想簡單的到處全部數據,可執行下面的命令Java -jar AXMLPrinter2.S.jar 文件所在路徑指定文件名.xml > 指定路徑文件名.txt(或XML),則該XML數據將全部寫入該文件中;
B. 安卓手機換字體亂碼!!
若是使用vivo手機,字體出現亂碼處理方法:
1、進入i主題--我的--字體--更換其他字體;
2、進入手機設置--系統管理/更多設置--備份與重置/恢復出廠設置--還原所有設置(此操作不會刪除手機中的數據,建議操作前備份好手機重要數據);
3、下載固件包刷機恢復系統。
若是以上方法均不能解決,可進入vivo官網/vivo商城APP--我的--在線客服或者vivo官網網頁版--下滑底部--在線客服輸入人工客服進行反饋。
C. APK文件裡面的AndroidManifest.xml文件全是亂碼用什麼編譯器打開
把AXMLPrinter2.jar下載到桌面,把你提取出亂碼的AndroidManifest.xml文件也放在桌面
你還需要安裝好java
///////////以下內容在桌面保存為run.bat////////////
for/f"tokens=2,*"%%iin('regquery""/v"Desktop"')do(
setdesk=%%j
)
java-jarAXMLPrinter2.jar%desk%AndroidManifest.xml>AndroidManifest.txt
pause
////////以上內容在桌面保存為run.bat////////////
保存後運行run.bat,如果沒有任何提示(「按任意鍵繼續」除外),就說明成功解密,在桌面會生成一個AndroidManifest.txt文件,這個.txt文件就是解密後的文件,這樣就不亂碼了
AXMLPrinter2.jar這個文件你自己網路下載
D. 豌豆莢apk反編譯,文件名亂碼,是怎麼做到的
1.下載反編譯工具
需要下載四個工具:dex2jar、JD-GUI、apktool、apktool-install-windows-r05-ibot
dex2jar:將apk中的classes.dex轉化成Jar文件。
JD-GUI:反編譯工具,可以直接查看Jar包的源代碼。
apktool:反編譯工具,通過反編譯APK中XML文件,直接可以查看。
apktool-install-windows-r05-ibot:輔助windows批處理工具。
下載地址:
dex2jar:http://code.google.com/p/dex2jar/downloads/list
JD-GUI:http://code.google.com/p/innlab/downloads/lis
apktool:http://code.google.com/p/android-apktool/downloads/list
工具截圖:
2.解壓縮APK包
apk文件也是一種常見的zip,常用的壓縮軟體就可輕松地解壓apk文件。用壓縮軟體將apk文件中的文件解壓到一個文件夾中,得到APK中的資源包括XML文件和classes.dex文件,classes.dex就是java文件編譯再通過dx工具打包而成的。
解壓截圖:
3.反編譯dex文件
解壓apk文件後,你會發現res目錄的圖片沒有加密,但java源碼編譯成了一個classes.dex文件,無法用普通的反編譯class文件的方法來處理,dex2jar可以將dex文件轉換成普通的jar包。
解壓下載的dex2jar,把解壓後的文件夾放到系統盤跟目錄中並把這個目錄加到系統path變數中,就可以直接用:dex2jar.bat或dex2jar.sh轉換dex文件了。
DOS行命令如下:dex2jar.bat xx\classes.dex(xx是classes.dex文件所在的路徑)。
將在同目錄得到普通jar包:classes_dex2jar.jar,就可以用處理普通jar包的方法來反編譯這個jar包得到原文件。