versiones - sistema operativo blackberry 10
¿Pueden descompilarse los archivos de BlackBerry COD o ALX? (8)
Si escribo un software Java para un BlackBerry, ¿puede descompilarse usando herramientas disponibles libremente similares al .NET Reflector , o es un proceso más elaborado?
Casi todo el software puede descompilarse. La pregunta es solo la cantidad de participación y los recursos necesarios para llevarlo a cabo.
El código de Java es fácil de descompilar. Busque ofuscadores para Java Me, si le interesa proteger su código. Notablemente revisa esto .
Sin embargo, el comentario de Adam sobre por qué no debería importarlo también debe tenerse en cuenta.
El software que escribe para cualquier idioma, cualquier plataforma, puede descompilarse. No importa qué herramientas de codificación manipule (ofuscación) que utilice, se puede decompilar.
Cualquier intento de preocuparse por esto va a ser una pérdida de tiempo. Al igual que DRM; p
Pero el verdadero punto es, y desearía tener el enlace a la discusión en la que estoy pensando porque fue muy bueno. Pero el punto es esto. Algunos pueden descompilarlo, y si simplemente lo recompilan y lo revenden, ¿cuál ha sido el punto? Todavía es fácil campesino llevarlos a la corte y ganar.
Pero dices "¡Pueden mirar mi código y descubrir cómo lo hice y volver a hacerlo!". Y a esto digo: No te halagues.
Piense si podría tener en sus manos el código fuente de Windows. Habría un montón de "WTF están haciendo aquí"? Y "chico, hubiera hecho las cosas de manera diferente". Unos momentos en los que te rascas la barbilla y te pones a "Wow, nice". Pero sobre todo, no es nada de lo que no habrías venido por tu cuenta. El valor real es el tiempo que pasaron para abordar realmente el problema y encontrar una solución.
Cualquiera que rasgue tu código no hará eso. ¿Qué es más difícil? escribir un nuevo software o mantener el software? Creo que la mayoría de los desarrolladores preferirían lo primero.
Entonces alguien descompila su software y lo vende de una manera tan obvia que puede procesar fácilmente, o se toman el tiempo para concentrarse por completo en los problemas y diseñar los suyos que al final (¿años más tarde?) Probablemente serán completamente diferente del tuyo
Es un escenario tan ridículo que realmente me duele si alguien ha arrancado un producto descompilando un producto de la competencia.
No te preocupes por alguien que "robe" tu código. Puede hacerse y no hay nada que puedas hacer para evitarlo, pero no se hará, porque es ridículo.
Sí, puede en teoría, ya que es esencialmente solo bytecode de Java. Sin embargo, la última vez que desarrollé BB (hace 2 años) fue bastante difícil de hacer en la práctica.
La cadena de herramientas de RIM también ejecuta su código a través de un optimizador (rapc) que hace que sea incluso más difícil de descompilar que el bytecode estándar. A menos que alguien pase mucho tiempo específicamente para descompilarlo, es bastante improbable.
Me gustan las clases de JAD para Java: http://www.kpdus.com/jad.html .
Haciéndose eco del sentimiento anterior, no te preocupes por las personas que roban tu código.
Mis dos cosas favoritas sobre la descompilación:
Aprende cómo el compilador trata su código. Por ejemplo, puede verificar que la clase StringBuilder maneje la concatenación de cadenas. O bien, puede descubrir algunas declaraciones de "para" que provocan la reflexión más allá de la tradicional "for (int i = 0, i
Realmente puede aprender un producto y ampliarlo. He usado Microsoft OCS2007 Speech Server. Aprendí mucho sobre el producto descompilando algunas de sus ensamblajes. También extendí algunas de las herramientas básicas para satisfacer mis necesidades.
La herramienta RAPC de RIM transforma los archivos .jar estándar J2ME en archivos .cod, este es un formato propietario y no se han publicado detalles de él. Lo que se sabe es que los tamaños de archivo .cod son más pequeños que los tamaños de archivo .jar, y se eliminan muchas cosas (todo lo que no se puede acceder desde un contexto estático, básicamente).
Tenga en cuenta que cuando los archivos .cod crecen lo suficiente (o más exactamente cuando su código o tamaño de datos aumentan lo suficiente) RAPC divide el .cod en dos o más códigos separados (llamados CODNAME-2.cod, etc.), los comprime y cambia el nombre del archivo .zip a .cod. Puede descomprimir esto, pero aún le quedan muchos archivos .cod que no puede descompilar.
Entonces, en general, no, no puede descompilar los archivos de la aplicación BlackBerry. Hay una herramienta llamada coddec que dice ser capaz de descompilar archivos .cod, pero no he tenido suerte.
Si escribe un Midlet usando J2ME puro y el compilador de Sun, el bytecode resultante puede descompilarse fácilmente. (No es que haya hecho esto alguna vez: P). Sin embargo, si utiliza BlackBerry JDE de RIM y su compilador RAPC, su bytecode estará en un formato patentado e indocumentado, y es realmente difícil para alguien descompilarlo o dar sentido a su código.
Sin embargo, ten en cuenta que siempre es posible encontrar Strings codificados en una aplicación, por lo que no querrás codificar tu clave TripeDES o algo así.