PDF de programación - Curso de programación de virus

Imágen de pdf Curso de programación de virus

Curso de programación de virusgráfica de visualizaciones

Publicado el 20 de Junio del 2018
5.313 visualizaciones desde el 20 de Junio del 2018
1,9 MB
104 paginas
Creado hace 18a (16/08/2005)
Curso de programación de virus Made by Wintermute, 2001

Curso de programación de virus

Made by Wintermute, 2001

Descargado desde: www.dragonJar.us

Compilación por Buuo



Índice

Introducción.
Objetivos del curso y algunos consejos antes de empezar

Capítulo 1. Estructura de computadores.

Funcionamiento de un microprocesador standard, memoria, buses, E/S,
microprogramación


Capítulo 2. Fundamentos de SSOO.
Funcionamiento básico de un sistema operativo; shell, API y kernel

Capítulo 3. Sistemas de numeración.
Tocando el binario, hexadecimal y aritméticas binarias

Capítulo 4. Ensamblador I: Conceptos básicos.
Aprendizaje del lenguaje ASM, principales conceptos

Capítulo 5. Ensamblador II: Conceptos avanzados.
Instrucciones avanzadas, API del sistema, coprocesador

Capítulo 6. Utilidades para la programación.
Visores hexadecimales, ensambladores, desensambladores y debuggers

Capítulo 7. Infección bajo Windows.
Técnicas para la programación de virus en Windows

Capítulo 8. Infección bajo Linux.
Programación de autorreplicantes en sistemas Linux

Capítulo 9. Técnicas avanzadas.

Algunos conceptos algo más complejos para la programación de virus (encriptación y
polimorfismo)


Apéndices.
Bibliografía y referencias

2


3


12


20


24


41


51


61


81


93


103


1

Contactos para la elaboración documentación warez: [email protected]

BUUO EDICIONES



Curso de programación de virus Made by Wintermute, 2001



Introducción


Objetivos del curso

La meta de este curso es el aprendizaje de métodos en programación, tanto en teoría como en práctica, de
virus informáticos. No obstante, no ofreceré el camino típico; esto es, aprender ensamblador, aprender
formatos de ficheros e infectar. Con alguna experiencia en el tema, creo que lo primero que hay que hacer no
es ponerse a programar como un salvaje sin entender qué se está tocando y cómo funciona: se dará pues una
visión general acerca de todo aquello que se va a tocar (arquitectura de un computador y sistemas
operativos), necesaria antes de empezar a programar nada, y con esto en mente debería de resultar
muchísimo más sencillo no ya sólo programar virus, sino desarrollar cualquier otro tipo de aplicaciones que
necesiten conocimientos de este estilo.


Algunos consejos antes de empezar

* Escribir virus informáticos no es fácil. Requiere esfuerzo, requiere muchas horas delante de un ordenador, a
veces tan solo para corregir diez líneas de código que no sabes por qué no funcionan. La paciencia es la
primera arma con la que hay que contar. Por eso, aunque he intentado ser detallado en las explicaciones y
pongo mucho código en ellas, no hay virus completos en este curso. No se puede dar todo hecho, uno ha de
acostumbrarse desde el principio a tener que buscarse la vida y soportar la desesperación cuando algo no
funciona hasta que al fin se descubre cuál era el fallo.

* Eso implica una cosa; escribe virus porque te guste escribir virus. Quien pretende ser el mega-h4x0r y llenar
el mundo de bichitos o cualquier cosa así, se quemará cuando tenga que tirarse dos horas debuggeando
código hasta descubrir que algo no funciona porque se le olvidó añadir una estupidez. Quien pretende ser un
malote-jax0rito lo tiene más fácil si se baja programas para nukear y se pone a hacer el idiota en IRC o
escribe un estúpido troyano en un .BAT y se lo intenta colar a la gente (patético, ¿verdad?)... en resumen,
destruir es muy sencillo, lo difícil es crear.

* Imaginación es la clave a la hora de escribir virus informáticos; el mundo está lleno de gente que escribe
bazofia con lenguaje de Macro de Word, o incluso de programadores que aunque muy buenos técnicamente,
no aportan nada cuando escriben algo. Un virus sencillo que tenga algo nuevo aporta mucho más que el
m3g4v1rus de 30kb que infecta diez mil tipos de fichero que ya han sido infectados antes. Sería fácil sacar un
virus polimórfico para Linux reutilizando otro engine que tuvieramos hecho para Windows, pero... ¿qué
aportaría?

* Si parte de tus pretensiones se orientan hacia la rama que llamaríamos hacktivista, ten cuidado con los
programas autorreplicantes si quieres darles el uso de arma; mide sus posibilidades, pues la difusión de un
virus con toda probabilidad causará no más que daños a usuarios inocentes. Los virus como baza antisistema,
como método del caos, serían todo un tema a discutir pero que evidentemente se sale de la temática de este
curso y es responsabilidad de cada persona individual; no obstante como digo, soltar un virus aparte de ilegal
no es precisamente algo "agradable" para el usuario que reacciona borrando sus archivos para librarse de él.
Dañar la información contenida en un ordenador no aporta nada positivo a nadie, y aunque tu código no sea
destructivo el usuario que reacciona con pánico desconoce ese hecho; puede destruirlo él mismo siendo tú
indirectamente responsable de ello. Aunque tú eres quien ha de decidir qué hacer con la información, si he de
dar algún tipo de consejo es sencillo; no sueltes tus virus, experimenta en tu ordenador. No ganarás nada
de otra forma.

