Los crackers utilizan desensambladores que permiten ver el código de una forma más clara, para ello ponen breakpoints (típicamente en llamadas de windows o mensajes) y modifican el código antes del siguiente salto.
Por tanto para dificultar el desensamblado, lo que hacemos es insertar código ASM en nuestros procedimientos
Las declaraciones condicionales ASM que insertan código son de este tipo:
JMP aquí
DB byte,byte,byte,byte ; datos basura
Lo que vamos a realizar es un archivo que se insertará en nuestro programa, que genere complejidad en el conjunto de instrucciones ASM, pero que sea transparente a nuestra aplicación.
----- Este es el archivo include: AsmParam.inc: ------
{$IFDEF Param4}
{$UNDEF Param1}
{$UNDEF Param2}
{$UNDEF Param3}
{$UNDEF Param4}
{$ENDIF}
{$IFDEF Param3}
{$IFNDEF Param4}
asm
DB $EB,$06,$55,$44,$55,$03,$a8,$09;
end;
{$DEFINE Param4}
{$ENDIF}
{$ENDIF}
{$IFDEF Param2}
{$IFNDEF Param3}
{$IFNDEF Param4}
asm
DB $EB,$04,$75,$13,$a2,$14;
end;
{$DEFINE Param3}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$IFNDEF Param1}
{$IFNDEF Param2}
{$IFNDEF Param3}
{$IFNDEF Param4}
asm
DB $EB,$04,$55,$03,$a7,$44;
end;
{$DEFINE Param2}
{$ENDIF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
;
---- Fin del archivo include----
Una vez que tenemos este archivo se inserta entre las líneas de código del evento Onclic de un botón.
El procedimiento se ejecuta normalmente, con la diferencia de que en este caso se incluye un montón de código basura.
procedure TForm1.Button1Click(Sender: TObject);
begin
{$I AsmParam.inc}
ShowMessage('1');
{$I AsmParam.inc}
ShowMessage('2');
{$I AsmParam.inc}
ShowMessage('3');
{$I AsmParam.inc}
ShowMessage('4');
{$I AsmParam.inc}
ShowMessage('1');
end;
Esto puede convertir el desensamblado en una pesadilla incluso con procedimientos simples como Showmessage. El archivo ".inc" puede ser mejorado para producir código aleatorio.
▻★★★ Blog sobre el lenguaje de programación delphi, incluye software, tutoriales, aplicaciones, videos, código fuente, trucos (about delphi, tips, tutorials, applications, source code, advanced programs, code snippets )
Suscribirse a:
Enviar comentarios (Atom)
Simulación del movimiento de los electrones en un campo electrico
Espectacular simulación realizada con OpenGL del movimiento de los electrones cuando atraviesan un campo eléctrico. Como muestra la image...
-
Espectacular simulación realizada con OpenGL del movimiento de los electrones cuando atraviesan un campo eléctrico. Como muestra la image...
-
Este programa sirve para calcular los valores de un resistor en función del color de las bandas de colores que lleva serigrafiadas en su s...
-
Los códigos QR son una forma eficiente de almacenar y acceder a información. Las ventajas de usarlos son: Facilidad de uso : Los códigos Q...
No hay comentarios:
Publicar un comentario