Como muchos de nosotros sabemos, ha habido una situación reciente con Apple donde los hackers pueden obtener cualquier compra en la aplicación de forma gratuita. Apple lanzó recientemente this document describiendo cómo aplicar parches, pero estoy un poco confundido en el paso 4 y agradecería cualquier ayuda.Patching In-App Purchase hack; atascado en el cuarto paso
Los primeros pasos son descargar su parche .h y .m, incluirlo en su proyecto y vincularlo con el marco de seguridad. De acuerdo, bien, lo tengo. A continuación, Apple dice:
4. Provide a base64 encoder, a base64 decoder, and the action to perform when validation succeeds.
¿Qué significa exactamente la parte de los codificadores significa que deba hacer? (La acción a realizar cuando la validación tiene éxito es clara para mí.) Veo las funciones llamadas base64_encode
y base64_decode
en la clase, sin duda. Pero, ¿qué está pidiendo? ¿Es esto como un número de PIN especial que solo yo conozco para evitar el pirateo? No estoy seguro de qué hacer aquí. Obtengo los conceptos generales de codificación y decodificación, por supuesto, pero no las características programáticas de cómo generar uno correctamente en esta situación.
El código de Apple como lo escribe, si esto ayuda a cualquiera:
- (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; }
También estoy perplejo de que hay 2 codificar y decodificar 2 funciones. Entiendo que hay un par que devuelve NSString*
s, pero ¿por qué el segundo par devuelve un char*
y un void*
? ¿Qué se espera que devuelvan estas funciones? Realmente no lo entiendo.
me gustaría utilizar uno de su soporte de Apple llamadas, si usted es un desarrollador registrado (te dan dos por año - usarlas o perderlas). Esto es demasiado importante para cometer un error o utilizar un consejo que puede ser incorrecto. –
@RoboticCat Hmm, esa es una buena idea. Me parece extraño que Apple no haya agregado alguna explicación a la página web que nos dieron. Explican las cosas fáciles (descarga el código, agrégalo a tu proyecto) paso a paso, y luego déjanos colgando en la parte que requiere código real. Gracias por el consejo. – WendiKidd
¿Has revisado su sitio web? Dice que ha encontrado una solución alternativa para VerificationController. ¿Deberíamos incluso tomarnos el tiempo de implementar esta solución rápida? –