apk无法反编译
㈠ apktool反编译失败
多出来build是合适的,回编后的apk~~~signed...就在那儿.
首先,你的java环境变量设置需要检查.
安装设置好后 调出cmd.(win8下按win+R) 依次输入java javac java -version 显示ok 就证明你的环境变量设置好了.
需要安装的有java 和 JDK这两个.(记得区分32位和64位)
推荐你使用DOAPK 是图形化界面的apktools 不需要java环境变量.
如有疑惑,请追问~~~(*^__^*) 嘻嘻
㈡ 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安装器】
㈢ 求助,apk被加密了,反编译不了,可有方法解决
下载dex2jar JD-GUI apktool
反编译步骤:
1.反编译Apk得到Java源代码
首先要下载两个工具:dex2jar和JD-GUI
前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。
具体步骤:
1.首先将apk文件,将后缀改为zip,解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的;
2.解压下载的dex2jar,将classes.dex复制到dex2jar.bat所在目录。在命令行下定位到dex2jar.bat所在目录
运行 dex2jar.bat classes.dex
生成 classes.dex.dex2jar.jar
2.反编译apk生成程序的源代码和图片、XML配置、语言资源等文件
还是下载工具,这次用到的是apktool
具体步骤:
将下载的两个包解压到同一个文件夹下,应该会有三个文件:aapt.exe,apktool.bat,apktool.jar
1.解压缩下载的两个文件包,apktool-install-windows-r04-brut1.tar解压缩后得到的包里有aapt.exe 和apktool.bat.(注意要把apktool1.4.1.tar解压后的一个.jar 文件到解压后的\apktool-install-windows-r04-brut1文件夹里)
2.特别注意:你要反编译的文件一定要放在C盘的根目录里
㈣ 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无法反编译
详细描述一下问题,是无法正常安装,还是安装之后无法正常运行
现在部分APK自身带有加密,签名被改变就无法正常安装或者运行
比如QQ,或者是一些系统应用
一些系统的应用,签名不能被改变,哪怕文件被更改,也不能重新签名,否则程序无法运行
㈥ 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的版本。
㈦ apk反编译不成功 换了好几个版本的java还不行
我今天也遇到了这个问题,我的问题解决了是因为包不旁团完整,有损坏(可以慎手通过直接运行APK,损坏的话会提示安装不了),另外我在查资料的时候发现也有可能apk被二次加工过,宽启嫌不是白包,添加了混淆或反编译。
㈧ framework-res.apk反编译失败求助大神
有些修改过的apk是无法反编译的,因为ROM制作者制作时可能用了其它方法修改过这个apk
你可以做这个测试。
你找个官方原版提取的framework-res.apk进行反编译,如果正常反编译,就是Revolution_HD13中提取的文件不能进行反编译
如果官方原版提取的framework-res.apk也不能反编译,就是你电脑上apktool版本或者框架导入有问题。
如果我的回答没帮助到您,请继续追问。转载,仅供参考。