好久没接触过Android逆向了,今天突然收到一个恶搞app,想于想反编译这个app,看看里面到底有啥有趣的东西。
反编译
使用apktool进行反编译
apktool d 一份礼物.apk -o aaa
打开aaa文件夹可以看到里面的结构:
aaa/
|–AndroidManifest.xml
|–apktool.yml
|–assets
|–lib
|–original
|–res
|–smali
|–unknown修改
对代码进行处理,修改。
编译成apk文件
使用apktool进行编译成apk安装包
apktool b aaa
查看aaa目录,里面多了一个dist目录,目录里面有个一份礼物.apk
签名
使用keytool产生密钥,生成abc.keystore
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
正在为以下对象生成 2,048 位RSA密钥对和自签名证书 (SHA256withRSA) (有效期为 20,000 天):
CN=webyang, OU=webyang, O=webyang, L=new york, ST=new york, C=cn
查看当前目录,生成了新文件:abc.keystor
使用JarSigner对apk进行签名,命令如下
/usr/lib/jvm/java-15-jdk/bin/jarsigner -verbose -keystore abc.keystore -signedjar testx.apk 一份礼物.apk abc.keystore
签名完成:
这样就对软件包签名完成了,可以在手机上正常安装。