Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-03-2008
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.503
Poder: 23
MAXIUM Va camino a la fama
Una vez logre decompilar un proyecto delphi del que había perdido su código, lo malo es que no recuerdo si era para delphi 4 o 6, y peor no recuerdo el nombre del decompiler.
Responder Con Cita
  #2  
Antiguo 21-03-2008
mario2000 mario2000 is offline
Miembro
 
Registrado: abr 2007
Posts: 109
Poder: 20
mario2000 Va por buen camino
Como que ya murio yo descompile aller un programa con el, solo descarguenlo y pruebenlo veran que no es cuento , a mi me funciona solo que la ultima version cuesta unos 100 dolares pero el que lo quiere lo compra busca el crack. Tampoco es perfecto pero sirve mucho.
Responder Con Cita
  #3  
Antiguo 21-03-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
Código:
procedure Unknown_2();
begin
{ '40D348
  loc_0040D348: test edx, edx
  loc_0040D34A: jz 40D352h
  loc_0040D34C: xchg edx, eax
  loc_0040D34D: mov ecx, [eax]
  loc_0040D34F: call [ecx]
  loc_0040D351: ret
}
end;
Esto es lo que obtienes con el De Decompiler. Puro asm.
Con tiempo y informacion reconstruir el programa. (emularlo) como quieran llamarle.Eso si mucha calma y mucha concentracion.
Alguna que otra herramienta para que nos ayude con el asm.

Un Saludo.
Responder Con Cita
  #4  
Antiguo 21-03-2008
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 23
AzidRain Va camino a la fama
A mi no me la pegan con eso de que quieren descompilar un software porque perdieron las fuentes...cualquier programador promedio siempre tiene un respaldo de su trabajo y si no, pues no es programador.

Resulta muy interesante el querer aprender a base de ver que hacen otros o como le hicieron los de tal empresa para hacer esa ventanita redondeada y cosas así. Vamos, eso viene desde la época del MS-DOS. Yo mismo "cree" una versión del famoso e indispensable PC-Tools en supuesto español que no era otra cosa que traducir vilmente las cadenas que aparecían en el exe con la ayuda de un editor hexadecimal. E incluso el mismo Turbo Pacal 3.0 circulaba en mi Uni traducido al español.

Afortunadamente para amuchos es imposible descompilar un software porque en primer lugar habremos de saber en que lenguaje se hizo y posteriormente hay mil y una variables que desde que este tema se ha manejado (allá por los 80s) nunca ha sido resuelto. Quienes conocen ensamblador saben que a veces una solo instrucción ASM equivale a muchísimas variantes de código fuente además de que cada compilador le pone su propio sabor al código que genera por lo que la cosa se complica bastante.

Además si el programador se tomó la molestia de hacer cosas "raras" en su código pues la cosa va de mal en peor. Por ejemplo, ¿Sabían que la mayor parte de las cadenas literales que ocupamos en Delphi son perfectamente visibles (y modificables) vía un editor hex?
Ejemplo:
Código:
  Cadena_Visible := 'Hola Mundo';
  Cadena_invisible := $48 + $6F + $6C + $61 + $60 + $4D + $75 + $6E + $64 + $6F;
Cadena_Visible será perfectamente identificable dentro del archivo EXE mientras que la otra no lo será.


Para concluir, si de verdad la necesidad es recuperar las fuentes, es mejor y más rápido partir de ceros (de paso se optimiza un poco de código) que ponerse a descubrir el hilo negro y además seguir siempre la regla de oro: "¡RESPALDA!".
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #5  
Antiguo 22-03-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
Hola AzidRain.

Entiendo tu punto y estoy muy de acuerdo en que algunos dicen querer recuperar un codigo perdido y en realidad quieren ver uno que alguien mas creo.Algunos creen que es facil, pero pronto se topan con una pared muy alta que pocos pueden escalar.( por suerte).
Pero yo me pregunto quien no se a robado aunque sea un .gif para su web? o miro el codigo de alguna pagina web para aprender algo de html?
Que tire la primera piedra quien este libre de pecados.

Retomando tu comentario anterior, una intrucion asm solo puede ejecutar lo que se le pidio.. ahora si dentro de ella misma se le pide que tome diferentes rutas de acuerdo a alguna condicion.Eso sigue siendo una sola intrucion asm.
El procesador entiende "call" y donde lo mandas "mov" y lo que quieres mover y a donde. En pocas palabras assamble es assamble y solo cambia si cambias el cpu.
En cuanto al lenguaje en el que fue creado un exe eso solo detiene a los novatos.
No respaldo la idea de decopilar exe. Tampoco critico a quien lo quiera hacer.
Solo comente porque el hilo esta interesante y el tema caliente.

Un Saludo.
PD: Decopilando no se aprende.. solo se practica y es tarea de quien algo ya aprendio.
Responder Con Cita
  #6  
Antiguo 22-03-2008
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.503
Poder: 23
MAXIUM Va camino a la fama
Cita:
Cadena_invisible := $48 + $6F + $6C + $61 + $60 + $4D + $75 + $6E + $64 + $6F;
Mmmm... eso me da algunas ideas para encriptar ciertas cosas y proteger mi .exe ...
Responder Con Cita
  #7  
Antiguo 27-03-2008
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.964
Poder: 29
delphi.com.ar Va camino a la fama
Cita:
Empezado por AzidRain Ver Mensaje
Código:
  Cadena_Visible := 'Hola Mundo';
  Cadena_invisible := $48 + $6F + $6C + $61 + $60 + $4D + $75 + $6E + $64 + $6F;
Cadena_Visible será perfectamente identificable dentro del archivo EXE mientras que la otra no lo será.[/quote]
Lamento contradecirte pero no es así, primero que Cadena_invisible no es una cadena sino un número, la suma de todos los hexadecimales que enumeras, si fuera una cadena tendría que ser:
Código:
  Cadena_invisible := #$48 + #$6F + #$6C + #$61 + #$20 + #$4D + #$75 + #$6E + #$64 + #$6F;
Y el compilador se encargará de resolver la constante como una cadena simple, por lo que será perfectamente visible.

Lo que comentas es un recurso que he utilizado alguan vez en VisualBasic que demostraba la pobresa del compilador, no resolviendo las constantes en timpo de compilación.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #8  
Antiguo 27-03-2008
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 23
AzidRain Va camino a la fama
si es cierto, se me olvidó ponerle el "#" ...pero el caso es que efectivamente funciona.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #9  
Antiguo 27-03-2008
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.964
Poder: 29
delphi.com.ar Va camino a la fama
Lo probé recién en Delphi 7 y hace lo que digo, puedes encontrar tranquilamente el texto "Hola Mundo".

PD: Obviamente que si defines la constante y no la utilizas en ningún sitio esta no aparecerá, pues no es compilada.

PD2: En tu cadena el espacio no tiene el valor correcto.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 13:48:29.


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