Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Temas relacionados > Debates
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-04-2007
Avatar de xander
xander xander is offline
Miembro
 
Registrado: jul 2006
Posts: 499
Poder: 18
xander Va por buen camino
¿Como se hacen los programas estilo "keygen"?

A proposito de un hilo en este mismo apartado acerca del tamaño de los ejecutables, yo siempre he tenido la duda de como es que hacen los hackers los programitas que hay por toda la red que son keygenerators para diferentes aplicaciones.

Generalmente estos keygens son aplicaciones de unos cuantos Kb que muchas veces traen efectos rimbombantes, como animaciones muy elaboradas y audio de fondo y yo me pregunto donde es que metieron todo eso dentro de un exe tan pequeño??? ni siquiera esta comprimido con UPX o algun otro compresor puesto que me permite todavia comprimirlo a mi con el UPX y se hace aún más pequeño.

Definitivamente estos cuates tienen mucho talento y desde ahi se nota que hay gran diferencia entre ellos y un desarrollador común pues optimizan al máximo el ejecutable al parecer, lo que a muchos de nosotros nos viene a valer cacahuate.

Pero no dejo de preguntarme como hacer para poner esos audios de fondo, no parecen ser midi, deben ser algun otro formato o de plano no tengo ni idea.
__________________
"Hey, nena, debe ser genial ser tú y verme a mí mismo..."
Responder Con Cita
  #2  
Antiguo 21-04-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Sin salirnos de Delphi existe algo como KOL (Key Objects Library). En esta página de "demos" verás ejecutables con GUI desde 4 KB...
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 22-04-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Hombre Xander, no quito mérito a esos programas, pero todos sabemos que un ejecutable de Delphi, por buenos que seamos, ocupará, como mínimo, 300kb tan sólo para mostrar una ventanita vacía. No es una cuestión de capacidad sino de la herramienta que usamos. Desde luego, podemos usar opciones como la que menciona David, o podemos programar en C, o incluso en Delphi si decidimos prescindir de la VCL- pero, en tal caso, mejor programamos en C. En fin, que si programamos usando Delphi y su VCL, no obtendremos ejecutables diminutos.

// Saludos
Responder Con Cita
  #4  
Antiguo 22-04-2007
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 22
JXJ Va por buen camino
yo se que los keygen los hacen en ensamblador.

otros en C o c++ y con codigo en ensamblador.,

El audio si no se como lo meten.

me imagino que son instrucciones de secuencias
que el windows interpreta .
Responder Con Cita
  #5  
Antiguo 22-04-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por Román
Hombre Xander, no quito mérito a esos programas, pero todos sabemos que un ejecutable de Delphi, por buenos que seamos, ocupará, como mínimo, 300kb tan sólo para mostrar una ventanita vacía. No es una cuestión de capacidad sino de la herramienta que usamos. Desde luego, podemos usar opciones como la que menciona David, o podemos programar en C, o incluso en Delphi si decidimos prescindir de la VCL- pero, en tal caso, mejor programamos en C. En fin, que si programamos usando Delphi y su VCL, no obtendremos ejecutables diminutos.
Estoy de acuerdo, pero, tampoco veo mal poder contar con una herramienta como la Key Objects Library. De hecho puede utilizarse para construir aplicaciones visualmente (como en Delphi, haciendo uso de una "VCL" propia) que al cabo terminan en ejecuables verdaderamente pequeños. Claro que esto no significa que uno tenga que plantearse aplicaciones más o menos complejas con la Key Objects Library, pero, puede ser de utilidad en un momento dado, y, cuando menos, es una prueba más de lo que da de sí Delphi.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 27-04-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.293
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por JXJ
yo se que los keygen los hacen en ensamblador.
otros en C o c++ y con codigo en ensamblador.
Tengo serias dudas acerca de esa afirmación.
Simplemente por pura lógica.
Un Keygen no es más que un programa que a partir de un dato (Nombre de usuario) genera otro dato (Serial) utilizando una serie de cálculos. Para eso no hace falta en absoluto programar en ensamblador. Es más, en ensamblador sería bastante más tedioso que en cualquier otro lenguaje de medio-alto nivel.

Para hacer un "Patcher" pasa algo similar; Se trata de cambiar una serie de Bits de un fichero por otros distintos; BIS de lo explicado antes.

