app反编译失败怎么办
❶ 我想反编译 一个APK程序,但是那个APK程序的代码被混淆了,导致APK反编译失败,请问这个问题怎么解决
你的这个问题想想就知道不能解决的,为什么?总所周知java的代码容易被反编译,非常简单,让我自己写反编译工具我也能写,如果市场上的软件都这样直接发布出去,那开发者的劳动成果怎么保证?谁还愿意开发?抄袭人家的就是了。正因为如此才诞生了代码混淆,代码混淆的作用就是防止apk被反编译的。
我们假定混淆代码也没起作用,后面的灾难性局面你自己去想象吧。。。
❷ 求助,安卓51反编译systemuiapk失败
第一:要在你的PC上建立Java的环境,才能执行编译工作。具体方法我这个就不说了,你网络或者Google下就知道了,很简单的。 第二:下载必要的工具。Apktool工具。 下载后解压(有三个文件aaptexe,apktoolbat,apktooljar),为了方便。将解压求助,安卓51反编译systemuiapk失败
❸ apktool 回编译失败 怎么解决
、反编译=回编译后分别是
smali目录
回编译为
classes.dex
文件
res目录
回编译为
resources.arsc
文件
2、回编译顺序
在回编译时,会先检查“源”即resources
当你汉化文件,修改出错了(缺少一个符号也不行),
那么回编译会自动跳过编译res文件夹,直接回编译smali
。
所以,如果没有对smali(classes.dex)汉化,那么建议大家删掉这个文件夹,
这要会大大加快回编译速度。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的版本。
❹ 反编译时提示如下错误怎么解决
1、反编译=回编译后分别是
smali目录 回编译为 classes.dex 文件
res目录 回编译为 resources.arsc 文件
2、回编译顺序
在回编译时,会先检查“源”即resources
当你汉化文件,修改出错了(缺少一个符号也不行),
那么回编译会自动跳过编译res文件夹,直接回编译smali 。
所以,如果没有对smali(classes.dex)汉化,那么建议大家删掉这个文件夹,
这要会大大加快回编译速度。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 是否代码有错误的地方;
❺ apk反编译出现异常,谁能告诉我是怎么回事
我用的是apk改之理,反编译异常应该是apk安装包不完整,也就是说系统把apk进行了odex优化,把apk安装包里后缀dex的文件提取出来,从而加快软件运行速度,网上下个odex合并工具试一下,虽然我试过合并odex和apk文件,结果还是反编译失败。
❻ app反编译为什么编译出错
虽然不提倡逆向工程别人的劳动成果但是万一一个feature你想做,却始终搞不懂,怎么?参考一下别人怎么实现的吧!可是Android用的Dalvik压根不是标准的JavaVM的Jar,而是DEX格式的,怎么?附件是dxe2jar和JD,两个工具都是opensource的,我已经全部放在一个压缩包了。别着急,有法:假设你要反汇编的是app.apk,那么先改名成app.zip2.解压3.在解压出来的里面找到classes.dex,这个就是目标的程序的二进制文件4.用附件的dex2jar,在Windows命令行下运行dex2jarclasses.dex5.生成classes.dex.dex2jar.jar,这个就是转换后的JAR文件了6.执行jd-gui,找到刚才生成的JAR文件,打开之。7.偷偷乐吧,90%以上的Java源代码跃然眼前。
❼ 新人求教,选择反编译全部然后显示失败
反编译后的文件夹内丢失apktool.yml文件!
这个文件是APKTOOL工具回编译时必要的文件,在反编译APK时会自动生成,里面包含APKTOOL反编译某个APK文件的相关信息!此文件内容不可包含中文!
格式如下:
version:1.4.3
apkFileName:BluetoothFileTransfer_Ad-free_4.80.apk
isFrameworkApk:false
usesFramework:
ids:
-1
第一行代表APKTOOL程序的版本
第二行是APK程序名称
第三行是说明该APK是不是Framework级的文件
第四行到最后,我不是很清楚,估计是使用Framework的级别吧
如果你回编译的APK不属于系统级文件,你可以按照以上内容新建一个apktool.yml文件。不过版本行一定要写你当前使用的apktool程序的版本!
❽ apk反编译,回编出错了
不影响正常运行,只是编译环境,
compileSdkVersion 告诉 Gradle 用哪个 Android SDK 版本编译你的应用。使用任何新添加的 API 就需要使用对应 Level 的 Android SDK。
需要强调的是修改 compileSdkVersion 不会改变运行时的行为。当你修改了 compileSdkVersion 的时候,可能会出现新的编译警告、编译错误,但新的 compileSdkVersion 不会被包含到 APK 中:它纯粹只是在编译的时候使用。(你真的应该修复这些警告,他们的出现一定是有原因的)
因此我们强烈推荐总是使用最新的 SDK 进行编译。在现有代码上使用新的编译检查可以获得很多好处,避免新弃用的 API ,并且为使用新的 API 做好准备。
注意,如果使用 Support Library ,那么使用最新发布的 Support Library 就需要使用最新的 SDK 编译。例如,要使用 23.1.1 版本的 Support Library ,compileSdkVersion 就必需至少是 23 (大版本号要一致!)。通常,新版的 Support Library 随着新的系统版本而发布,它为系统新增加的 API 和新特性提供兼容性支持。
解决办法有两种(我测试的前提是反编译的母包是没有包含这两个属性的):
(1)使用apktool 2.3.2版本,因为2.3.3之后版本针对appt和appt2做了修改,最后AndroidManifest.xml里面不在包含compileSdkVersion和compileSdkVersionCodename
(2)清除原本的1.apk,重新指定framework-dir:java -jar apktool_2.4.0.jar empty-framework-dir --force,最后发现可以回编译成功,但是AndroidManifest.xml还是会包含compileSdkVersion和compileSdkVersionCodename。
❾ apk回编译失败怎么办.我反编译之后没有改任何的东西,也回编译不了
反编译之后没有改任何的东西?
,没见过,回编译失败是正常的
❿ APKTOOL怎样用的,我反编译成功之后回编译失败,出现下图这样的情况是怎样的
编译失败是操作过程中错误造成的。解决方式如下:
1、首先去官方网站点击下载可用的最新ApkTool。