Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-03-2005
nachete nachete is offline
Registrado
 
Registrado: mar 2005
Posts: 5
Poder: 0
nachete Va por buen camino
Pe Explorer

Me he bajado el pe explorer y veo todo el programa, el problema esta en que no puedo modificar los eventos porque ni siquiera salen, alguine sabe como hacerlo o algun programa que me decomprima un ejecutable y pueda ver el codigo fuente entero
Responder Con Cita
  #2  
Antiguo 14-03-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Descomprimir?, mas bien será descompilar, pero de todas formas no se puede. Como mucho podrás sacar "algo" del programa original.

Ten en cuenta que hoy en dia los compiladores son enormes, las decisiones que toman son innumerables y es casi imposible tenerlas en cuenta para deshacerlas. Además está el Linkador, que también hace su trabajo.

Un saludo.
Responder Con Cita
  #3  
Antiguo 14-03-2005
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 nachete
...alguine sabe como hacerlo o algun programa que me decomprima un ejecutable y pueda ver el codigo fuente entero
Para un programa compilado y linkado (como los que genera Delphi) es imposible extraer el código fuente tal y como se progamó, porque no se encuentra en el programa. En su lugar está el código de "bajo nivel" que lo sustituye, y hasta ahora no es posible generar código de "alto nivel" a partir de código de "bajo nivel" .
Puedes extraer del ejecutable "casi todo" lo que no sea código, eso si, desde imágenes, cadenas, recursos, menús, formularios,... etc, etc, etc,
Lo dicho, lo más que vas a obtener "decompilando" el programa es código similar a éste:

Traducción del código:

Código Delphi [-]
 var
   Direct:string;
   op:TSelectDirOpts;
 begin
   SelectDirectory('Seleccionar directorio', 'c:\', direct);
   Edit1.Text := Direct;
   SelectDirectory(Direct, [], 0);

Te puedes entretener un rato, es bastante instructivo...

Código:
 00466310   55					 push	ebp
 00466311   8BEC				   mov	 ebp, esp
 00466313   83C4F0				 add	 esp, -$10
 00466316   33C9				   xor	 ecx, ecx
 00466318   894DF8				 mov	 [ebp-$08], ecx
 0046631B   8955F4				 mov	 [ebp-$0C], edx
 0046631E   8945FC				 mov	 [ebp-$04], eax
 00466321   33C0				   xor	 eax, eax
 00466323   55					 push	ebp
 
 * Possible String Reference to: 'é«Úùÿëð‹å]Ã'
 |
 00466324   6878634600			 push	$00466378
 
 ***** TRY
 |
 00466329   64FF30				 push	dword ptr fs:[eax]
 0046632C   648920				 mov	 fs:[eax], esp
 0046632F   8D4DF8				 lea	 ecx, [ebp-$08]
 00466332   BA88634600			 mov	 edx, $00466388
 
 * Possible String Reference to: 'Seleccionar directorio'
 |
 00466337   B898634600			 mov	 eax, $00466398
 
 |
 0046633C   E8CFF7FFFF			 call	00465B10
 00466341   8B55F8				 mov	 edx, [ebp-$08]
 
 * Reference to Form1
 |
 00466344   8B45FC				 mov	 eax, [ebp-$04]
 
 * Reference to control TForm1.Edit1 : TEdit
 |
 00466347   8B80F4020000		   mov	 eax, [eax+$02F4]
 
 * Reference to: controls.TControl.SetText(TControl;System.String);
 |
 0046634D   E83E93FDFF			 call	0043F690
 00466352   8D45F8				 lea	 eax, [ebp-$08]
 00466355   33C9				   xor	 ecx, ecx
 00466357   8A15B0634600		   mov	 dl, byte ptr [$4663B0]
 
 * Reference to: filectrl.SelectDirectory(System.AnsiString;TSelectDirOpts;System.Longint):System.Boolean;overload;
 |
 0046635D   E89EF5FFFF			 call	00465900
 00466362   33C0				   xor	 eax, eax
 00466364   5A					 pop	 edx
 00466365   59					 pop	 ecx
 00466366   59					 pop	 ecx
 00466367   648910				 mov	 fs:[eax], edx
 
 ****** FINALLY
 |
 
 * Possible String Reference to: '‹å]Ã'
 |
 0046636A   687F634600			 push	$0046637F
 0046636F   8D45F8				 lea	 eax, [ebp-$08]
 
 |
 00466372   E889E0F9FF			 call	00404400
 00466377   C3					 ret
 
 00466378   E9ABDAF9FF			 jmp	 00403E28
 0046637D   EBF0				   jmp	 0046636F
 
 ****** END
 |
 0046637F   8BE5				   mov	 esp, ebp
 00466381   5D					 pop	 ebp
 00466382   C3					 ret
__________________
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.
Responder Con Cita
  #4  
Antiguo 14-03-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Cita:
Empezado por Neftali
Te puedes entretener un rato, es bastante instructivo...
Tengo que ejercitar mi lectura rápida, entendí "intuitivo"

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


La franja horaria es GMT +2. Ahora son las 04:57:06.


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