我目前正在开发一个与Google Drive交互的应用程序。当你向Drive注册应用程序时,它会要求你提供用于签名的密钥的SHA1。在我以前的应用程序中,我没有实现许可库,因为它看起来比它值得做的工作更多,因为它可以而且总是会被修补。我的理论是,如果人们不想付费,他们就不会付费,我可以在其他地方更有建设性地利用我的时间。
然而,驱动器要求密钥的SHA1的事实让我想知道,当发出请求以确保它来自使用正确密钥签名的应用程序时,它是否会根据这一点进行验证?
如果是这样的话,像lucky这样的补丁应用程序是否会让应用程序辞职,这实际上会使应用程序提出的任何请求无效,使其无法与Drive一起使用?
谢谢。
发布于 2012-11-30 22:31:12
如果有人感兴趣,我从Lucky Patcher的作者那里找到了答案。他说LP不会退出APK。它修补odex文件或在Dalvik缓存中修补应用程序,因此不会更改签名,APK保持不变。
他还提供了一些建议,以防止幸运补丁以这种方式工作,即将LVL代码放在其他地方的jar文件中,例如在assets文件夹或resources文件夹中,并从那里调用代码。这只是意味着要破解LVL代码,破解者将不得不修补jar,然后重新签署代码。
因此,对于我们这些在代码中使用Google API来验证应用程序签名的人来说,我们有一个似乎相当可靠的复制保护方法。当然,直到他们找到解决这个问题的方法。毫无疑问他们会这么做的。
发布于 2012-11-28 05:47:40
我不知道如何修补像Lucky Patcher这样的应用程序,但是API控制台需要密钥的SHA1的原因正是您所说的:能够确保API请求来自特定的应用程序。
这是Google Play服务引入的新需求:https://developers.google.com/android/google-play-services/authentication
https://stackoverflow.com/questions/13582869
复制相似问题