前言
记录学习逆向的一点一滴。
工具
1.apktool
作用: 反编译和打包生成apk
2.apksigner
作用: 给apk签名
说明: AndroidSDK工具,在build-tools/相应版本的目录下,例如:build-tools\28.0.3,在该目录下是脚本(apksigner.bat),在lib下是jar包(apksigner.jar),可将build-tools\28.0.3配置到环境变量中。
步骤
1.将apktool.jar和待反编译的apk放到同一个目录下,打开命令行,并到该目录路径下;
2.执行如下反编译命令
java -jar apktool.jar d -f xxx.apk -o test
备注1: d表示解码,-f表示强制,-o表示指定反编译生成的目录(此处test即是反编译生成的目录)
备注2: 如果执行命令时,出现main的异常,则需要更新apktool.jar
执行成功,会生成test目录,里面即为反编译的内容
3.根据需要修改反编译生成的目录(此处是test目录)里面的数据
4.重新生成未签名的apk
java -jar apktool.jar b 反编译生成的目录(此处是test)
执行完毕以后,会在test下生成dist目录,该目录下的apk为未签名的apk
5.签名
进入dist目录下,将签名的key文件放在该目录下
执行如下命令:
apksigner sign –ks 密钥库名 –ks-key-alias 密钥库名 xxx.apk
备注: 此处xxx.apk是待签名的apk