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包得到原文件。