2010-07-08 7 views
6

Estoy desarrollando algunas aplicaciones para iPhone y estoy muy frustrado cuando algunas de mis aplicaciones se publicaron en recursos de aplicaciones pirateadas. Y cualquiera puede instalar esas aplicaciones de forma gratuita.Proteger la aplicación para iPhone de los piratas informáticos

Así que mi pregunta es: ¿cómo proteger la aplicación de volcar en la memoria, ejecutar en modo de depuración y hacer paquete ipsw pirateado? ¿Hay ejemplos de fuentes para eso?

+0

posible duplicado de [piratería La reducción de las aplicaciones del iPhone] (http://stackoverflow.com/questions/846309/reducing-piracy-of-iphone- aplicaciones) –

+0

@Brad Larson Es.Estoy tratando de recopilar algo de información adicional sobre la protección de aplicaciones. No solo "verifique el tamaño de su plist". –

+2

Sí, ha sido una pregunta frecuente. Para ser honesto, no me preocuparía. Mi única aplicación de pago ha estado disponible en una versión rajada desde su lanzamiento y no ha perjudicado las ventas. De hecho, lo veo como otra forma de publicidad. Relativamente pocas personas hacen jailbreak a sus teléfonos, y aquellos que sí tienen una aplicación rajada pueden mostrársela a sus amigos, quienes podrían terminar comprando porque no lidiarán con la molestia del jailbreaking. Esas son ventas que de otro modo no tendría. –

Respuesta

2

i encontraron esta source snippet como ejemplo de la función isCracked

#if HEARTBEAT_CHECK_PIRACY 
+ (BOOL)isCracked { 
#if TARGET_IPHONE_SIMULATOR 
    return NO; 
#else 
    static BOOL isCracked = NO; 
    static BOOL didCheck = NO; 
    if(didCheck) return isCracked; 

#if HEARTBEAT_PIRACY_THRESHOLD >= 1 
    if([[[NSBundle mainBundle] infoDictionary] objectForKey:@"SignerIdentity"] != nil) { 
     #if HEARTBEAT_PIRACY_THRESHOLD >= 2 
     NSString* infoPath = [[NSBundle mainBundle] pathForResource:@"Info" ofType:@"plist"]; 
     if([[NSString stringWithContentsOfFile:infoPath encoding:NSUTF8StringEncoding error:NULL] rangeOfString:@"</plist>"].location != NSNotFound) { 
      #if HEARTBEAT_PIRACY_THRESHOLD >= 3 
      NSDate* infoModifiedDate = [[[NSFileManager defaultManager] fileAttributesAtPath:infoPath traverseLink:YES] fileModificationDate]; 
      NSDate* pkgInfoModifiedDate = [[[NSFileManager defaultManager] fileAttributesAtPath:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"PkgInfo"] traverseLink:YES] fileModificationDate]; 
      if([infoModifiedDate timeIntervalSinceReferenceDate] > [pkgInfoModifiedDate timeIntervalSinceReferenceDate]) {  
      #endif 
     #endif 
       isCracked = YES; 
     #if HEARTBEAT_PIRACY_THRESHOLD >= 2 
      #if HEARTBEAT_PIRACY_THRESHOLD >= 3 
      } 
      #endif 
     } 
     #endif 
    } 
#endif 

    didCheck = YES; 

    return isCracked; 
#endif 
} 
#endif 
0

Si no desea que su aplicación esté en una posición en la que se pueda descargar de la memoria, todo lo que tiene que hacer es no enviarla. Lo sentimos, pero cualquier DRM es simplemente un mecanismo de ofuscación para proteger el contenido en reposo; finalmente, la CPU necesita saber qué código debe ejecutar. El código siempre se puede extraer en ese punto.

+0

Hay soluciones. Por ejemplo http://kaliap.com/. Pero esos tipos piden pagar por la protección de aplicaciones. Entonces sé que es posible. Solo buscando una solución. Y quiero agregar protección básica a mis aplicaciones, no obsoleta. –

+3

