如何以编程方式确定 DRM 是否已从 iPhone 应用程序中删除?
如何确定 DRM 是否已从 iPhone 应用程序包中删除(以防止盗版)?
How can I determine if DRM was removed from iPhone application bundle (to protect it from piracy)?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我有一个与第三方网络服务集成的 iPhone 应用程序。我使用这个问题中描述的技术来查找盗版者,然后使用应用程序“电话” home”,其中包含用户的设备 ID 和 Web 服务的用户 ID(我还没有对这些信息执行任何操作,但我正在考虑联系他们并友好地要求他们购买我的应用程序)。
此外,一旦用户使用我的应用程序达到一定的使用量,我就会限制功能并将盗版者引导至应用程序商店以获取完整功能。
I have an iPhone app which integrates with a third party web service. I use the technique described in this question to find pirates and then have the app "phone home" with the user's device ID and user ID for the web service (I haven't done anything with this information yet, but I was thinking about contacting them and asking them nicely to purchase my app).
In addition, once a user has used my app for a certain amount of usage, I limit functionality and direct the pirates to the App Store for full functionality.
据我所知,只有一种方法可以删除 DRM:Crackulous。
因此,为了找出在破解的应用程序中寻找什么,我会在您的应用程序上运行 Crackulous 并比较应用程序包。通过查看文件大小并对捆绑包中的文件进行比较来确定更改的内容应该相当容易。
一旦您知道更改是什么以及对哪些文件进行更改,只需在应用程序中查找这些更改即可确定应用程序是否已被破解。
如果您确切地知道应该检查哪些文件,请在此处发布您的发现,以便其他人可以从您的研究中受益。
To my knowledge, there's only one way to remove DRM: Crackulous.
So to find out what to look for in a cracked application, I would run Crackulous on your app and compare the app bundles. It should be fairly easy to determine what's been changed by looking at filesizes and running a diff on the files in the bundle.
Once you know what the changes are and to what file(s), just look for those changes in your application to determine if the application has been cracked.
If you find out exactly which files should be checked, please post your findings here so others can benefit from your research.
我之前的 Stack Overflow 问题可能会对您有所帮助:减少 iPhone 应用程序的盗版
My previous Stack Overflow question may help you out: Reducing piracy of iPhone applications
也许值得指出的是,不存在随意的“海盗”。普通用户无法在不购买的情况下从应用程序商店下载您的应用程序。所有 DRM 删除方案都需要在合法购买的副本上运行。
至于查看包中的更改,我记得您需要做的就是逐步执行链接加载器命令并确保代码包仍然标记为加密。无需将其与任何事物进行比较。您需要阅读有关 Mach-O 文件格式的信息才能执行此操作,但这并不困难,所有内容都记录在developer.apple.com 上
Its probably worth pointing out that there are no casual "pirates". Casual users cannot download your app from the app store without buying it. All the DRM-removal schemes require to be run on a legitimately purchased copy.
As to looking at the bundle for changes, as I recall all you need to do is step through the link-loader commands and ensure that the code bundle is still tagged as encrypted. No need to compare it with anything. You'll need to read about Mach-O file format to do this, but thats not difficult, its all documented on developer.apple.com