apk反编译
反编译apk
一、apktool工具
1、反编译工具apktool的下载、安装、配置

2、反编译
2.1、apktool d D:\ceshi\Test.apk
其中“D:\ceshi\Test.apk”为apk的路径
该指令反编译出来的文件路径为:C:\Users\nan\Test
2.2、apktool d -o D:\ceshi\Test D:\ceshi\Test.apk
其中“D:\ceshi\Test”为反编译后文件的存储路径;“D:\ceshi\Test.apk”为apk的路径
3、修改配置
3.1、修改包名步骤为1)、文件AndroidManifest.xml中package的值为包名,将其值改为新的包名,例如:package="com.example.test"改为package="com.example.testmy"。2)、文件apktool.yml中renameManifestPackage的值默认为null,将其值改为新的包名,例如:renameManifestPackage: null改为renameManifestPackage: com.example.testmy。
3.2、添加标签
文件AndroidManifest.xml中<application></application>标签中添加<meta-data android:name="CHANNEL" android:value="TapTap"/>
4、重新编译打包为apk
4.1、apktool b D:\ceshi\Test
其中“D:\ceshi\Test”为要编译的文件夹路径。该指令打包出来的apk文件路径为:D:\ceshi\Test\dist\Test.apk
4.2、apktool b -o D:\ceshi\apks\Test.apk D:\ceshi\Test
其中“D:\ceshi\Test”为要编译的文件夹路径。"D:\ceshi\apks\Test.apk"为该指令打包出来的apk文件路径
4.3、apktool b --use-aapt2 -o D:\ceshi\apks\Test.apk D:\ceshi\Test
该指令指定了构建工具为aapt2。
5、签名
5.1、签名工具:1)、Jarsigner:是JSDK提供的针对jar包签名的通用工具,位于JDK/bin/jarsigner.exe;2)、Apksigner:是Google官方提供的针对Android apk签名及验证的专用工具,位于Android SDK/build-tools/30.0.3/apksigner.bat
5.2、apk签名有两种标签:V1签名:(Jar Signature);V2签名:(Full APK Signature)。
apksigner工具默认同时使用V1和V2签名
5.3、签名指令:apksigner sign --ks D:\key\my.keystore --ks-key-alias mytest --ks-pass pass:123456 D:\ceshi\apks\Test.apk
说明:“D:\ceshi\apks\Test.apk”为需要签名的apk;执行命令后如果成功则会在Test.apk的同级目录会有两个文件Test.apk和Test.apk.idsig。其中Test.apk是已经签名后的apk,可以正常使用了。
5.4、获取apk的签名信息:apksigner verify --print-certs D:\ceshi\apks\Test.apk
二、dex2jar+jd-gui
1、dex2jar下载地址:https://github.com/pxb1988/dex2jar

1.2、解压缩

1.3、在上图的目录执行命令:d2j-dex2jar.bat [classes.dex文件]。其中“[classes.dex文件]”替换为你的dex文件。
2、jd-gui下载地址:https://github.com/java-decompiler/jd-gui/releases


浙公网安备 33010602011771号