logo

反编译apktool

https://www.bilibili.com/video/BV1kK4y1x74s/?spm_id_from=333.1391.0.0&vd_source=fa415d80136b8369e418392ffaf31f97

下载好apktool文件后,在当前文件夹右键+shift
D:\www\fan>java -jar .\apktool_2.11.0.jar d .\gyyx-app-5.0.8.apk

https://www.jb51.net/article/32888.htm

做软件分身的话

修改AndroidManifest.xml里面的

package=“修改名称”

2、修改AndroidManifest.xml中的包名

     将package后面的包名com.tencent.qbx改为你想要的新包名,我改为了com.tianxiao.tencentweb

     将涉及原包名的com.tencent.qbx的相关activity的声明中的包名均改为新包名com.tianxiao.tencentweb

   至于intent-filter里面的action名中包含原包名的,则可以不改,如果改的话,代码中也要相应的改变

     另外,如果有provider,provider的authorities也得改,这个在同一手机上必须唯一,否则安装会失败

3、在E:\apkTool\qq4\smali目录下,有很多子目录,子目录下的文件多以smali结尾,这中文件的语法有点类似于汇编语言,具体原理就不深究了。

   将smali目录下的所有文件中的原包名的声明形式com/tencent/qbx改为新包名com/tianxiao/tencentweb

   具体如下,用UEdit在文件中替换即可,将目标目录指向E:\apkTool\qq4\smali,这个将近1000条左右

     如果之前改为action里面的包名,也要将字符串形式的包名com.tencent.qbx改为com.tianxiao.tencentweb

     如果有provider也要讲原来的authorities值改为在AndroidManifest.xml中新改的authorities值。

4、将E:\apkTool\qq4重新打包为apk

     apktool b qq4 newqq.apk

5、将新的newqq.apk 重新签名

     签名的方法很多,一主要是手动生成签名,用命令行签名

     我采用的现成的,下载了一个Auto-sign的文件夹,进行了签名,这个比较简单,网上帖子很多,就不赘述。

     新签名后的apk名为  newqq4signed.apk

修改好之后

D:\www\fan>java -jar .\apktool_2.11.0.jar b .\gyyx-app-5.0.8\ -o gyyx001.apk

keytool生成秘钥

签名

  1. 生成签名文件(如果没有)
    • 如果还没有签名文件,可以使用Java的keytool命令来生成。例如:
      • keytool -genkeypair -alias myalias -keyalg RSA -keysize 2048 -validity 365 -keystore mykeystore.jks
      • 这个命令会生成一个名为mykeystore.jks的密钥库文件,其中包含一个别名为myalias的密钥对,有效期为365天。需要记住设置的密码,因为在签名过程中会用到。
  2. 签名APK
    • 可以使用jarsigner命令来签名APK。例如:
      • jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore mykeystore.jks [重新打包后的APK文件名].apk myalias
      • 其中,-verbose选项会显示签名的详细过程,-sigalg-digestalg指定了签名算法,-keystore指定了密钥库文件的位置,myalias是密钥库中的别名,最后是要签名的APK文件名。

https://juejin.cn/post/7435584321866104868

产品服务