Elegir Lenguaje/plataforma De Desarrollo
#1
Escrito 28 November 2004 - 11:40 AM
Una opción es C++, pero me da mucho asco. ¿Alguna otra?
#2
Escrito 28 November 2004 - 03:48 PM
No se si decirte que pruebes el programa de DRM que hace la empresa donde trabajo por que precisamente tiene algunas limitaciones con respecto a máquinas virtuales y código semiinterpretado. Búsqueda en google por activemark si le quieres echar un vistazo a la versión estandar, que es gratuita, y haces las pruebas que quieras.

||-- navega sin temor --||-- /dev/soma --||-- flickr --||-- last.fm --||-- twitter --||
A foreign substance is introduced into our precious bodily fluids without the
knowledge of the individual, and certainly without any choice.
#3
Escrito 28 November 2004 - 03:57 PM
Otra cosa muy distinta es que quieras ocultar el código a la empresa compradora del software, con los lenguajes interpretados, casi mejor venderles el fuente y los derechos, o confiar en la licencia (ya sea GPL o cualquiera).
Los decompiladores de Java funcionan, como pasa con los decompiladores de C/C++ (y supongo que muchos otros lenguajes). Pero no creas que te generan el java original, y olvidate de que traiga comentarios en el código.
Y el resto....
Aun no me conoce.
#4
Escrito 28 November 2004 - 04:37 PM
Edit: Te habras tirao horas pa hacer esa firma eh? xDD
Este tema ha sido editado por phib: 28 November 2004 - 04:38 PM
#5
Escrito 29 November 2004 - 12:05 AM
Miraré eso de activemark y echaré un vistazo a Delphi que lo tengo por ahí, parece lógico prescindir de lenguajes interpretados.
Lo que ha comentado Dorgan es interesante, poner el programa en una máquina distinta a la que muestra el resultado es una forma de proteger incluso el ejecutable/compilado, aunque el programa no necesite por sí mismo tener una arquitectura distribuída. Lo tendré en cuenta por si puedo aplicarlo.
Muchas gracias por las respuestas
#6
Escrito 07 December 2004 - 12:13 AM
conversando la otra vez con un amigo, y analizando algunos programas he llegado a la siguiente conclusion:
Si utilizas Java es bastante fácil descompilarlo, inclusive estando ofuscado el código, lo malo es que el código queda asquerasamente ilegible y puedes perder mucho tiempo intentando entender que hace, el java queda sobre-cargado y con muchas funciones con el mismo nombre pero en distintas clases. Además algunas veces los algoritmos muy complejos no pueden ser generados y quedan incompletos.
La otra forma es que utilices WebServices (SOAP o XMLRPC) de esta forma toda la lógica de la base de datos (insertar datos, consultar datos, etc.) o cualquier proceso importante queda en un Servidor Web (Apache o IIS) y puedes hacer un cliente en cualquier lenguaje (Java, PHP, Visual Basic). nosotros aca utilizamos XMLRPC con Apache y con IIS, y los lenguajes de programacion que utilizamos son PHP, C, C++, VC++, java, por nombrar algunos.
Tambien puedes hacer una aplicación Web con PHP y regenerar los códigos fuentes en formato pre-compilado, segun tengo entendido, en ese formato es imposible volver atras, y si pierdes el código fuente estas frito. hay varias herramientas para hacer ese optimizado, adicionalmente debes instalar un módulo al Apache o al IIS. El pre-compilado de los códigos fuentes tambien sirve si haces una aplicación utilizando WebServices y XMLRPC.
Tambien hay otras herramientas para obfuscar o encriptar los archivos EXE, y de esa forma es más dificil hacer ingenieria inversa.
Espero que sirva mi aporte.
#7
Escrito 07 December 2004 - 12:16 AM
Tambien hay otras herramientas para obfuscar o encriptar los archivos EXE, y de esa forma es más dificil hacer ingenieria inversa.
Pero al final no sirve de nada, se lo pondras dificil a los n00bs y ya esta.
#8
Escrito 07 December 2004 - 01:33 AM
Bueno, un binario cifrado parcialmente con una clave RSA o AES de 2048 bits en un dongle serio (no los HASP, claroTambien hay otras herramientas para obfuscar o encriptar los archivos EXE, y de esa forma es más dificil hacer ingenieria inversa.
Pero al final no sirve de nada, se lo pondras dificil a los n00bs y ya esta.
De todas formas y por lo que decís, parece como si metierás el decompilador y ya pudieras usar automáticamente el código... Ojalá
La ingeniería inversa es el último recurso, un recurso caro, lento y doloroso, para proyectos infernales de reingeniería y poco más. En sistemas empotrados todavía tiene sentido protegerse de eso, pero en computadores personales pues...
Por otro lado, sólo es lícita en Europa si es con objeto de conseguir compatibilidad (Descifrar el formato del MS Word, por ejemplo) así que ya cuentas con protección legal
PS: en los viejos tiempos del modo real una forma divertida de protegerse de la ingeniería inversa era escribir tu propio manejador de la interrupción H03 ó H01, uno que borrase tablas de particiones p.ej. No era muy efectivo pero algunos picaban y, al correr el programa en el depurador... boom
#9
Escrito 07 December 2004 - 03:38 AM
Precisamente el exe ya compilado se puede ofuscar, y encriptar y hacerle mil y una putadas más para que luego, cuando venga alguien a intentar desensamblarlo, le pete en las narices (y no estoy hablando de meter código malicioso, simplemente es tan enrevesado que equivocarse es tan fácil que a nada que te equivoques te jodes tú mismo).
Bueno, un binario cifrado parcialmente con una clave RSA o AES de 2048 bits en un dongle serio (no los HASP, claro
) no es algo que pueda manejar mucha gente, sean n00bs o no. Sobre todo si no tienen un ICE de PC hard (no es muy difícil burlar a SoftICE) tremendamente caro.
Terriblemente cierto. Pero si se habla de copiar la funcionalidad del programa completo, para eso te montas una empresa y sacas un proudcto que haga la competencia al que ya hay, y/o lo haces opensource XDEl 99% de las veces es mucho más fácil y más barato poner a tres picateclas y a un analista a copiar esa feature desde cero que pelearse con lo que escupe el mejor decompilador del mercado.

||-- navega sin temor --||-- /dev/soma --||-- flickr --||-- last.fm --||-- twitter --||
A foreign substance is introduced into our precious bodily fluids without the
knowledge of the individual, and certainly without any choice.
#10
Escrito 07 December 2004 - 04:03 AM
Pero el no va a poner eso para proteger su programilla xDBueno, un binario cifrado parcialmente con una clave RSA o AES de 2048 bits en un dongle serio (no los HASP, claro
) no es algo que pueda manejar mucha gente, sean n00bs o no. Sobre todo si no tienen un ICE de PC hard (no es muy difícil burlar a SoftICE) tremendamente caro.
Precisamente el exe ya compilado se puede ofuscar, y encriptar y hacerle mil y una putadas más para que luego, cuando venga alguien a intentar desensamblarlo, le pete en las narices (y no estoy hablando de meter código malicioso, simplemente es tan enrevesado que equivocarse es tan fácil que a nada que te equivoques te jodes tú mismo).
Ay... se me ha ido el santo al cielo. Cuando ha hablado de encriptar exes y empakarlos enseguida he pensado en lo de toda la vida, crackear para sacar serials, etc xD
Si, sale mas a cuenta crear tu mismo el codigo ke hacerle ingenieria inversa para sacar algo en claro. Para lo ke si serian inutiles las protecciones de ejecutables es el evitar ke un programa se crackee o se sake un serial, etc (ke era a esto a lo ke me referia antes y se me escapo por deformacion "profesional" xD)
#11
Escrito 07 December 2004 - 04:11 AM
sin irse a soluciones tan leets como las que te ha dado issun, los empaquetadores tb son bastante putas, el otro dia mismamente preferi reinstalar windows (que tardas nada teniendo una imagen) para un programilla (del que no existe crack) que estaba empaquetado con armadillo 3.75
investigue un poco y no parecia extremadamente chungo de crackear, pero hubiese tardado bastante de todas formas (yo de cracking no llego al sufi)
#12
Escrito 07 December 2004 - 04:15 AM
¡Viva México!
1 usuarios están leyendo este tema
0 miembros, 1 invitados, 0 usuarios anónimos










