【发布时间】:2020-02-21 23:50:10
【问题描述】:
在对 API 进行逆向工程时,查看移动应用程序而不是 Web 客户端是否有优势?在网上看教程,似乎更常见的是专注于移动应用程序,我很好奇为什么会这样。一种猜测:移动应用程序使用的 API 只能慢慢弃用,因为人们可以在手机上使用该应用程序的陈旧版本数月之久。还有其他理由更喜欢对移动 API 进行逆向工程吗?
【问题讨论】:
在对 API 进行逆向工程时,查看移动应用程序而不是 Web 客户端是否有优势?在网上看教程,似乎更常见的是专注于移动应用程序,我很好奇为什么会这样。一种猜测:移动应用程序使用的 API 只能慢慢弃用,因为人们可以在手机上使用该应用程序的陈旧版本数月之久。还有其他理由更喜欢对移动 API 进行逆向工程吗?
【问题讨论】:
您对移动 API 被缓慢弃用的猜测是支持选择移动 API 而不是 Web API 的有效且最重要的论据。
基本上,开发人员要么使用新端点制作新版本的移动 API,要么根据请求参数保留行为略有不同的旧端点。 无论他们选择哪种方式,只要资源处于活动状态,您基本上可以安全地保留代码 - API 更改的可能性非常小。
Web API 可能会在一夜之间发生巨大变化,因为客户端会在 API 更改的同时获得新的前端代码,即 API 会随着客户端而更改。
Web API 也经常提供响应,其中包含准备显示的 HTML 数据,这些数据有时难以消化(正确解析)。
此外,有时对部分 java 字节代码进行逆向工程(查看令牌/clientID 生成背后的逻辑)虽然被混淆,但比试图理解混淆和缩小的 javascript 代码更容易。
【讨论】: