美文网首页
修改 APK 的两种方式

修改 APK 的两种方式

作者: 雁过留声_泪落无痕 | 来源:发表于2021-11-22 09:36 被阅读0次

一、背景
现有一个现成的 APK,需要修改它,并重新打包成 APK,现提供两种方式实现

二、修改 smali 的方式

  1. apktool d app-debug.apk
  2. if-eqz 修改为 if-nez
  3. apktool b app-debug
  4. sign app-debug/dist/app-debug.apk

sign.bat
jarsigner -verbose -keystore %~dp0xxx.keystore -signedjar %1_signed.apk %1 xxx_key_alias

  1. adb install -r app-debug/dist/app-debug_signed.apk

二、修改 dex 的方式

  1. unzip app-debug.apk,如果 APK 采用的是 V2 签名,解压会失败,用 apktool d -s app-debug.apk 代替

  2. IDA 载入目标 dex,IDA-View 视图中 alt+t/ctrl+t 搜索目标字符串,右键点击文本视图,看左侧地址,比如为 00001FAC,点击十六进制视图,点击右键选择同步到 IDA-View,查看十六进制指令,这里为 38

  3. 查看 Dalvik 指令码,发现 38 是 if-eqz,39 是 if-nez

  4. 以十六进制文件编辑器打开该 dex,找到 00001FAC 地址处,将 38 改成 39

  5. 用 dexfix 修复修改后的 dex 的 checksum

  6. 替换原始 dex

  7. 重新压缩成 APK,如果是 V2 签名,需要用 apktool b app-debug

  8. sign app-debug/dist/app-debug.apk

  9. adb install -r app-debug/dist/app-debug_signed.apk

相关文章

网友评论

      本文标题:修改 APK 的两种方式

      本文链接:https://www.haomeiwen.com/subject/yqgvtrtx.html