Doy por supuesto que una persona que genera Keygens no es tonta, por lo tanto no hay razón para usar ensamblador en una cosa que no se necesita.
En cuanto a los "patchers", como ya han dicho, ni siquiera programan, ya que existen múltiples herramientas que a partir de una plantilla y los datos que se le dan, genera ese ejecutable (que parchea otro) con un par de clicks.

La única razón para usar ensamblador sería el tamaño, pero existen otras alternativas; por ejemplo las KOL son un gran ejemplo, aunque hay más...

Volviendo al tema del lenguaje, he realizado una simple prueba, con varios programas; 7 en concreto. Después de desempaquetarlos y desemcriptarlos he obtenido:

* 2 Programados con Borland Delphi (delphi 4.0 y Delphi 7.0)
* 2 programado con Microsoft Visual C++
* 1 programado con LCC Win32
* 1 Microsoft Visual Basic 5.0 o 6.0
* 1 Desconocido

NOTA: Cierto que hay que saber ensamblador, pero no para generar los Keygen.
NOTA2: Llego un poco tarde, ya habéis avanzado bastante en el tema...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.

Última edición por Neftali [Germán.Estévez] fecha: 27-04-2007 a las 16:47:54.
Responder Con Cita
  #7  
Antiguo 27-04-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cool Ok

Comparto la idea naftali... el uso de lenguaje de maquina esta directamente relacionado con el tamaño y velocidad del producto final (ver tema).

Lo de los resultados analizados, en definitiva si eres bueno en lo que haces hasta en lenguajes etiquetados (HTML?) podemos dominar el mundo con pocos Kb. Pero no nos alejemos de Delphi que es nuestra herramienta principal.
Responder Con Cita
  #8  
Antiguo 15-04-2009
zelt@ zelt@ is offline
Registrado
 
Registrado: mar 2009
Posts: 8
Poder: 0
zelt@ Va por buen camino
mira te explico breve mente yo soy cracker y tu preguntas como programamos los keygen. a lo mejor ya se te contesto tu duda pero por si no te explico en el caso de la musica utilizamos bueno la mayoria utiliza musica en formato XM la cual no pesa mucho y es de buen formato para eso utilizamos la libreria Ufmod la cual nos permite reproducir la musica en XM aparte de eso utilizamos la herramienta eff la cual nos convierte la musica XM en un archivo .PAS que utiliza delphi el cual contiene el codigo de esa musica y se agrega de esta manera:
primero en uses declaramos Ufmod

despues abrimos el archivo .Pas y copiamos el codigo de la musica
en el evento oncreate metemos
Ufmod_Playsong(@xm,length(xm),xm_memory);
para tener la musica mientras este abierto el keygen

jaja creo que no me pero mira hace algunos dias hice un tutorial de como hacerlo te lo dejo aqui para que lo descargues espero que te sirva

http://rapidshare.com/files/22140361...i_by_ZELT_.rar

en cuanto los demas efectos por lo regular es puro codigo como para lograr el movimiento de algun texto o el desvanecimiento de la ventana a y porcierto a mi me gusta hacer mis keygen en delphi pero a otros en ensamblador y otros en visual todo depende del cracker y en que lenguaje le guste programar
Responder Con Cita
  #9  
Antiguo 18-04-2009
Avatar de Julián
Julián Julián is offline
Merodeador
 
Registrado: may 2003
Ubicación: en mi casa
Posts: 2.019
Poder: 10
Julián Va por buen camino
Cita:
Empezado por zelt@ Ver Mensaje
mira te explico breve mente yo soy cracker

Hola, tengo un programa que lleva una protección consistente en un "usb dongle" con el sistema Guardant Stealth III.

¿eso puede piratearse?

Lo pregunto sólo por curiosidad
__________________
"la única iglesia que ilumina es la que arde"
Anonimo
Responder Con Cita
  #10  
Antiguo 23-04-2007
d-hugo d-hugo is offline
Miembro
 
