导航:首页 > 源码编译 > apktool回编译apk并且签名

apktool回编译apk并且签名

发布时间:2022-08-15 20:32:37

㈠ 如何将手机apk 安装包反编译和重新打包签名

android应用安装到手机的是一个apk文件。apk是可以用工具进行反编译并重新打包的。本文将介绍下如何用apktool对apk进行反编译并重新打包。
工具/原料
apktool
auto sign
方法/步骤
首先我们新建一个android项目,里面只有一个MainActivity,而且主界面只会显示一个字符串:你好。

下面,我们切换到这个项目生成的apk文件所在的目录,可以看到有一个hellodemo.apk。

命令行输入:apktool d -r hellodemo.apk。可以看到在当前目录下生成了一个hellodemo文件夹

进入到hellodemo\smali\com\example\hello,打开MainActivity.smali。找到:
const-string v1, "\u4f60\u597d",
修改为:
const-string v1, "hello",

然后在命令行输入:apktool b hellodemo hellodemo1.apk。这回重新打包成hellodemo1.apk。

然后给新生成的apk进行签名。把这个apk拷贝到autosign的目录下面,然后切换过去,在命令行输入:java -jar signapk.jar testkey.x509.pem testkey.pk8 hellodemo1.apk hellodemo.apk。
步骤阅读
把生成的hellodemo.apk安装到手机,可以看到主界面上已经显示的是hello,而不再是你好。说明反编译重新打包成功!

㈡ 修改apk并重新打包和签名后怎么和原app共存

反编译所使用的到的工具
apktool,反编译apk,从apk中提取图片和布局资源
dex2jar,将可运行文件classes.dex反编译为jar源码文件
java-decompiler(jd-gui),主要用来查看jar源码文件
在反编译之前要确保电脑上有Java
检查有无Java的方法,打开命令行,输入java -version
如果出现如下图所示就是安装了Java,没有的话需要自行配置环境
在这里插入图片描述
下载apktool.bat脚本(右键,链接另存为…)
在这里插入图片描述
下载最新版本的apktool.jar,并且重命名为apktool.jar
将apktool.bat和apktool.jar还有需要反编译的Apk文件放在同一目录下就可以正常使用了
反编译命令行:
output_dir代表文件的输出路径
test.apk代表Apk的文件名
apktool.bat d -o
test.apk
1
1
-o 指定解码目标文件夹的名称(默认使用APK文件的名字来命名目标文件夹)
然后继续执行命令行
apk-file是上一步输出的文件夹的名字
apktool.bat b apk-file
1
1
会发现执行该命令行后会多出下面两个文件夹,dist文件夹下面放的就是apk文件
在这里插入图片描述
此时,可以查看AndroidManifest.xml,res及smali文件了。甚至可以修改这个目录下的资源文件或者smali文件,然后重新编译。如果需要修改图片的话,只需要找到对应位置替换掉就好了;
apktool反编译出来只能得到apk的smali文件,即汇编语言版本,并不能得到源代码。

㈢ 请教Camera 360 1.8利用apktool 反编译后再编译签名为什么不能运行

apktool
反编译之后重新编译的文件可能无法常运行。如果你只是修改了语言文件,可以在重新编译以后,用压缩软件提取出
resources.arsc
文件,替换掉原软件中的同名文件。注意这个文件不要压缩(用
WinRAR
替换该文件的话,压缩方式选“存储”),否则可能有问题。也可以试试用原来的
apk
里面的
classes.dex
文件将新软件包里面的那个替换掉。这样一般可以运行。
查看原帖>>

㈣ apktool可以反编译未签名的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批处理工具。

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

4.反编译jar包
得到jar包后,下载自已喜欢的反编译工具,推荐使用JD-GUI,有比较简单的图形界面,可以反编译单个class文件,也可以反编译jar包,比较方便。
打开压缩文件JD-GUI,运行jd-gui.exe,打开上面生成的jar包,即可看到源代码了

