Seguridad Informatica
Creación de una bomba
lógica Tomo II | lenguaje C
Ghost
Portalhacknet@gmail.com
14/08/2009
2
TABLA DE CONTENIDO
1. INTRODUCCIÓN
1.1 El lenguaje de programación C
1.2 El API de Windows
2. MÁS TECNICAS DE PROGRAMACIÓN
2.1 Programando una bomba lógica en C
2.2 Ocultación
2.3 Métodos de arranque
3. CONCLUSIONES
3
1. INTRODUCCIÓN
Nuevamente estamos en un nuevo tomode esta seria de “e-books” de
programación, en el que veremos más técnicas de programación para el diseño
y desarrollo de una bomba lógica, pero esta vez avanzaremos un poco más en el
camino del conocimiento, y haciendo más eficiente nuestra escritura de virus. En
esta ocasión vamos a dedicar el libro al lenguaje de programación C, así mismo
incluiremos técnicas para la ocultación y unamayor eficiencia en la ejecución de
nuestra bomba lógica, espero sea de su agrado y sin más preámbulos
empecemos…
1.1 lenguaje de programación C
C, es uno de los primeros lenguajes en un intento de facilitar la programación en
los ordenadores personales, tratando así de reemplazar al clásico pero de cierta
forma difícil lenguaje ensamblador, en este libro usaremos este lenguaje para
continuarprogramando una bomba lógica, que será más eficiente que escribirla
en batch o incluso en object pascal.
Digo que es más eficiente porque si comparan un ejecutable de un virus con las
mismas funciones que uno escrito en C, verán que el tamaño en bytes es
considerablemente bajo en relación a cada uno, en C el ejecutable pesará
posiblemente 20 KB o menos y en Delphi (Object pascal), elejecutable tendrá al
menos 90 KB por encima, por lo que podemos deducir que eso supone una gran
mejora en este campo de la programación de bomba lógicas, incluso si
llegáramos a programar una BL (bomba lógica), en el lenguaje ensamblador, esta
tendrá un tamaño menor que escrita en C, esto se debe a que los lenguajes de
bajo nivel son más eficientes para tareas de hardware, y para algunas otras
cosas,pero en sí escoger un lenguaje ya depende de ustedes.
1.2 El API de Windows
Windows posee ciertas librerías que usa para llamar funciones que se encuentran
ya pre programadas (como por ejemplo copiar un archivo, obtener el nombre de
un archivo etc.…), estas funciones se encuentran en su mayoría en librerías.*dll, y
la mayoría puede ser llamada desde casi cualquier lenguaje de programación.En internet existen muchos manuales de referencia para el uso del API de
Windows, por lo que pueden utilizar el MSDN de microsoft que está en su página
oficial, y yo recomiendo utilizar el manual de referencias de WIN32 (Microsoft®
Win32® Programmer's Reference) que viene por defecto en el instalador de Delphi
7SE.
4
2. MÁS TÉCNICAS DE PROGRAMACIÓN
En este apartado veremos algunasotras técnicas de nivel intermedio para que
nuestra bomba lógica sea más eficiente.
2.1 Programación de una bomba lógica en C
Bien, como trabajaremos exclusivamente con el API de windows debemos incluir
la librería principal de donde podemos llamar las APIS de las que haremos uso:
#include
Para evitar que se vea la ventana del DOS, llamaremos esta API para que oculte
la ventana del CMD.ShowWindow(GetForegroundWindow(),SW_HIDE);
Ahora necesitamos obtener el nombre d un directorio para guardar nuestro *.exe,
en este caso usaremos la carpeta de windows, declaramos una variable tipo
arreglo(un char):
char WinDir[MAX_PATH];
Y luego llamamos el api para obtener el directorio de windows,, como atributos
ponemos el nombre de la variable un entero que indica la cantidad máxima decaracteres que este nombre o cadena de caracteres puede tener:
GetWindowsDirectory(WinDir,255);
En la referencia de WIN32 dicen sobre esta API:
The GetWindowsDirectory function retrieves the path of the Windows directory. The
Windows directory contains such files as Windows-based applications, initialization
files, and Help files.
UINT GetWindowsDirectory(
LPTSTR lpBuffer,
// address...
Regístrate para leer el documento completo.