修补应用内购买黑客; 坚持第四步

Wen*_*idd 5 encoding decoding in-app-purchase ios

正如我们许多人所知,最近苹果出现了一种情况,即黑客可以免费获得任何应用程序内购买.Apple最近发布了这个文档,描述了如何修补它,但我对第4步有点困惑,并希望得到任何帮助.

第一步是下载他们的补丁.h和.m,将其包含在您的项目中,并将其链接到安全框架.好的,好的,明白了.然后Apple说:

4. Provide a base64 encoder, a base64 decoder, and the action to perform when validation succeeds.

关于编码器的部分到底意味着我应该做些什么?(验证成功时要执行的操作对我来说很清楚.)我当然看到了名为base64_encodebase64_decode类中的函数.但它要求的是什么?这是否只是我知道的特殊密码,以防止黑客入侵?我不知道该怎么做.当然,我得到了编码和解码的整体概念,但没有在这种情况下如何正确生成编程和解码的程序细节.

苹果写的代码,如果这有助于任何:

- (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; }
Run Code Online (Sandbox Code Playgroud)

我也很困惑,有2个编码和2个解码功能.我知道有一对返回NSString*s,但为什么第二对返回a char*和a void*?这些功能有望返回?我真的不明白.

Ben*_*ton 0

听起来他们想要一个通用的 Base64 编码器。尝试这里的一些代码:

http://cocoadev.com/wiki/BaseSixtyFour

(免责声明:我没有测试过这些)

这是第二个更容易阅读的: http://cocoawithlove.com/2009/06/base64-encoding-options-on-mac-and.html