* Por último, aclarar que mi única labor aquí es transmitir información. Lo que cada uno haga con ella es
asunto suyo; ni me siento ni soy responsable de aquello que cada persona pueda decidir hacer una vez
dotado de los conocimientos suficientes para escribir programas autorreplicantes (virus). Mantengo mi propia
ética respecto a los virus informáticos que consiste en no "soltarlos" y enviar los ejecutables a compañías
antivirus si voy a publicar el código en algún lado. Esta ética personal no tiene por qué coincidir con la de
quien lea este curso; toma tus propias decisiones y sé responsable de ellas, aunque si eres del tipo "soy
mal@ y quiero infectar al mundo", mejor será que te olvides de este curso, te aburrirá...



2

Curso de programación de virus Made by Wintermute, 2001



Capítulo 1

Estructura de Computadores



problema.



1.1.- Arquitectura Von Neumann

Así se conoce la forma de estructuración utilizada en los ordenadores actuales; desde 1945 con UNIVAC, se
utiliza la arquitectura diferenciadora entre hardware y software que él creó (Von Neumann es junto con Alan
Turing padre de la informática moderna, y curiosamente el gran precursor de los virus informáticos en sus
estudios sobre autómatas autorreproductores que John Conway continuó en 1970 con el juego "Life",
antecesor a su vez de los algoritmos genéticos). Según esta arquitectura, una definición adecuada para un
computador sería la siguiente:


Máquina programada de propósito general capaz de realizar una serie de operaciones básicas siguiendo un

conjunto de instrucciones que le son proporcionadas a través de un programa encaminado a resolver un

Los elementos básicos de un computador propuestos por Von Neumann y que se utilizan en la actualidad son
los siguientes:

- Memoria: Su misión consiste en servir de almacenamiento de la información dentro del computador, sean
programas o datos, y sin hacer distinción entre código y datos (no hay una memoria para datos y otra para
código ejecutable, está unificada).

- Dispositivos de E/S (Entrada/Salida): Engloban todos aquellos periféricos como puedan ser ratones,
monitores, teclados,... es decir, todo lo que proporcione datos al computador o a través de lo cual salgan de
él.

- BUS de comunicaciones: Las operaciones de accesos a datos, de manejo de periféricos y otras, han de
realizarse a través de un BUS (hilos de comunicación); su misión engloba por ejemplo la transferencia de
datos entre memoria y procesador.

- CPU - Unidad Central de Proceso (Central Processing Unit): Es la encargada de controlar y ejecutar todas
las funciones del computador. Es la que determina en qué condición se ejecuta el código y como han de
mandarse los datos, generando además todas las señales de control que afectan al resto de las partes.



3

Curso de programación de virus Made by Wintermute, 2001

1.2.- Memoria

1.2.1.- Jerarquía de memoria

La memoria en un computador se organiza en varios niveles que se organizan en forma piramidal, en el pico
aquello que es más rápido y también más escaso (registros) y en la base lo más lento pero al tiempo más
abundante (discos):


Pirámide de memorias (según su velocidad y tamaño)



Los registros pertenecientes al microprocesador son los más rápidos (con un tiempo de acceso que suele
estar entre 1 y 5 nanosegundos) aunque por su coste el tamaño es reducido (normalmente no más que 256
bytes). La memoria caché, más lenta, tarda entre 5 y 20 ns (tiempo de acceso) pero con un tamaño mayor
que a pesar de todo pocas veces sobrepasa el megabyte. La memoria principal, lo que solemos conocer
como RAM, tiene ya un tamaño bastante mayor - las configuraciones standard de PCs dificilmente bajan ya
de los 128Mb - pero al tiempo un acceso más lento (entre 60 y 200 nanosegundos). Finalmente, con la
memoria secundaria hacemos referencia normalmente al disco duro, que es utilizado por el ordenador
como memoria virtual.

Entre los distintos niveles de la jerarquía, ha de haber una correspondencia en los datos. Un nivel superior,
más pequeño que el inferior, contendrá información proveniente de este nivel más grande que él, información
a la que quiere acceder más deprisa. Por ejemplo, cuando accedemos a una base de datos, esta se carga en
memoria para qu
  • Links de descarga
http://lwp-l.com/pdf12015

Comentarios de: Curso de programación de virus (1)

Imágen de perfil
21 de Junio del 2018
estrellaestrellaestrellaestrellaestrella
Que lastima que los grandes cerebros se utilicen para hacer daños y con malas intenciones, utilizalo en algo útil, no debería publicarse estos manuales en la web. Aunque hay que reconocer que es interesante.
Responder

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad