Hola, Bienvenido a mi blog!

Puedes seguirnos en las redes sociales o suscribirte al feed.

¡Suscríbete a nuestro blog!

Recibe en tu correo las últimas noticias del blog. Sólo ingresa tu correo para suscribirte.

Cracking Sin Secretos


Cracking sin secretos. Ataque y defensa de software se dirige a profesionales y principiantes que tienen interés en la protección del software, un campo que durante décadas ha sido trabajado, investigado y explotado de las más diversas maneras.

La piratería de software desde el punto de vista del fabricante es una limitante para vender, mientras que para el pirata es una oportunidad de ingresos y visto así, la buena protección de software por lo general se mide en el tiempo que tarda un nuevo programa en ser crackeado..


Índice

Prólogo

Capítulo 1
Métodos de protección y sus puntos débiles

Cifrado
Programas incompletos
Clasificación básica de los tipos de protección disponibles
Duración limitada
Otras restricciones numéricas
Numero de registro
Registro interactivo
Fichero clave
Programas limitados
Protección hardware
Comprobación de la presencia del CD
Compresores y codificadores PE
Protección contra la copia del CD
Deterioro físico del CD
Ficheros de tamaño falso
CDs sobredimensionados
TOC (“Table of contents”) legal
Ficheros agrupados
Errores ficticios de software y otras manipulaciones en el proceso de fabricación de los CDs
Protecciones comerciales
SafeDisc
SecuROM
ProtectCD
Armadillo Software Protection System
ASprotect
VBox
Programas en Visual Basic
Comparación de cadenas de caracteres
Comparación variable (tipo de datos variables)
Comparación variable (tipo de datos largo)
Conversión del tipo de datos
Transferencia de datos
Operaciones matemáticas
Miscelánea
Otras vulnerabilidades

Capítulo 2
Protección contra los programas de depuración

Depuradores más habituales
softICE
Uso elemental SOFTICE
Configuración del programa
Mandatos, funciones y controles básicos
Windows
Gestión de los puntos de corte

Gestión estructurada de excepciones (SEH)
Descripción y so de la gestión estructurada de escepciones
SEH en desarrollo
Algoritmos comunes
Algoritmos basados en la función API CreateFileA
La interfaz BoundsChecker y el uso de INIT3
Empleo de INTI
Empleo de INT 68h
Búsqueda en el registro de Windows
Búsqueda en autoexec.bat

Puntos de corte
Punto de corte para software
Puntos de corte en una interrupción (BPINT)
Puntos de corte en una ejecución (BPX)
Puntos de corte de un área de memoria (BPR)
Puntos de corte hardware
Descripción de un programa de ejemplo empleado para detectar puntos de corte hardware
Métodos avanzados
Privilegios de los anillos
Maneras de saltar entre el anillo 3 y el anillo 0
Detección de SoftIce mediante VxDCall
Desactivación de la tecla de atención de SoftICE
Otros usos sencillos de SEH

Capítulo 3
Protección contra los desensambladores

Desensambladores habituales
Uso elemental de W32DASM
Algoritmos comunes
Protección contra las cadenas
Protección contra las funciones importadas
Código automodificable (SMC)
SMC pasivo
SMC activo
Edición del código del programa en tiempo de ejecución

Capítulo 4
Protección contra FROGSICE

Uso elemental de FrogsICE
Opciones básicas
Opciones avanzadas
Algoritmos comunes
VxDCall de la función VMM GetDDBList
Uso de la función CreateFileA

Capítulo 5
Protección contra PROCDUMP

Uso elemental de PROCDUMP
Definición y objetivo del volcado de memoria
Algoritmos comunes

Capítulo 6
Edición del cogido del programa

Métodos para editar el código del programa
Uso elemental de HIEW
Ediciion de un programa para detectar SoftICE
Algoritmos comunes
Comprobación de la integridad de los datos
Comprobación de la integridad de los datos de un fichero
Comprobación de la integridad de los datos en memoria
Otros métodos

Capítulo 7
El formato PE y sus herramientas