5.反编译xml文件
打开解压的res\layout目录,有很多xml文件,如果你想看下作者是如何设计界面的,你会很失望,因为你看到的是一大堆乱码!这个时候我们需要用到的是apktool。
具体操作方法:将下载的apktool和apktool-install-windows-r05-ibot两个包解压到同一个文件夹下,这个文件夹有三个文件:aapt.exe,apktool.bat,apktool.jar。把这个文件夹也放到系统盘的根目录中并把这个目录加到path变量中。以HelloWord.apk为例:
在DOS命令行中输入:apktool d xx\HelloWord.apk HelloWord得到HelloWord文件夹,此文件夹中的xml文件就是编译好的可以正常查看的文件。

这样就得到了可以得到编译的源码和XML资源。

㈤ 谁能帮我反编译一个APK的签名和版本号。这个软件老提示更新,但是更新后会收费,很烦。

将要修改的apk重命名,如123.apk,名字不能含有汉字,如原名没有汉字可忽略;
解压“一键APKtool”,将123.apk托至该文件夹下;
点击“一键APKtool.exe”,先进行1,加载框架,然后2,反编译;
进入该文件夹找到反编译出来的123文件夹,里面找到AndroidManifest.xml
打开,第二行<manifest android:versionCode="300" android:versionName="4.0.003" ,修改版本号,如为9.9.999,保存;
然后打开“一键APKtool.exe”进行3,回编apk;
在“回编apk生成目录”便可以找到回编后的apk;
打开“ApkTool.exe”,将该apk拉到“签名那一栏”,点击签名;
等待签名成功,即可使用~

㈥ 如何利用apktool反编译apk

电脑必须装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 反编译后签名为什么不能运行

apktool反编译之后重新编译的文件可能无法常运行。如果你只是修改了语言文件,可以在重新编译以后,用压缩软件提取出resources.arsc文件,替换掉原软件中的同名文件。注意这个文件不要压缩(用WinRAR替换该文件的话,压缩方式选“存储”),否则可能有问题。也可以试试用原来的apk里面的classes.dex文件将新软件包里面的那个替换掉。这样一般可以运行。

㈧ 用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 是否代码有错误的地方;

二、一切能正常但无法回编译
还有一种情况,apktool最新版本能正常反编译一个apk文件,在未做任何修改的情况下,无法回编译。
这是就要注意了,可以尝试一下用低版本的apktool进行【反编译】,然后在用高版本的apktoo工具【回编译】。
这里向大家推荐用 【APKDB】 这个工具,很方便,反编译时可以选择apktool的版本。

㈨ 关于apktool反编译及回编译的问题!!(修改candycrush的内容)

apktool有问题,用我自己修改的apktool吧

http://ishare.iask.sina.com.cn/f/35253480.html

㈩ 如何反编译android应用并重新打包

反编译android步骤入下:

第一:使用apktool直接反编译apk

第六:把生成的hellodemo.apk安装到手机,可以看到主界面上已经显示的是hello,而不再是你好。说明反编译重新打包成功!

阅读全文

与apktool回编译apk并且签名相关的资料

热点内容
黑马程序员培训机构官网天津 浏览:903
mainjavasrc 浏览:57
如何买服务器挖矿 浏览:291
php批量上传文件夹 浏览:559
安卓固件怎么更新 浏览:169
单片机代码例程网站 浏览:923
UG编程如何多平面轮廓2D倒角 浏览:438
视频压缩渐变纹 浏览:852
什么app能看财经新闻 浏览:40
数学奇迹神奇运算法 浏览:360
大厂的程序员的水平如何 浏览:701
遗传算法入门经典书籍 浏览:879
源码炮台脚本 浏览:621
在位编辑命令 浏览:348
曲式分析基础教程pdf 浏览:15
php生成静态html页面 浏览:965
怎么分割pdf 浏览:813
压缩垃圾报警器 浏览:629
小公司一般都用什么服务器 浏览:968
java获取时间gmt时间 浏览:821