换个软件试试。可能原代码已加密,你需要能解密的反编译软件去编译。
B. 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的版本。
C. 反编译不了,不知道哪里出错了,怎么办
我虽然没有做过反编译工作,但是我编写过源程序,对源程序的调试基本思路一般就是:通过使用调试工具设置断点,单步跟踪,查看某个变量的值等手段,来最终把程序的正确运行结果调试出来。对于反编译的思路也是一样的,你可以通过调试工具设置断点的方法,一步一步进行调试。在这个调试工作上面,没有什么捷径可走。
D. 运行反编译过来的代码时出现这些错误,怎么办
变量名标识符非法,改成任意合法标识符即可
E. 反编译出来的java文件有错误,请问怎么改
这个反编译的程序 相当于自己写的程序的 你这样包装改就对了try{File log = new File(System.getProperty("server.root"), file); fw = new FileWriter(log, true); bw = new BufferedWriter(fw); pw = new PrintWriter(bw, true); }catch(IOException){}return;}
F. php代码解密反编译出错
对于eval这样的无聊“加密”,你把eval改为echo,并且注释掉这以后的所有内容,运行一下,把输出的结果替换eval语句既可。
G. 改之理反编译失败是怎么回事
本帖最后由 7ktest 于 2015-6-19 17:27 编辑
一般是apktool的问题,最简单的方式是用新版本的apk改之理(里面的apktool也是新的),apk改之理可以到它的作者网站下载:http://www.popotu.com/popo/apkide.html
现在版本是3.2,也可以3.1, 3.2 都下来试试。
H. 为什么我反编译老是出错
经常遇到无法成功的情况,尤其是在反编译官方Rom的系统apk时候。网上也有很多的教程告诉我们直接apktool,执行这个命令 apktoo .关于apk的反编译修改,为何出错,尤其是
I. 求助:class反编译后出错
反编译后重新编译出错?估计是反编译出来的java文件内容字符编码不正确,可以用notepad另存一下,另存时选择编码为ANSI