2012-02-20 13 views
10

Quiero usar ese código anti piratería para mi aplicación.¿Este código de anti-piratería de iOS es bueno?

NSString* bundlePath = [[NSBundle mainBundle] bundlePath]; 
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:(@"%@/_CodeSignature", bundlePath)]; 
if (!fileExists) { 
    //Pirated 
    NSLog(@"Pirated"); 
} 
BOOL fileExists2 = [[NSFileManager defaultManager] fileExistsAtPath:(@"%@/CodeResources", bundlePath)]; 
if (!fileExists2) { 
    //Pirated 
    NSLog(@"Pirated2"); 
} 
BOOL fileExists3 = [[NSFileManager defaultManager] fileExistsAtPath:(@"%@/ResourceRules.plist", bundlePath)]; 
if (!fileExists3) { 
    //Pirated 
    NSLog(@"Pirated3"); 
} 

¿Alguien lo ha usado antes? ¿Puede usarse para alguna protección básica, o es simplemente basura? ¿Qué sugerencias tienes sobre este tema?

+7

No solo es completamente trivialmente derrotado (el atacante puede cambiar las cadenas de caracteres), sino que depende de los detalles de implementación que Apple puede cambiar en cualquier momento. Como usuario legítimo, me molestaría muchísimo si actualicé mi SO y su aplicación me trató como un pirata. –

+6

¿Por qué no utilizar el tiempo que gasta en esto para hacer que la aplicación sea aún mejor para los clientes que pagan? No vas a detener la piratería de tu aplicación y la mayoría de las personas que la piratean probablemente no la comprarán de ninguna manera. – UIAdam

+0

Aquí en Grecia Los iphones pirateados representan el 70% de los iphones, por lo que esa técnica es una muy mala idea. –

Respuesta

7

Mi granito de arena es que creo que vas a pasar mucho tiempo tratando de detener algo que no puedes detener por completo. Por lo que se dice en algunos de los comentarios, parece que le preocupa la piratería porque hay muchos teléfonos con jailbreak en Grecia. Grecia es solo una parte del mundo y sospecho que si deja de pensar localmente y comienza a pensar globalmente, descubrirá que la mayoría de los teléfonos no tienen jailbreak y están ejecutando aplicaciones de fiar.

Mi sugerencia sería concentrarme en los clientes que pagarán. Dedique su tiempo a hacer que su aplicación sea tan atractiva que saltará a la posibilidad de comprarla.

En segundo lugar, le sugiero que busque la manera de hacer las delicias de los jailbreakers para que les guste su aplicación y quieran darle dinero o comprarlo. Existe una gran cantidad de discusiones en la red sobre nuevos modelos de negocios y cómo los modelos más antiguos de odio a la piratería simplemente no funcionan. Busque y creo que encontrará casos en los que las personas han aceptado el hecho de que su producto está siendo copiado y lo han utilizado para su beneficio. ¿Puedes llevar a cabo el mismo truco? Si puede, entonces las preocupaciones sobre la piratería desaparecerán y las personas involucradas probablemente se conviertan en un activo en lugar de una responsabilidad.

Sólo mis pensamientos :-)

+0

ideas interesantes, he leído muchos artículos antes de publicarlos aquí, pero me siento mal por no hacer nada para proteger mi código. Puede ser solo un hábito y tan pronto como me acostumbro, todo volverá a la normalidad. –

+4

jailbreaker ≠ pirate – edc1591

+0

¡Creo que seguiré la sugerencia de @drekka! –

1

Se puede usar si el algoritmo de cracker no es lo suficientemente inteligente como para agregar archivos falsos de ResourceRules, etc.

+0

ok, quiero evitar crackers automáticos como craculous ¿tiene alguna experiencia con eso y con el código anterior? –

+1

Bueno, realmente no me gusta Crackulous, pero AFAIK, los elimina, por lo que debería funcionar. –

+0

Muchas gracias @ H2CO3 –

3

Es mejor que nada. Tenga en cuenta que puede solucionarse fácilmente simplemente creando archivos vacíos con los nombres correspondientes. Y descifrar dichos nombres de archivo es fácil, alguien podría simplemente usar strings en su binario.

+0

¡sí, lo pensé también! –

+0

+1, de acuerdo, mejor que nada. – HelmiB

3

He usado este código en aplicaciones anteriormente, pero no impido que el pirata use mi aplicación. Acabo de mostrar un mensaje para intentar culpar al usuario de la compra de la aplicación.

Si realmente desea evitar que los piratas usen su aplicación, debe verificar el cifrado del archivo binario de su aplicación. De esta manera: http://landonf.bikemonkey.org/2009/02/index.html

+0

ok he leído eso antes, pero ¿dónde puedo implementar ese método? En main.m? –

+0

Sí, creo que debe agregarlo a 'main.m' y hacer su verificación antes de' UIApplicationMain' – edc1591

+0

¿utilizó ese código tal como está y funcionó bien? ¿Cómo lo probaste? Me refiero al código anterior. –

1

Pedido mtiks para la aplicación móvil contra la piratería y la analítica en tiempo real. Completamente gratis para desarrolladores. Solo se necesitan 5 minutos para integrar la biblioteca.