关于高德地图 V16.18.0.1141 手机版 修改思路说明
基本信息
| 项目 | 内容 |
|---|---|
| 原版版本 | Amap V16.18.0.1141 (Build C3060) |
| 原版大小 | 155MB |
| 修改版大小 | 177MB |
| 来源 | 小德车机 (www.xiaodecheji.com) |
一、修改内容总览
| 功能 | 修改方式 | 涉及文件 |
|---|---|---|
| 签名绕过 | 替换Application父类 + Native Hook | classes6.dex, classes9.dex, libSignatureKiller148.so |
| 去广告 | 禁用底部Tab + 删除搜索广告逻辑 | classes5.dex, classes6.dex |
| 去建筑 | 修改地图渲染配置 | map_assets/*.data |
| 精简界面 | 隐藏消息/附近/打车Tab | classes5.dex |
| 比例自适应 | 修改地图配置 | map_assets/*.data |
| 内嵌原版APK | 签名欺骗用 | assets/origin148.apk |
| 宣传信息 | 替换隐私说明文字 | res/values/strings.xml |
二、签名绕过方案 (SignatureKiller)
2.1 原理
修改版使用了不同的签名(ANDROID.RSA),无法通过高德自身的签名校验。采用以下方案绕过:
┌─────────────────────────────────────────────────────────┐
│ 启动流程 │
├─────────────────────────────────────────────────────────┤
│ 1. 高德启动 → 加载 NewMapApplication │
│ 2. 父类被改为 KillerApplication148 │
│ 3. 静态初始化块 <clinit> 自动执行: │
│ a. killPM() → 替换 PackageManager 返回的签名信息 │
│ b. killOpen() → 配置 Native Hook 参数 │
│ 4. libSignatureKiller148.so 加载: │
│ a. xhook 框架 hook libc 的 open/openat 系统调用 │
│ b. 拦截对 APK 文件的读取 │
│ c. 重定向到 files/origin148.apk(原版APK) │
│ 5. 高德内部签名校验读取到的是原版APK → 校验通过 │
└─────────────────────────────────────────────────────────┘
2.2 涉及文件
| 文件 | 作用 |
|---|---|
classes9.dex |
KillerApplication148 主类 + 12个内部类 (14KB) |
lib/arm64-v8a/libSignatureKiller148.so |
Native Hook 库 (19KB),基于 xhook 框架 |
assets/www.xiaodecheji.com.apk |
嵌入的原版APK (155MB),用于签名欺骗 |
2.3 classes6.dex 修改
文件 : com/autonavi/minimap/lite/NewMapApplication.smali
# 原版
.super Landroid/app/Application;
### 2.4 classes9.dex 关键路径 (硬编码)
assets/www.xiaodecheji.com.apk → 从APK内读取原版APK files/www.xiaodecheji.com.apk → 运行时释放到应用私有目录
### 2.5 签名证书信息 (硬编码)
Subject: CN=minimap, OU=mobile department, O=autonavi, L=beijing, ST=beijing, C=cn 有效期: 2010-05-30 ~ 2065-03-03 序列号: 04 33 00 27
---
## 三、去广告修改
### 3.1 底部Tab禁用 (classes5.dex)
三个Tab配置类被修改,返回值从 `true` 改为 `false`:
| 类名 | 隐藏的Tab | 修改内容 |
|------|-----------|----------|
| `HomeTabInitConfigMessageV2` | 消息 | `const/4 v0, 0x1` → `const/4 v0, 0x0` |
| `HomeTabInitConfigNearbyV2` | 附近 | `const/4 v0, 0x1` → `const/4 v0, 0x0` |
| `HomeTabInitConfigTaxiV2` | 打车 | `const/4 v0, 0x1` → `const/4 v0, 0x0` |
### 3.2 搜索结果去广告 (classes6.dex)
| 文件 | 修改内容 |
|------|----------|
| `SearchResultUseCaseImpl.smali` | 删除搜索结果广告判断方法 + isOffline() 方法 |
| `SearchClassifyDataSourceV2.smali` | 删除一级分类(levelOne)解析逻辑 |
### 3.3 首页按钮屏蔽 (classes5.dex)
**文件**: `ToolBoxDataHelper.smali` 相关方法
屏蔽首页部分功能按钮入口。
---
## 四、去建筑 / 地图配置修改
### 4.1 修改的配置文件
| 文件 | 原版大小 | 修改版大小 | 说明 |
|------|----------|------------|------|
| `map_assets/mapprofile_1_25_1776929002.data` | 3,002 | 3,022 | 地图渲染配置 |
| `map_assets/mapprofile_2_25_1776929002.data` | 2,835 | 2,861 | 地图渲染配置 |
| `map_assets/laneprofile_1_25_1776929002.data` | 2,644 | 2,671 | 车道渲染配置 |
### 4.2 新增资源文件
| 文件 | 大小 | 说明 |
|------|------|------|
| `assets/icons_5_25_1778498417.data` | 1.5MB | gzip压缩的图标资源包,替换地图图标 |
### 4.3 技术说明
这些 `.data` 文件是高德地图引擎的**编译型二进制配置**,不是简单的文本参数。修改后整个文件内容几乎全部变化(包含校验和/加密/链式哈希),**无法通过逐字节对比逆向具体改了哪个字段**。
需要使用高德地图引擎的专用配置工具重新生成,或逆向读取 `.data` 的代码才能理解具体格式。
---
## 六、MT管理器二次修改指南
### 6.1 准备工具
- MT管理器 (最新版)
- 需要root权限或虚拟环境
### 6.2 恢复建筑显示
需要替换原始的 `mapprofile_*.data` 和 `laneprofile_*.data` 文件为原版版本。
### 6.3 恢复被隐藏的Tab
在 `classes5.dex` 中找到对应的 `HomeTabInitConfig*` 类,将 `const/4 v0, 0x0` 改回 `const/4 v0, 0x1`。
---
## 七、安装注意事项
1. **必须先卸载原版高德**(签名不同,无法覆盖安装)
2. **仅支持 ARM64 架构**(libSignatureKiller148.so 只有 arm64-v8a)
3. **签名绕过依赖原版APK**:`assets/origin148.apk` 不能删除或损坏
---
## 八、技术栈
| 工具/框架 | 用途 |
|-----------|------|
| apktool 2.7.0 | APK 反编译 / 重打包 |
| ApkSignatureKillerEx | 签名绕过框架 (GitHub: L-JINBIN/ApkSignatureKillerEx) |
| xhook | Native Hook 框架 (静态链接在 .so 中) |
| smali/baksmali | DEX 反编译 / 重编译 |
| jarsigner / apksigner | APK 签名 |
---
## 九、文件清单
v16.18.apk (171MB)
├── classes.dex # 主DEX (未修改)
├── classes2.dex # (未修改)
├── classes3.dex # (未修改)
├── classes4.dex # (未修改)
├── classes5.dex # ✏️ 修改: Tab禁用 + 首页按钮屏蔽
├── classes6.dex # ✏️ 修改: Application父类 + 搜索去广告
├── classes7.dex # (未修改)
├── classes8.dex # (未修改)
├── classes9.dex # 🆕 新增: KillerApplication148 签名绕过
├── assets/
│ ├── www.xiaodecheji.com.apk # 🆕 原版APK (155MB)
│ ├── icons_5_25_1778498417.data # 🆕 图标资源包 (1.5MB)
│ ├── amap_configer.data # ✏️ 广告配置修改
│ └── map_assets/
│ ├── mapprofile_1_25_1776929002.data # ✏️ 去建筑配置
│ ├── mapprofile_2_25_1776929002.data # ✏️ 去建筑配置
│ └── laneprofile_1_25_1776929002.data # ✏️ 去建筑配置
├── lib/arm64-v8a/
│ └── libSignatureKiller148.so # 🆕 Native Hook 库 (19KB)
└── res/values/
└── strings.xml # ✏️ 宣传信息

根据文章标注的「资源编号」从网盘里获取对应资源: https://link.kxwjj.cn/aEQQze
原文:https://www.xiaodecheji.com/article/305
更多资源和修改教程尽在小德车机导航站(https://www.xiaodecheji.com)