@mOlind: veo evidencia de que aceptan dinero, pero no hay evidencia de que dejen de robar aplicaciones. –

+0

Totalmente, suena como una estafa completa. Estoy seguro de que te dirán que no dicen cómo detienen a los piratas porque es un secreto y si los piratas informáticos lo descubren, se acabó el juego. –

-1

Simple. Establece el indicador pleaseDoNotPirateThisAppPrettyPlease en 1 en su lista.

Lo siento si me parece ofensivo, pero los desarrolladores novatos que piden una manera fácil de proteger sus aplicaciones de los hilos de piratería me cagan algo crónico.

Si eres un desarrollador novato, concéntrate primero en que tu aplicación no está chupando, entonces preocúpate por la piratería. Su energía se gastará mucho mejor lanzando una aplicación pulida en lugar de preocuparse por un puñado de personas que ejecutan versiones descifradas.

FFS, iPhone es sin dudas la mejor plataforma para que le paguen por sus aplicaciones. No mucha gente dirige Cydia, preocuparse por eso es simplemente ridículo.

Esta no es la respuesta que está buscando y podría percibir que lo llamé un novato que escribe aplicaciones sucky, lo que sea, pero es la manera correcta de hacerlo. Concéntrese en mejorar la experiencia de las personas que pagan y olvídese de aquellos que nunca pagarán.

+0

Gracias por su comentario. :) Hay muchas aplicaciones feas con precio distinto de cero, de acuerdo. Lo único que quiero hacer es hacer que compilar mi aplicación sea un poco más complicado. Solo por diversión para ambos lados. –

+0

Esta no es una respuesta útil, Igor. Si no tiene algo útil para contribuir, no se moleste en responder. – Tom

+0

@Tom Puede ser una respuesta incorrecta a la pregunta correcta, pero es la respuesta correcta a la pregunta incorrecta. –

0

Entiendo el impulso de querer hacer esto, pero como no es posible detenerlo, o apenas lo desacelera, olvídelo y continúe. Mejora tu aplicación, agrega funciones y crea aplicaciones adicionales. Todas estas cosas te ayudarán a ganar más $ y luego ahorrarías preocupándote por la piratería. Recuerde que solo porque 100 personas piraten su software no significa que haya perdido 100 ventas. Es posible que haya perdido 0 ventas ya que esas personas solo ejecutaron su software porque podían hacerlo de forma gratuita y tendrían 0 interés en pagar realmente. La MPAA & RIAA ha estado cometiendo este error durante años y, a menos que esté preparado para demandar a todos los piratas, nada de lo que haga aquí lo ayudará a ganar más.

+0

Piensa que el punto es poner precauciones mínimas sin crear un marco completamente funcional. Su trabajo es robado y aceptarlo perjudica su aplicación a los consumidores que piensan que su aplicación no es segura, ya sea que se trate de una decisión consciente o no. Poner un script de validación simple y verificar un servidor al inicio es mínimo y evitará que la gente use su aplicación. Recomendaría no matar la aplicación, sino deshabilitar las funciones clave para que el usuario se sienta frustrado y compre la aplicación real. Autodesk ya se dio cuenta de esto. Seguir tu consejo es como darle dulces a un bebé. –

2

He usado AntiCrack para todos nuestros productos. Es cierto que todavía estoy usando la versión 1: en ese momento era gratuita, pero se los animó a hacer una donación (y yo lo hice). Y para ser sincero, es genial. Muy fácil de integrar.

Por supuesto, es una verdadera batalla, y nada es perfecto, pero AntiCrack sin duda ayudó a evitar un conjunto completo de enfoques de grietas comunes. Por supuesto, muchos están documentados en toda la web, me hubiera llevado mucho más tiempo implementarlos y probarlos que solo pagar unos pocos dólares.

La versión 2 parece que es aún mejor, aunque ahora hay una donación obligatoria de al menos $ 30, que todavía es una ganga.

+0

Interesante parte de qué exactamente AntiCrack hizo para proteger la aplicación. –

Cuestiones relacionadas