博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
反编译,改应用名,再打包、签名。原来是这样
阅读量:5832 次
发布时间:2019-06-18

本文共 1706 字,大约阅读时间需要 5 分钟。

转载请注明出处:https://juejin.im/post/5ab8ab8e6fb9a028ce7b9741

写在开头

三月份的事情比较多,导致都没有写出自认为还算优质的博文。

其实Amigo学习第三篇都列好大纲了,但希望能分享得更详细一些,学得也更深入一些,加上公司的任务重了...

幸得今天有点时间,接的活也快收尾了。分享一下在项目中遇到的反编译工具的使用。

反编译大家应该都不陌生,刚好最近对一个安卓包进行了反编译-改应用名-再打包-再签名-发布,这样一系列的操作。于是决定记录下来,(技术含量不大)主要作学习、总结及备忘之用。

反编译资源文件

  • apktool 获得程序的源代码、图片、XML配置、语言资源等文件。
  • dex2jar 将 classes.dex 转为 jar文件。
  • jd-gui 查看 jar 文件。

以上工具都是可以搜索并下载得到的。

下载后,解压到本地磁盘中,

在 Windows 系统中,按下 “Windows + R” 组合键,
输入 “cmd” 确定,
打开命令行程序默认路径应该是在 C 盘,如果你的反编译工具,解压后的路径在其他盘符,如 D 盘,可输入 “D:回车”,可以跳转到 D 盘 的根目录下。
再输入 "cd D:\download\apktool" 定位到 apktool 文件夹下,

将需要反编译的 apk 文件拷贝到 apktool 文件夹路径下。

输入指令:apktool d -f [带反编译的 apk 文件] -o [反编译后存放的文件夹]

如:apktool d -f abc.apk -o abc

如果你只需要改应用名或其他资源文件,那么你可以去查看 [反编译后存放的文件夹]。

如果你想看到应用的源代码,继续...

反编译源代码

下载后,解压到本地磁盘中,

再输入 "cd D:\download\dex2jar" 定位到 dex2jar 文件夹下,

和上一步的操作类似。

解压 abc.apk ,将 classes.dex 拷贝到 dex2jar 文件夹下。

CMD 中输入 dex2jar.bat classes.dex

一顿输出后...在 dex2jar 文件夹下会看到 classes_dex2jar.jar 文件

用 jd-gui 工具可以打开查看,放在 Android Studio 中也可查看。

这样就可以看到安卓应用的源代码了,但大部分应用都会混淆代码,所看到的变量名、类名等都是用 a-z 的字母表示。不过到了这一步,你就可以做很多事情了。比如可以结合 Fiddler 做一些事情;可以看到大致的工程结构;可以看到核心代码的大致实现思路等...

再打包

修改了应用名之后,重新打包,如下操作。

定位到 apktool

输入 apktool b abc

abc 是反编译后的存放文件夹

重新打包后生成的 apk 文件在 abc\dist 中。

再签名

反编译 - 修改应用名 - 再打包,然后是签名

这里就不是 apktool 工具了,而是用的 jdk\bin 下的工具 jarsinger.exe

cd 到 你的 jdk\bin 下,输入:

jarsigner -verbose -keystore [签名文件地址] -signedjar [签名后 apk文件地址] [待签名 apk文件地址] [keystore 的 Alias]

如:jarsigner -verbose -keystore D:\abc.keystore -signedjar D:\abc_signed.apk D:\abc.apk abcAlias

一顿疯狂输出后...

这里没有写明有效期限,所以是默认时间。

写在后头

想了解 apktool 更多其他内容

定位到 apktool 文件夹,在 cmd 中输入 apktool
以获取帮助

最后附上 apktool.jar 的下载地址

这是国外的网站,打开很慢。

如果不能下载,试试用梯子。
如果梯子还不能下载,文章尾部有群号,可以 直接找我要~

推荐阅读:

记录在此,仅为学习!

感谢您的阅读!欢迎指正!

你可能感兴趣的文章
中信电讯年底前在广州北京新设数据中心
查看>>
最前沿:图文结合详解深度学习Memory & Attention
查看>>
甘肃建丝绸之路大数据平台 汇聚沿线国家信息
查看>>
江西加快智慧防汛建设 构建防汛大数据平台
查看>>
JAXenter发布2017最受欢迎的云平台调查
查看>>
VMware、Citrix何以平分秋色?
查看>>
杭州人正在用的城市大脑,有可能是人类下一个“登月计划”
查看>>
爱立信:物联网转型业务推动运营商沿价值链上行
查看>>
大数据在政府购买公共服务中的作用探析
查看>>
新疆博州2017年计划投入8000万元建分布式光伏电站 惠及23个贫困村
查看>>
测试自动化技能树
查看>>
微软颠覆Salesforce在SaaS市场的龙头地位
查看>>
Android 推送 整合小米、个推、jpush
查看>>
《DevOps实战:VMware管理员运维方法、工具及最佳实践》——2.6 小结
查看>>
《腾讯iOS测试实践》一一1.3 品质管理
查看>>
代码即犯罪现场
查看>>
X11 Server 发现 23 年历史的安全漏洞
查看>>
中国工业用机器人数量惊人,三分之二工作受威胁
查看>>
机器学习很火很潮,但你真的需要吗?
查看>>
每日一博|卷积神经网络初探
查看>>