当前位置: 首页 > news >正文

臃肿应用变轻量网页!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 也有类似将论坛讨论从网页转移到应用程序的情况等。

http://www.jsqmd.com/news/1193414/

相关文章:

  • 如何三步快速解密网易云NCM文件:完整免费解决方案
  • 防静电服装体系建设:洁净生产环境的主要防护策略 - 资讯焦点
  • Python浅拷贝与深拷贝本质解析:从内存地址到工程安全
  • 厄尔尼诺现象机制解析:从沃克环流到太平洋东西岸气候影响
  • 暑期本地餐饮商家小红书分阶段营销运营策略 - Redbook_CD
  • 长沙文化创意产业生态观察:从“网红品牌”到“品牌服务体系”的进阶之路 - GrowUME
  • 终极指南:如何使用网盘直链下载助手打破九大网盘下载限制
  • LED驱动失效诊断与电路设计优化指南
  • CH432双串口芯片SPI驱动与寄存器配置实战指南
  • 端到端文件传输终极指南:3分钟掌握安全P2P传输工具
  • 斯坦福四足机器人:如何用1000美元打造智能仿生伙伴
  • 开源实战:如何高效构建720P视频生成系统的3大核心组件
  • 碧蓝航线全自动脚本终极指南:如何让游戏自己玩自己,解放你的双手时间
  • DGUS II数据库存储问题排查与解决方案
  • FreeMoCap:用Python颠覆传统动捕,让三维动作捕捉触手可及
  • 如何深度掌控AMD Ryzen处理器:免费开源调试工具SMUDebugTool完整指南
  • UC3842芯片在电机控制开关电源中的设计与优化
  • 如何快速部署PDF转语音工具:完整实战教程
  • LMK61E0M DCXO模式深度解析:从分数N型PLL原理到70.656MHz时钟实战
  • 【Java 基础篇】Java HashSet 深度解析:从哈希表原理到实战避坑指南
  • 终极指南:如何在Blender中快速实现3D高斯渲染
  • 阻抗匹配原理与高频电路设计实践
  • ThinkPad风扇控制终极指南:告别噪音,掌控性能的完整解决方案
  • 终极SOCD解决方案:Hitboxer键盘重映射工具完全指南
  • 维生素E(VE)含量检测试剂盒,让机体抗氧化评价更高效
  • 51单片机存储器结构详解与编程实践
  • 抖音小程序开发教学系列(2)- 从零构建你的第一个抖音小程序页面
  • MATLAB版VRPTW求解工具包:含双目标蚁群算法、时间窗校验与即用型示例数据
  • 大理云南特产怎么买?品味云南特产超市选购解析 - 百航
  • 3步实现知识自由:Medium Unlimited完全使用指南