Patching In-App-Kauf-Hack; stecken auf der vierten Stufe

Wie viele von uns wissen, gab es kürzlich bei Apple eine Situation, in der Hacker jeden In-App-Kauf kostenlos erhalten können. Apple kürzlich veröffentlichtdieses Dokument Ich beschreibe, wie es zu patchen ist, aber ich bin ein bisschen verwirrt über Schritt 4 und würde mich über jede Hilfe freuen.

In den ersten Schritten laden Sie die Patches .h und .m herunter, fügen sie in Ihr Projekt ein und verknüpfen sie mit dem Sicherheitsframework. Okay, gut, verstanden. Dann sagt Apple:

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

Was genau bedeutet der Teil über die Encoder, den ich tun soll? (Die Aktion, die ausgeführt werden muss, wenn die Validierung erfolgreich war, ist mir klar.) Ich sehe die genannten Funktionenbase64_encode undbase64_decode Natürlich in der Klasse. Aber worum bittet es? Ist dies wie eine spezielle PIN-Nummer, die nur ich kenne, um Hacking zu verhindern? Ich bin mir nicht sicher, was ich hier machen soll. Ich verstehe natürlich die allgemeinen Konzepte des Codierens und Decodierens, aber nicht die programmatischen Besonderheiten, wie man in dieser Situation eines richtig erzeugt.

Der Code, wie er von Apple geschrieben wird, falls dies hilfreich ist:

- (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; }

Ich bin auch ratlos, dass es 2 Codierungs- und 2 Decodierungsfunktionen gibt. Ich verstehe, dass es ein Paar gibt, das zurückkommtNSString*s, aber warum gibt das zweite Paar a zurück?char* und einvoid*? Was werden diese Funktionen voraussichtlich zurückgeben? Ich verstehe es wirklich nicht.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage