臃肿应用变轻量网页!Travelbound应用逆向工程改造记

📅 2026/7/15 11:36:42
臃肿应用变轻量网页!Travelbound应用逆向工程改造记
Travelbound应用本应是网页却成‘负担’今年夏天孩子们所在表演艺术学校将在迪士尼乐园演出然而被告知需安装 [“Travelbound” 应用程序] 才能获取行程安排等信息这冲淡了兴奋之情。这个应用程序实际上就是通过网络传递的文本、图像和 PDF 文件链接却要求用户安装。它似乎只有两件网页可能做不到的事且都是反功能一是将与谷歌账户相关的跟踪数据报告给开发者二是展示由同一家旅行社组织的其他旅行的广告。与之相比网页具有复制粘贴、打印、保存、收藏、搜索等诸多优势还几乎可以在任何设备上使用且潜在地更具可访问性。拦截应用程序流量掌握数据秘密为了‘修复’这个应用程序作者重新复习网络流量逆向工程安卓应用程序的最佳方法并采取了一系列步骤。首先在 Android Studio 的虚拟设备管理器中创建新的虚拟设备测试 adb shell 是否可用并用 [rootAVD] 对其进行 root 操作接着进行冷启动运行 [Magisk] 并调整设置以便自动授予任何请求 su 权限的应用程序访问权限。之后运行 [HTTP Toolkit] 拦截 AVD 流量它安装了一个假的VPN 提供商将手机的流量路由通过代理。再从应用商店安装 Travelbound 应用程序并配置 HTTP Toolkit 仅代理该应用程序。经过测试发现该应用程序将用户名和密码拼接起来在特定形式的 URL 中使用会返回代表应用程序‘展示’所有内容的 JSON 数据如包含行程各段信息、‘灵感’即广告、交叉引用文件等数组。进一步测试还发现S3 图像 URL 有效期相对较短需定期重新获取 JSON 数据。让它变得更好打造轻量网页替代应用掌握所需信息后作者编写了一个 Ruby 脚本按 Cron 计划运行以获取最新 JSON 数据并构建 HTML 页面。作者选择跳过‘灵感’只列出行程中的各项内容和未被引用的文件。然后托管该页面并设置密码保护使用旅行团最初获得的相同密码。还在 元素中包含原始 JSON 数据方便检查。虽然网页没有应用程序‘漂亮’但大小只有其一小部分且免费获得网页的所有标准功能。有些任务适合用‘应用程序’但 Travelbound 显然不属于此类。现在用户可以选择使用 43MB下载额外内容后膨胀到 124MB、带有跟踪和广告的应用程序或者 0.05MB可选额外 35MB 图像、功能更多且能在更多设备上使用的网页。相关讨论与反馈文章发布后收到了不少反馈有 167 个赞、6 个反对、4 个疑惑和 14 个‘勿扰’表情。还有 121 条评论如 Jared White 表示几乎不用移动应用程序认为‘有个应用程序能解决这个问题’在移动设备上已过时Miakoda 听到‘下载应用程序’就会回怼Haelwenn 认为应用程序做成这样可能是为了跟踪和广告〽️ɪɢᴜᴇʟ 指出 Discord 也有类似将论坛讨论从网页转移到应用程序的情况等。