Descripción del formato de fichero PE
Descripción y funcionamiento del compresor – codificados PE
Creación de un codificador o compresor PE
Desventajas de los compresores – codificadores PE
Algunos compresores – codificadores PE
Algunos compresores – codificadores PE
ASPack
COdeSafe
NeoLife
NFO
PE – Compact
PE – Crypt
PE – Shield
PETITE
Shrinker
UPX
WWpack32

Formato de fichero PE
Comprobación del formato PE
Cabecera PE
Tabla de secciones
Direcciones virtuales, materiales y virtuales relativas (RVA)
Tabla de importaciones
Tabla de exportaciones
Configuración de un codificador PE
Inclusión de una sección nueva en un fichero
Redirección de los datos
Inclusión de código en una sección nueva
Bifurcaciones y variables
Funciones importadas
Creación de una tabla de importaciones
Proceso de una tabla de importaciones original
Uso de una función importada

Proceso TLS
Codificación
Elección del algoritmo de codificación
Algoritmos de codificación comunes
Violación del código
Áreas codificadas y no codificadas
Ejemplo de una codificación sencilla con un codificador PE
Diseño final de un codificador PE
Protecciones alternativas
Cargador de símbolos AntiSoftICe
Comprobación del punto de entrada al programa
RSA
Ejemplo de aplicación con RSA
Conclusión sobre el formato PE y compresores – codificadores PE

Capítulo 8
Otros programas utilizados por los crackers

Registry monitor
File Monitor
RISC’s Process Patcher
Ficheros de mandatos
The Costumiser

Capítulo 9
Cracking de entrenamiento

Cruehead – Crackme V1.0
Cruehead – Crackme V 2.0
Cruehead – Crackme V 3.0
Cosh – Crackme 1
Mexelite - Crackme 4.0
Immortal descendants – Crackme 8
Easy Serial
Harder Serial
Name / Serial
Matrix
KeyFile
NAG
Cripple
Duelist – Crackme # 5
Descodificación manual de un fichero
Modificaciones efectuadas directamente en memoria
TC – Crackme 9
Obtención manual del número de serie
Conversión del programa en un generador de claves
TC – Crackme 10
TC – Crackme 13
TC – Crackme 20
Zemoz – Matrix CrackMe
Zemoz – CRCME
Edición hexadecimal del programa
Utilización del cargador

Capítulo 10
Información complementaria sobre el Cracking

Origen y difusión
Crackers
Crackers y grupos conocidos
+HCU
Immortal descendants
Messing in Bytes – MiB
Crackers in Action – CIA
Phrozen Crew
United Cracking Force
DEViANCe
Ebola Virus Crew
Evidence
Da Breaker Crew
Recursos en Internet
Cracking e ingeniería inversa
Programación
Herramientas
Referencias
Grupos de cracking
Consejos básicos de los crackers
Cracking (Lucifer48)
Aplicación de instrucciones NOP (+ORC)
Parchear (MisterE)
Pensar como un cracker (rudeboy)
Herramientas (rudeboy)

Capítulo 11
Sección de referencia

Instrucciones básicas en ensambladores
Mensaje de Windows
Acceso al registro de Windows
Resumen de funciones de SoftICE
Definición de puntos de corte
Manejo de los puntos de corte
Modificar y mostrar memoria
Obtención de información sobre el sistema
Mandatos para los puertos de entrada y salida
Mandatos para controlar el flujo
Modo de control
Mandatos de personalización
Utilidades
Uso de las teclas del editor de líneas
Uso de las teclas de desplazamiento
Uso de las teclas de desplazamiento
Mandatos de ventana
Control de ventana
Mandatos sobre símbolos y fuente
Operadores especiales
Bifurcaciones condicionadas, no condicionadas e instrucciones SET
Bifurcaciones condicionadas
Bifurcaciones no condicionadas
Instrucciones SET
Algoritmos CRC – 32
Otros algoritmos aplicables a codificadores y compresores PE
Ejemplo de algoritmo de codificación
Mejoras menores a ProcDump
Interfaz de BoundsChecker
Obtención de ID
Definición del punto de corte
Activación del punto de corte
Desactivación del punto de corte inferior
Obtención del estado del punto de corte
Supresión de puntos de corte

0 comentarios:

Publicar un comentario