Registrado: abr 2007
Posts: 34
Poder: 0
d-hugo Va por buen camino
Cita:
Empezado por xander
Generalmente estos keygens son aplicaciones de unos cuantos Kb que muchas veces traen efectos rimbombantes, como animaciones muy elaboradas y audio de fondo y yo me pregunto donde es que metieron todo eso dentro de un exe tan pequeño??? ni siquiera esta comprimido con UPX o algun otro compresor puesto que me permite todavia comprimirlo a mi con el UPX y se hace aún más pequeño.
En una ocasión pregunté esto mismo a un programador que desarrollaba aplicaciones diminutas con Delphi. Me enseñó que es perfectamente posible hacer ejecutables desde Delphi que no lleguen a 50K aún sin compresión, sólo que hay que programar todo a mano en el DPR (incluso la creación de las formas y los controles), usando intensamente los common controls y las APIS de Windows, y metiendo los audios y otros recursos que quieras usar en el archivo RES. Como puedes ver, esto es toda una forma de programar (nada amistosa) para la cual el IDE prácticamente no ayuda, pues las VCL no se usan para nada.

Cita:
Empezado por xander
Pero no dejo de preguntarme como hacer para poner esos audios de fondo, no parecen ser midi, deben ser algun otro formato o de plano no tengo ni idea.
En cuanto a eso, te puedo decir que los keygen frecuentemente usan formatos MOD, XM, IT, S3M o similares. Como has visto, son archivos muy pequeños que permiten composiciones bastante complejas y larguísimas porque hacen loops. Me parece haber visto en internet unidades para usarlos en Delphi.

Saludos, Hugo
Responder Con Cita
  #11  
Antiguo 23-04-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Creo que ya esta claro que el tema del tamaño es culpa de la VCL, y de que delphi crea aplicaciones "standalone", es decir, no suelen necesitar librerías para ejecutarse, metiendo todo dentro del ejecutable.

Si se quiere hacer una aplicación pequeña, solamente hay que hacer todo "a mano", usando la API de windows podemos hacer de todo. Recuerdo que hace tiempo, cuando tenia la fiebre de los ejecutables pequeños, llegue a implementar los threads llamando a la api, por no usar la unit classes ... luego te das cuenta de que estas exagerando ... o no

Cita:
Empezado por xander
Pero no dejo de preguntarme como hacer para poner esos audios de fondo, no parecen ser midi, deben ser algun otro formato o de plano no tengo ni idea.
Siempre podemos echar mano del "Codigo inutil" y poner de fondo una bonita cancion.
http://www.clubdelphi.com/foros/show...6&postcount=17
Responder Con Cita
  #12  
Antiguo 23-04-2007
Avatar de Black_Ocean
Black_Ocean Black_Ocean is offline
Miembro
 
Registrado: nov 2006
Posts: 128
Poder: 18
Black_Ocean Va por buen camino
Exclamation

Cita:
Empezado por xander
yo siempre he tenido la duda de como es que hacen los hackers los programitas que hay por toda la red que son keygenerators para diferentes aplicaciones.
Yo se como se hacen aprendí mucho gracias a unos ingenieros inversos rusos que una vez conoci por ahí :P, Algunas herramientas, pasos y conocimientos que necesitas:

1. El cerebro (lo mas importante )

2. Leer MUCHO y TODOS LOS DIAS.

3. Saber bastante assembler (lenguaje ensamblador) y saber programar en MASM32 o FASM32. Para estos tienes uno que se llama RadASM (IDE)
Código:
http://www.radasm.com/
. y el compilador para MASM32 aquí:
Código:
http://www.masm32.com/
4. Saber mucho Hexadecimal, ya que el manejo de direcciones en memoria se manejan en ese formato como ya saben.

