apk二次打包签名及抓取HTTPS包

二次打包的危害性

如果你没有对你的应用做任何的安全保障措施,那么你的应用就非常的危险

首先了解一下什么是二次打包:

二次打包

通过工具apktool、dex2jar、jd-gui、DDMS、签名工具获取源码,嵌入恶意病毒、广告等行为再利用工具打包、签名,形成二次打包应用。


下面我们来实践一下

首先你得有一个apk然后我们通过apktool工具进行解包

apktool 主要用于逆向apk文件。它可以将资源解码,并在修改后可以重新构建它们。它还可以执行一些自动化任务,例如构建 apk

下载地址

https://ibotpeaches.github.io/Apktool/

https://bitbucket.org/iBotPeaches/apktool/downloads/

反编译APK

命令格式:apktool d [ apk文件名 ]

进入到 apktool 所在目录

.\apktool.jar d .\mlxx.apk

不行的话就用下面这个命令,前面加上 java -jar

java-jar.\apktool.jard.\mlxx.apk

编译成功之后会出现一个文件夹

AndroidManifest.xml

APP权限配置程序入口

smali 文件(一种汇编代码)

.smali可以和.dex相互转换

修改APK代码通常修改smali文件(重新修改.java源代码 重新编译的困难太大)

-baksmali.jar smali.jar对dex 和 smali文件做转换classes.dex

源代码在classes.dex文件里

可以反编出.java代码

解包后我们可以得到一个文件夹里面是apk数据


然后我们可以对其进行修改数据,或插入恶意数据病毒。再重新打包

使用apktool二次打包

命令:apktool b 目录

apktool b .\xincai\ -o memo.apk



二次打包后我们对其二次签名

使用Java环境中自带的jdk进行生成keystore

 keytool 是个密钥和证书管理工具。它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认证自己)或数据完整性以及认证服务。在JDK 1.4以后的版本中都包含了这一工具,它的位置为%JAVA_HOME%\bin\keytool.exe

使用

keytool -genkey -alias androidauto.keytore -keyalg RSA -validity 20000 -keystore 1234.keystore


如果出现keytool错误说明你没有写入权限,给java文件一个写入权限

生成的秘钥

然后我们使用360选中需要签名的apk文件,再选中刚刚生成的keystone,一键签名




使用burp抓取手机https包

1、让手机和电脑连入同一个WIFI,即是在同一个无线局域网环境下

2、查看电脑的本地IP地址,对手机wifi进行代理设置,主机名为电脑ip

3、打开Burpsuite,设置Burp suite代理服务器。添加和手机一样的IP地址和端口,要跟手机上设置的那个端口一致

4、导入证书到手机中便可抓取https包了

你可能感兴趣的:(apk二次打包签名及抓取HTTPS包)