利用apktool反编译apk,并且重新签名打包

AndyYang| 阅读:8657 发表时间:2018-05-27 16:02:29 android
摘要:apktool可以用来反编译apk包,并且重新生成apk包。
网站:https://ibotpeaches.github.io/Apktool,下载安装好apktool。

我的安装在 C:\Users\Administrator\Downloads\apktool反编译工具2.2.2。apk我放在c盘根目录,名字叫test.apk,cmd打开命令行。

运行:apktool d -f c:\test.apk

当前目前便会生成一个test的目录,对应的包的文件目录。

如要做啥修改,可以自行修改包的内容,有些加密了可能修改不了。改完了然后得重新编译成apk。

运行:apktool b test


(图示)

查看test目录,里面多了一个dist目录,目录里面有个test.apk

也可以运行:java -jar apktool.jar b -f test

网上看有人会报错:
F:\apktool>apktool b Hello Hello.apk
Exception in thread "main" brut.androlib.AndrolibException: brut.directory.PathN
otExist: apktool.yml

解决方法:进行反汇编时,改用命令apktool d -r xx.apk xx便可以解决(加上了-r选项)。

但这种包并不能安装,需要签名才能安装。

此处需要安装java环境,如未安装,请自行安装。我的安装在:G:\Program Files (x86)\Java

依然cmd,g:,cd G:\Program Files (x86)\Java\jdk1.7.0\bin

之后输入命令:keytool -genkey -alias abc.keystore -keyalg RSA -validity 20000 -keystore abc.keystore

您的名字与姓氏是什么?
  [Unknown]:  webyang
您的组织单位名称是什么?
  [Unknown]:  webyang
您的组织名称是什么?
  [Unknown]:  webyang
您所在的城市或区域名称是什么?
  [Unknown]:  new york
您所在的省/市/自治区名称是什么?
  [Unknown]:  new york
该单位的双字母国家/地区代码是什么?
  [Unknown]:  cn
CN=webyang, OU=webyang, O=webyang, L=new york, ST=new york, C=cn是否正确?
  [否]:  Y

查看当前bin目录,生成了新文件:abc.keystore,把上面的test.apk放到这个bin目录,再次运行:

jarsigner -verbose -keystore abc.keystore -signedjar testx.apk test.apk abc.keystore

发现生成了testx.apk,此apk为最终安装版本。

本文为AndyYang原创,转载请注明出处!
如果您觉得好,可以打赏作者:
如果您觉得累了,是否想看点美女养养眼:猛戳>>朋友帮
如果您觉得皮了,是否想来点神吐槽:猛戳>>iPhone查询中

已有1条评论

昵称:
邮箱:

  • 最新评论

广东硅谷学院2018-07-11 10:33:28
学好IT好工作就选硅谷学院,学技能拿文凭事半功倍,紧跟专业教师一起冲浪IT行业。我们有建设学习型专业师资团队,教师领跑学生紧随其后。广东硅谷学院热招2018年高考毕业生,招生热线88989555,QQ:800015777.网站:http://www.sve.com.cn
iPhone查询中 - bbs.ipcxz.com 朋友帮 - www.pengyb.cn iPhone查询中 - bbs.ipcxz.com
反馈
微信订阅号