Android安全专项测试之反编译

来源:互联网 发布:关闭淘宝客佣金代扣款 编辑:程序博客网 时间:2024/06/05 00:31

apktool

反编译APK

使用apktool d <apk文件名>,默认会生成和APK文件名同名的文件夹,里面会存放反编译后的文件:

localhost:apk wuxian$ apktool d com.wangyin.payment-3.11.1.apkI: Using Apktool 2.0.1 on com.wangyin.payment-3.11.1.apkI: Loading resource table...I: Decoding AndroidManifest.xml with resources...I: Loading resource table from file: /Users/wuxian/Library/apktool/framework/1.apkI: Regular manifest package...I: Decoding file-resources...I: Decoding values */* XMLs...I: Baksmaling classes.dex...I: Copying assets and libs...I: Copying unknown files...I: Copying original files...

这里写图片描述

反编译后的文件目录

这里写图片描述

  • assets:文件资源
  • lib:依赖库文件
  • original:原生文件
  • res:资源文件
  • smali:dalvik文件
  • unknown:其他

主要关注res文件夹和smail文件夹

res目录中的字符串文件篡改

这里写图片描述

Android中的字符串都保存在res/values/strings.xml中,如果可以修改这个文件,且能重新打包,那么我们的应用就被篡改了。我将应用名更改为TesterHome,且将马上登录 改成了 马上登录TesterHome;

重新编译

命令:apktool b <反编译后的目录>

localhost:apk wuxian$ apktool b com.wangyin.payment-3.11.1I: Using Apktool 2.0.1I: Checking whether sources has changed...I: Smaling smali folder into classes.dex...I: Checking whether resources has changed...I: Building resources...I: Copying libs... (/lib)I: Building apk file...I: Copying unknown files/dir...

会在反编译目录下的dist目录下生成一个APK:

这里写图片描述

安装

这个时候安装会报错:

localhost:dist wuxian$ adb install com.wangyin.payment-3.11.1.apk 992 KB/s (27039435 bytes in 26.616s)    pkg: /data/local/tmp/com.wangyin.payment-3.11.1.apkFailure [INSTALL_PARSE_FAILED_NO_CERTIFICATES]

因为没有证书,我们需要给应用签名。

重签名

重签名需要如下几个文件:signapk.jar,testkey.x509.pem,testkey.pk8三个文件,有了这个文件后执行如下命令给应用签名(auto_sign)。

重签命令:java -jar signapk.jar testkey.x509.pem testkey.pk8 com.wangyin.payment-3.11.1.apk testerhome.apk

签名成功后,会生成一个新的apk:testerhome.apk。这个时候安装就成功了。

效果

这里写图片描述

这里写图片描述

0 0
原创粉丝点击