5. Reconocer en qué lenguaje fue escrito un programa para poder analizarlo de forma correcta. Una ayuda para esto puede ser PEiD
Código:
http://peid.has.it/
6. Saber dumpear archivos (Esto es desempaquetar ejecutables/DLL's que podrían estar protegidos con UPX, AsProtect, Armadillo, PECompact, WinUpack, EXECryptor, etc... ya que el código original del ejecutable es imposible analizarlo correctamente cuando está protegido).

7. Saber manejar por lo menos un depurador de aplicaciones para análisis, como es el mas básico y fácil, OllyDbg (para aplicaciones hechas en Delphi, Visual Basic, etc...)
Código:
http://www.ollydbg.de/
. Para aplicaciones hechas en Delphi tienes uno EXCLUSIVO que se llama DeDe (El mejor )
Código:
http://www.softpedia.com/get/Programming/Debuggers-Decompilers-Dissasemblers/DeDe.shtml
8. Saber manejar por lo menos un programa que revise archivos en forma hexadecimal. Un buen ejemplo es el WinHex:
Código:
http://www.x-ways.net/winhex/index-e.html
9. Tener herramientas para realizar los parches o loaders, etc, Para esto tienes uno de los mejores fabricadores de parches que es el dUP2:
Código:
http://diablo2oo2.di.funpic.de/
. Para incorporar sonidos o música a estos parches sólo sirve estos tipos de archivos que puedes bajar desde acá:
Código:
http://www.keygenmusic.net/
10. Tener por lo menos un empaquetador/protector de ejecutables para proteger tu proyecto: el UPX
Código:
http://sourceforge.net/projects/upxshell/
es uno de mis favoritos y además es GRATUITO (en realidad esto se debería ocupar para cualquier proyecto realizado en cualquier lenguaje, ya que no faltan los lamers que van a espiar tu código).

Y bueno... MUUUUUUCHAS otras cosas que estaría horas hablando es un ejemplo de los pasos y algunas herramientas que necesitas previo al keygen o parche... si quieres saber mas pregúntale al tío google, porque me aburrí de escribir jejejeje :P

COrdiales saludos.

Última edición por Black_Ocean fecha: 23-04-2007 a las 22:26:52.
Responder Con Cita
  #13  
Antiguo 23-04-2007
Avatar de xander
xander xander is offline
Miembro
 
Registrado: jul 2006
Posts: 499
Poder: 18
xander Va por buen camino
Chas Gracias Black Ocean... muy ilustrativo tu comentario Eso es lo que quería saber..
__________________
"Hey, nena, debe ser genial ser tú y verme a mí mismo..."
Responder Con Cita
  #14  
Antiguo 23-04-2007
Avatar de Black_Ocean
Black_Ocean Black_Ocean is offline
Miembro
 
Registrado: nov 2006
Posts: 128
Poder: 18
Black_Ocean Va por buen camino
Exclamation

Ya saben que mas... acá les dejo un tutorial + el código fuente incluido (todo en ESPAÑOL!) de un ejemplo de cómo hacer un keygen en DELPHI!!!!!!!!! EXCLUSIVO!!

Código:
http://www.gigasize.com/get.php/1212171/KeyGDelphi.rar
La password para descomprimir:
Código:
KeygenDelphi
Este tutorial y ejemplo ha sido bajado del sitio CracksLatinos
Código:
http://www.crackslatinos.hispadominio.net
Saludos y espero que les sirva y comenten

Última edición por Black_Ocean fecha: 23-04-2007 a las 23:00:43.
Responder Con Cita
  #15  
Antiguo 26-04-2007
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Cool xander, dac, roman...

En realidad si se debe tener algo de experiencia en crear esos programillas tan pequeños... alguien citaba: "no menos de 300 Kb", eso es totalmente mentira, pues el modo de abstraccion que utilizo Borland para representar un objeto ventana fue algo grueso. La solucion esta en solo utilizar APIs, que al final es de lo que hacen uso los lenguajes de programacion visual, y en el hermoso Delphi en particular podemos meterle algo de codigo en Assembler, comienza creando aplicaciones SIN ventanas; consolas, luego quitale la opcion de consola y estaras haciendo un programa de 8 Kb +/- en la cual con algunas APIspodrs ponerle un entorno mas Güindos... Espero estar aqui para darles algunos consejillos, pues esa fue mi "especialidad".
Responder Con Cita
  #16  
Antiguo 26-04-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Yo soy el que citas

Pero a lo que me refería, es justamente a que, usando la VCL, es imposible bajar de 300kb. No usándola, desde luego que se puede bajar- y drásticamente -el tamaño. Quizá debí aclarar más.

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Los "ratones" se hacen inteligentes gracias a Logitech Sasuke_Cub Noticias 1 08-10-2005 23:37:50
DBGrid con PickList estilo "Code Templates" sitrico Varios 0 01-07-2005 17:55:34
buscar palabras parecidas (estilo google) - "quiso decir...." ksellas Conexión con bases de datos 10 26-01-2005 00:30:49
Stallman: "La única manera de ser libre es rechazar los programas propietarios" kinobi Debates 12 20-05-2004 16:07:24


La franja horaria es GMT +2. Ahora son las 15:20:28.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi