Android 反编译apk,然后修改内容后二次签名打包 |
您所在的位置:网站首页 › 手机apk文件解析错误 › Android 反编译apk,然后修改内容后二次签名打包 |
一. 反编译apk,二次签名.
1. 下载apktool.jar ,下载地址: iBotPeaches / Apktool / Downloads — Bitbucket 2. mac电脑使用 apksigner 方式签名, 需要配置环境. 2.1 命令行输入: open .bash_profile, 在打开的环境配置文件中添加,根据自己SDK目录配置 export APK_SIGNER_HOME=/opt/android-sdk/build-tools/28.0.3 export PATH=$PATH:$APK_SIGNER_HOME2.2 添加上述环境后关闭文件即可, 然后执行刷新命令: source .bash_profile 3. 把要反编译的apk, apktools.jar和签名文件放到同一文件夹下. 命令行 cd 到test目录下: 1.反编译 test.apk 包, 成功后会生成一个 反编译后的test文件. java -jar apktool.jar d test.apk 2. test文件夹就是apk内容, 进行你要修改的操作 3. 把test文件夹下的 META-INF 文件删除. 4. 执行打包命令,执行完之后会生成一个未签名的 ccc.apk 包: apktool b test -o ccc.apk test是反编译test.apk后生成的文件夹. ccc.apk 是你打包的新apk.
6. 附属命令 //查看签名信息 keytool -printcert -jarfile ccc.apk //检查 Apk 是否已签名,两个命令都可以 apksigner verify -verbose -print-certs ccc.apk apksigner verify -v --print-certs ccc.apk 二. 不修改class.dex和so等文件,直接替换assets等文件assets文件下的资源是未编译过的,可以直接替换. 如果是替换 AndroidManifest.xml 文件必须是在源文件或把apk反编译之后的文件进行修改,然后再打成apk包,签名之后. 再从这个签名后的apk中解压拿到AndroidManifest.xml, 这才是被编译过的文件. 如果使用AndroidManifest.xml 源文件替换会签名失败. 替换apk包的文件,先删除,再添加. 1. 把要替换的文件,apk和签名文件放到一个目录中. 若要修改assets目录下的文件,这需要把修改的文件放到assets文件夹下,路径需和apk中一致. 有些编译过的文件必须使用打包签名后获取到的,源文件不行.如: AndroidManifest.xml 2. 使用下面的命令替换文件. //替换assets目录下文件 aapt r test.apk assets/xxx.json aapt a test.apk assets/xxx.json //替换AndroidManifest.xml文件 aapt r test.apk AndroidManifest.xml aapt a test.apk AndroidManifest.xml3. 使用签名命令 apksigner sign --ks 签名文件 --ks-key-alias 签名文件的别名 test.apk |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |