㈠ APK反编译成功后为什么不能签名
图片在android编译时是自动生成的索引,图片改了对应的索引就不正确,肯定会失败
㈡ MiuiSystemUI.apk反编译并且修改后无法回编译,提示出错。即使反编译后什么都不修改直接
、反编译=回编译后分别是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在汉化时,往往会不小心删掉一些符号,如""符号等等。FileManager文件管理器/string>这些小小的错误都会导致回编时译检查出错。所以汉化时,注意对校,然后再回编译。建议使用一些高级的文本编辑器,支持语法高亮视图的。4、出错问题2最近发现有些APK文件反编译后,就算不汉化直接回编译,都会出错。有可能的原因1,反编译后XML文件语法中@符号前面多了"\"(\@),用文本编辑工具直接替换【\@】为【@】,应该可以解决。建议使用最新版本的反编译工具。5、建议大家使用新版本的APKTool工具,当然如果新的有问题也可以试试旧的一、系统文件汉化再次强调1、汉化Settings.apk(系统设置)、MMS.apk(信息)、Phone.apk(电话)、等等系统文件,一定要先安装构架,具体看另个文件。2、系统文件汉化完后不需要签名,直接替换汉化后的文件,就可以了。主要是,系统文件放在系统目录,无需再次读取签名获得权限,已经是高级了。二、打包说明1、通常汉化完回编译后,会自动生成所有APK内的文件,或者自动生成*.APK文件。但是建议大家不要直接使用该文件,进了使用替换法,替换掉你汉化后的文件,如:resources.arsc,如果修改过的图片,等等…2、很多人对于APK文件解压缩或压缩都用“WinRAR”或“好压”,这里不推荐。希望大家安装7-Zip这个压缩工具,对于zip格式的支持是最好的。而且很方便,不需要重新关联apk直接右键打开就行了。替换直接拖拉进去,就OK了一、回编译出错问题(1.提示strings.xml最后一行错误,检查是否符号错误;在汉化时,往往会不小心删掉一些符号,如""符号等等。FileManager文件管理器/string>(2.提示strings.xml最顶部含中文代码首行错误,编码格式不对,转换成UTF-8;(3.提示public.xml出错,检查改动过的arrays.xml是否代码有错误的地方;二、一切能正常但无法回编译还有一种情况,apktool最新版本能正常反编译一个apk文件,在未做任何修改的情况下,无法回编译。这是就要注意了,可以尝试一下用低版本的apktool进行【反编译】,然后在用高版本的apktoo工具【回编译】。这里向大家推荐用【APKDB】这个工具,很方便,反编译时可以选择apktool的版本。
㈢ Android APK+Dex文件反编译及回编译工具的注意事项
1、需要反编译的APK文件名称,不可以使用中文,否则无法回编译。2、反编译后的文件夹不要重命名,否则自动签名会失败(控制在:apktool.yml)。3、APK文件不能放在分区根目录直接反编译,请放在子目录内。4、部分功能需要 .NET Framework 4.0 的支持!如:显示APK自身图标。
㈣ 在android系统中,怎么反编译系统APK文件而不破坏以前的签名,就是在重新编译的时候还是原来的签名。在WIN
一般情况下 改了就要重新签名的吧、签名也不麻烦的
㈤ 如何反编译android应用以及重编译,签名和对齐优化
工具/原料
电脑必须装java
JAVA电脑环境教程
apktool
方法/步骤
1. 配置好JAVA环境变量,下载:apktool 解压的文件放在C盘根目录的apktool文件夹里(apktool文件夹自己创立)
打开命令提示符,(开始-运行-输入cmd)
2. 输入:cd \apktool 系统指令到了apktool文件夹(这里就是为什么要把解压的apktool解压的文件放到apktool文件夹的原因,当然你也可以自命名文件夹的名称,那么比如arc,那么指令就变成了:cd \arc 前提是你必须把apktool解压的文件放到这个文件夹里面)
3. 使用RE管理器把系统里面的framework-res.apk 与 SystemUI.apk 提取出来放在apktool文件夹里面
4. 如果只是想反编译framework-res.apk
输入apktool if framework-res.apk(框架的建立)
5. 开始最重要的反编译,输入指令,apktool d framework-res.apk
(反编辑的APK一定要用没换过图片的,否则回编辑失败)
6. 最后反编译完成
7. 修改代码完成后,输入代码:apktool d framework-res 即可完成回编译
8. 如果反编译的是系统文件,比如,SystemUI.apk 那么必须进行挂载框架,反编译时,必须敲入一下命令:(然后再重复4-7步骤)
apktool if framework-res.apk
apktool if SystemUI.apk
9. 对于三星手机(比如9100、9108/9100G),如果反编译SystemUI.apk要敲入一下命令进行框架挂载apktool if framework-res.apk
apktool if twframework-res.apk
apktool if SystemUI.apk
10. 回编译的命令是 apktool b XXX (没有后面的apk后缀)反编译的命令是 apktool d xxx (有后面的apk)
㈥ apktool反编译后能用eclipse打包签名吗
把要反编译的APK文件放到跟APKTool四个文件的同一个目录(例如C:\APK);
点击“开始”--“运行”,输入cmd,然后执行:
cd C:\APK
然后执行:
apktool d apkname.apk foldername
apkname.apk 表示要进行反编译的APK文件
foldername表示反编译后文件存放的目录,即在当前目录下会自动建一个新目录存放(如:C:\APK\foldername)
执行完上面语句后,如果没有出现错误提示,则成功解包了,找到foldername目录,打开smali目录即为反编译出来的字节。
【重新打包】
修改需要改变的文件后,就要重新打包成APK文件了:
apktool b foldername new.apk
其中foldername即放反编译结果的目录,执行成功后会在该目录的dist目录下有一个重新打包后的apk文件。
到此就成功打包了一个新的apk文件了,但还不要高兴得太早,该文件是一个没有签名的apk,有了解过android的应该都知道,没有签名是无法安装的。那就要重新为该文件签一下名了。
【签名】
签名我们需要用到的工具是Auto-sign。它主要是利用批处理命令,使用signapk.jar对APK文件进行签名的。
把new.apk文件复制到签名软件的目录下,再用记事本打开Sign.bat,将其修改为如下代码:
java -jar signapk.jar testkey.x509.pem testkey.pk8 new.apk new_signed.apk
最后双击一下Sign.bat即可签名完成,
签名后的APK文件就可以在模拟器或者Android机器上安装了。
㈦ apkdb执行反编译一闪而过就什么也没有
APKDB是一款,针对Android OS系统的APK程序,直接反编译修改的工具。其实,本工具是一个工具集合箱,直接在【鼠标右键】创建快捷菜单;非常方便汉化工作者,对APK或Dex文件进行简易的反编译回编译操作;集合了当今最强悍,最犀利的APK及Dex文件编译工具;
但安装过程阻碍多多,这里向大家说说这个工具的安装经验:
1、被杀毒软件拦截误杀(安装前,关闭杀毒软件)
2、没有管理员权限(右键以管理员身份运行C:\Apkdb\安装.exe)
或者,使用兼容模式 (右键-属性-兼容性-兼容模式[Windows XP SP3])
以及 特权等级 勾选“以管理员身份运行此程序”
3、UAC限制 安装过程没有写入注册表提示,直接显示安装完成
(右键 我的电脑-管理-本地用户和组-用户-Administrator(√ 密码永不过期)
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 是否代码有错误的地方;
使用过程中的说明
1、需要反编译的APK文件名称,不可以使用中文,否则无法回编译。
2、反编译后的文件夹不要重命名,否则自动签名会失败(控制在:apktool.yml)。
3、APK文件不能放在分区根目录直接反编译,请放在子目录内。
4、部分功能需要 NET.Framework 4.0 的支持!如:显示APK自身图标。
㈧ 如何反编译android应用以及重编译,签名和对齐优化
首先,了解一下为什么需要反编译apk
大部分情况下,是由于想本地化一款优秀的应用,才需要做这事儿;又或者进行少量的smali修改以达到想要的效果(如添加归属地,使3G版Nexus 7支持Wi-Fi热点)。
下面先准备运行环境和工具
建立工作目录,如.\workspace\apktoolbox (下面同样以此路径为例)
必不可少的JDK:Oracle Java下载,安装完成后把<jdk-inst-path>\bin添加到$PATH环境变量中
反编译和重编译工具apktool:Google Code下载,按平台下载(一个apktool-install-<platform>-<ver>-tar.bz2,一个apktool<ver>.tar.bz2,下载完成后解压至.\workspace\apktoolbox\bin
密钥文件,共4组。test/shared/media/platform,从android source中获取,分别对应不同共享用户ID时签名所需(查看应用AndroidManifest.xml第二行android:sharedUserId项 ),放到.\workspace\apktoolbox\bin下
test - 无android:sharedUserId项
shared - android:sharedUserId=android.uid.shared
media - android:sharedUserId=android.uid.media
platform - android:sharedUserId=android.uid.system
签名工具signapk.jar,放到.\workspace\apktoolbox\bin下
对齐优化工具zipalign(从android sdk中获取,在tools目录下),放到.\workspace\apktoolbox\bin下
准备工作完成
接下来就要开始工作了(以本地化工作为例)
把待反编译的apk放到.\workspace\apktoolbox\apks下
在命令行模式下进入.\workspace\apktoolbox\bin目录,输入以下命令进行解包(反编译)
apktool d ..\apks\<apkfile>.apk ..\apks\<outdir>
.\workspace\apktoolbox\apks\<outdir>\res下的values目录(英文原版)和values-r<locale>目录(本地化)就是需要的对象。
本地化工作完成后,在命令行中输入以下命令进行重新打包(重新编译)
apktool b ..\apks\<outdir>
.\workspace\apktoolbox\apks\<outdir>\dist目录下会生成重新打包后的apk(未签名,未对齐优化)
重新打包完成后,在命令行中输入以下命令进行签名(根据实际情况选用密钥,这里以test密钥为例)
java -jar signapk.jar testkey.x509.pem testkey.pk8 ..\apks\<outdir>\dist\<apkfile>.apk ..\apks\<apkfile>_signed.apk
签名完成后,在命令行中输入以下命令进行对齐优化
zipalign -f -v 4 ..\apks\<apkfile>_signed.apk ..\apks\<apkfile>_zipaligned.apk
<apkfile>_zipaligned.apk就是最终需要的apk了。
完成
部分apk需要系统框架资源,没有的话在重新打包时会报错,这种情况下只需要先安装一下对应系统框架即可(从目标ROM中把/system/framework/framework-res.apk提取出,放到.\workspace\apktoolbox\apks下)。在命令行中输入以下命令进行安装
apktool if ..\apks\framework-res.apk
㈨ 今天把stk.apk反编译后直接编译签名,也就是没有更改任何东西得到的文件比原文件小了2k,再拿到手机上就
可能要用幸运破解器修正一下核心,以前我改过QQ,一开始也用不了,后来修正核心就能用了。
㈩ 将原安卓apk反编译后签名,有原签名文件
一、可以使用如APKTool之类的反编译工具,使用方法网上有介绍,反编译完成后修改所有引用包名的地方及对应的文件夹,然后重新编译为新的APK,最后再用签名工具签名就行。
二、第一步是用命令行的形式进行的,如果不愿意进行繁琐的配置过程,可以使用一些可视化的APK修改工作,如APK改之理、VTS(Virtuous Ten Stdio)等,但主要修改的地方更第一步是一致的。