Why/How Apk 可以修改吗?

Why/How Apks are modifiable?

我很早就知道 Apk 很容易修改的想法。做一个简单的 google 搜索会显示大量资源可供个人使用,或者有少数网站已经提供修改后的 Apks。

那么我们到底在说什么!事实上,任何人都可以轻松下载 SnapChat 的修改版本,当该人截取故事时将不再发送通知。或者只需单击一下即可下载 Spotify 专业版,从而访问完整的 Spotify 音乐库。或者任何可用的游戏都有修改后的 Apks 版本,可以提供无限金币或使用任何虚拟货币。在我看来,这似乎是一个非常令人担忧的情况,但由于多年来一直相同的原因,没有人谈论它(而且真的没有人谈论它,做 google 搜索只指出 link 告诉如何轻松修改 Apks)。

我只是不明白为什么这么多年都一样。每年都会有 android 的另一个版本 "minor" UI 改进,但这个问题根本没有解决。

我想指出的最后一件事是,在频谱的另一端有像 IOS 和 Windows 这样的平台,这似乎不是问题。 Windows 10 打包系统的工作方式类似于 android,Appx 可以从 Microsoft Store 分发或不通过 Microsoft Store 分发,但没有修改过的 Appx 可用或至少我知道有一个!

"Or the fact that any game available has a modified Apks version that would give unlimited coins or whatever virtual currency is used" - 这就是为什么您在服务器上跟踪游戏货币(以及与此相关的所有重要数据)的原因。

"Or the fact that Pro version of Spotify can be downloaded with a single click giving access to full library of Spotify" - 处理此问题的正确方法是将 "Pro" 与帐户相关联,并且只向具有 "Pro" 的帐户授予对某些功能的访问权限旗帜。这再次在服务器上处理。如果服务器阻止访问,即使经过修改的客户端也无法访问 "Pro" 功能。

iOS也修改了ipa文件。 "problem" 是,如果它们被修改,它们将不再被签名并且无法轻松安装 - 只有越狱设备才能跳过签名验证。


"This seems to me a very alarming situation" - 没有。客户端 永远不会 被信任,您总是必须为您 确实 想要验证的任何内容编写适当的服务器代码。同样,您不在客户端 javascript 中而是在服务器上进行密码验证。