首页 > 移动平台 > 详细

android逆向基础:apk 反编译 重打包 重签名

时间:2016-01-21 00:28:02      阅读:222      评论:0      收藏:0      [点我收藏+]

apk 反编译大家都比较熟悉,这里只做一个笔记。

1 反编译 apk

apktool d perfect.apk

这样就把资源文件解压缩了, classes.dex 也反编译成了 smali 文件

2 修改 smali 文件

得到 smali 文件,现在就可以对 smali 文件进行修改和添加自己的代码了。 

当然可以进一步用  dex2jar 处理将  dex 转成 java class 文件, 再用  jd-jui 等反编译成 java 代码。

现在 apk 基本都做了混淆, 但仔细读还是基本能够明白意思的。

修改 smali 是考验你 smali 汇编的基础, 这个就是孰能生巧,多读多练了, 比 arm 汇编要简单多了。

3 重新打包

apktool b perfect

4 重签名

重新打包后没有签名信息, 还需要重新签名,因为 apk 没有签名是不能安装的。

签名也很简单用 jarsigner 就行,  jarsigner 和 keytool 其实都是 jdk 中的工具, 在 java 安装目录下可找到, 本来就是给 jar 文件签名的

jarsigner -verbose -keystore leslie.keystore -storepass 123456 -keypass 123456 -signedjar  perfect-hack-signed.apk  perfect-hack.apk lesliekeystore

也可以用默认的 debug key 签名,  debug.keystore 一般位于  ~/.android 目录下

jarsigner -verbose -keystore debug.keystore -storepass android -keypass android -signedjar  perfect_signed.apk  perfect.apk androiddebugkey

如果没有 keystore 可以用 keytool 生成一个

jarsigner -verbose -keystore leslie.keystore -storepass 123456 -keypass 123456 -signedjar  perfect-hack-signed.apk  perfect-hack.apk lesliekeystore

这是基础中的基础了,看着很简单,但自己在 smali 中注入了一行弹 toast 的代码还是用了一天的时间。

 

android逆向基础:apk 反编译 重打包 重签名

原文:http://www.cnblogs.com/lesliefang/p/5146985.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!