03 Introducción a la programación de virus en ASM

Páginas: 14 (3276 palabras) Publicado: 23 de septiembre de 2015
Capítulo 3
Assembler

La idea para este capítulo es ver algunos conceptos básicos de assembler que van a ser necesarios para programar el virus y de paso vamos a aprender algunas cosas de Ollydbg que nos van a ser útil luego.

No va a ser un ‘curso de assembler’, ya que el tema da para mucho, y además hay muy buenos cursos por la red. Solo vamos a ver algunas cosas básicas que si o sinecesitamos saber para programar nuestro virus.

Una aclaración, de acá en más vamos a utilizar siempre numeración hexadecimal, o sea que emplearemos los caracteres del 0 al 9 mas las letras A, B, C, D, E y F. Hay que acostumbrarse a esto ya que es una forma estándar de representar la información, tanto de los programas (opcodes), como en el dump, la memoria y los registros. De todas formas convienesiempre aclarar que tipo de numeración estamos empleando, para esto se agrega un sufijo al final del número: h-hexadecimal o-octal b-binario d-decimal.

Vamos a instalar un plugin que es muy útil en Ollydbg, y de paso veremos como instalar fácilmente cualquier plugin de este programa. La herramienta que veremos se llama CommandBar, y es muy útil una vez que nos acostumbramos a ella.

Lo que tenemosque hacer es crear una carpeta donde poner todos nuestros plugins, yo la creé dentro del directorio del Olly, de la siguiente forma: C:\OllyDBG\plugins, pero le pueden poner cualquier nombre.

Copiaremos en ese directorio el plugin, en este caso ‘CmdBar.dll’. Luego abrimos el Ollydbg y vamos a la opción del menú que dice Options -> Appearance



Y luego en la solapa ‘Directories’ ponemos el pathdonde colocaremos nuestros plugins:



Ahora solo tenemos que reiniciar el Olly y listo.
La próxima vez que necesitemos un plugin solo tenemos que copiarlo dentro de esa carpeta y ya va a estar disponible para utilizarlo.

Lo que hace esta herramienta es ponernos en la parte inferior del Olly una barra desde
donde vamos a poder ingresar algunos comandos, los cuales ya iremos viendo.

Para probarcomo funciona coloquemos en la barra lo siguiente ‘? 012 + 0A0’ y démosle enter:



Lo que hicimos fue utilizar el comando ? para que nos muestre algo y luego le pusimos dos valores en hexa para que los sumara (una aclaración, siempre que pongamos valores en hexa que empiecen con una letra tenemos que anteponerle un cero sino nos da error, como el caso del 0A0). El resultado lo muestra en hexa, endecimal y el valor ASCII correspondiente.

Sigamos ahora con Assembler y empecemos con lo más básico, los registros.

Los registros

Los registros los podemos ver como espacios físicos que residen dentro del procesador y se emplean para controlar instrucciones en ejecución, manejar direccionamientos de memoria y proporcionar capacidades aritméticas y lógicas. Siempre que hablemos de registrosvamos a hacer referencia a los registros de 32 bits, los cuales aparecieron con los procesadores 386 en adelante, no a los antiguos registros de 16 bits que utilizábamos en programas DOS.

Registros de uso general:

EAX: también llamado acumulador, es un registro de propósito general pero también muy utilizado en operaciones matemáticas, para obtener datos devueltos por algunas APIs como por ejemploFindFirstFileA, etc. Podemos utilizar también los últimos valores como si fuera un registro de de 16 bits (AX), y a su vez podemos dividir AX en dos registros de 8 bits (AH y AL).



Vamos al Olly, abramos el programa que hicimos en el capítulo anterior (o cualquier otro), y sobre la ventana de registros hagamos doble clic sobre EAX, nos muestra una ventana para editarlo, y escribamos 12345678 ypresionemos OK.


Vemos que EAX toma el valor que ingresamos, ahora vayamos a la barra de comandos y escribamos ? EAX, vemos que nos muestra el valor completo 12345678.
Ahora escribamos ? AX y vemos que nos muestra 5678, las últimas 4 cifras.
Lo mismo si ponemos ? AH muestra 56 y ? AL 78.




EBX: también llamado base, además de su uso general se lo suele utilizar para direccionar el acceso a...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Introducción a la programación de virus en ASM
  • 02 Introducción a la programación de virus en ASM
  • Programacion En Lenguaje Asm
  • Introducción A Los Virus
  • Introducción a la programación
  • Introducción A La Programacion
  • introducción a la programacion
  • Introduccion A La Programacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS