正如我们许多人所知,Apple 最近出现了一种情况,黑客可以免费获得任何 App 内购买。 Apple 最近发布了 this document 描述了如何修补它,但我对第 4 步有点困惑,希望得到任何帮助。
第一步是下载他们的补丁 .h 和 .m,将其包含在您的项目中,并将其链接到安全框架。好的,好的,明白了。然后苹果说:
4。提供 base64 编码器、base64 解码器以及验证成功时要执行的操作。
关于编码器的部分究竟意味着我应该做什么? (我很清楚验证成功时要执行的操作。)当然,我在类中看到了名为 base64_encode
和 base64_decode
的函数。但它要求什么?这像是一个只有我知道的特殊 PIN 码,以防止黑客入侵吗?我不确定在这里做什么。当然,我了解了编码和解码的总体概念,但没有了解如何在这种情况下正确生成编码和解码的编程细节。
Apple 编写的代码,如果有帮助的话:
- (NSString *)encodeBase64:(const uint8_t *)input length:(NSInteger)length
{
#warning Replace this method.
return nil;
}
- (NSString *)decodeBase64:(NSString *)input length:(NSInteger *)length
{
#warning Replace this method.
return nil;
}
#warning Implement this function.
char* base64_encode(const void* buf, size_t size)
{ return NULL; }
#warning Implement this function.
void * base64_decode(const char* s, size_t * data_len)
{ return NULL; }
我也对有 2 个编码和 2 个解码函数感到困惑。我知道有一对返回 NSString*
,但为什么第二对返回 char*
和 void*
?这些函数期望返回什么?我真的不明白。
最佳答案
听起来他们想要一个通用的 base64 编码器。在此处尝试一些代码:
http://cocoadev.com/wiki/BaseSixtyFour
(免责声明:我没有测试过这些)
这是第二个更容易阅读的: http://cocoawithlove.com/2009/06/base64-encoding-options-on-mac-and.html
关于ios - 修补应用内购买黑客;卡在第四步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11612897/