吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2507|回复: 27
收起左侧

[Android 原创] apk 中静态 Android Deep Linking 对应规则提取

[复制链接]
p1s1lver 发表于 2023-3-27 15:51
本帖最后由 p1s1lver 于 2023-4-13 20:57 编辑

在 Android 设备自动化的过程中,有时候会需要提取 deep linking 直接跳转而不是做过多的 UI 操作,这里进行了脚本的封装,可以直接定位代码中的包名,从而找到对应的解析逻辑,编写 deeplink

- Android Deep Linking 是一种允许应用程序通过链接打开特定页面的技术,用于提高用户体验。
- Android Deep Linking 工作原理:通过在 `AndroidManifest.xml` 中注册 URI 模式来实现的。当用户点击一个链接时,Android 系统会检查链接是否与已注册的 URI 模式匹配,匹配成功自动打开。

AndroidManifest.xml 文件中的 URI 模式定义:`AndroidManifest.xml` 中根据如下规则设定,定义 app 可以处理的 URI 格式的字符串
1. activity 标签中添加 `intent-filter` 标签,并在其中添加 `action`、`category` 和 `data` 标签
2. action 标签的值必须为 `android.intent.action.VIEW`
3. category 标签的值必须包含 `android.intent.category.DEFAULT` 和 `android.intent.category.BROWSABLE`
4. data 标签的值必须包含 `android:scheme`、`android:host` 和 `android:pathPrefix`

[XML] 纯文本查看 复制代码
<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="http"
              android:host="example.com"
              android:pathPrefix="/product" />
    </intent-filter>
</activity>


这里对该逻辑进行了封装。
项目地址:https://github.com/p1s1lver/AndroidReverseScripts/tree/master/deeplink_extractor



但是其实很多时候,App 使用的是 Intent-Filter 机制动态注册的,这篇帖子也只是个笔记帖

deeplink_extractor 效果展示

deeplink_extractor 效果展示

免费评分

参与人数 3吾爱币 +3 热心值 +2 收起 理由
whizzer + 1 + 1 谢谢@Thanks!
debug_cat + 1 + 1 谢谢@Thanks!
IFFFFh + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| p1s1lver 发表于 2023-3-27 15:55
这里的 AndroidManifest.xml 文件是 apktool 反编译出来的,不能用 aapt 命令解析出的文件,因为那个是简化版本的,
好处就是可以快速知道 deeplink 开头是什么,然后对应代码的位置是什么,快速写出 start activity 命令

一般是自动化程序使用,逆向的话,可以减少一点调试的时间
 楼主| p1s1lver 发表于 2023-3-27 17:42
本帖最后由 p1s1lver 于 2023-3-27 17:44 编辑

也可以使用命令行直接进行调用,这个还是非常方便的,推荐!
2023-03-27-17-43-28.gif
Xieweiping 发表于 2023-3-27 17:25
Avicii111 发表于 2023-3-27 18:37
感谢分享!感谢大佬!
wanghaoxu 发表于 2023-3-27 18:39
感谢分享!
zhnlwwdzz 发表于 2023-3-27 18:45
原来是这么弄的,谢谢大佬分享。
exiaowe 发表于 2023-3-27 19:12
感谢分享
weiyanli 发表于 2023-3-27 19:27
感谢分享
Saniq 发表于 2023-3-27 20:37
学习大佬
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 11:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表