TY - BOOK AU - Zemánek,Jakub AU - Arribas Uguet,Fernando TI - Cracking sin secretos: ataque y defensa de software SN - 8478976280 PY - 2004/// CY - Madrid PB - Ra-Ma, KW - Informatica KW - Protección de datos KW - Seguridad informática KW - Medidas de seguridad N1 - Traducción de: Cracking bez tajemství; 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 Número 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 fisico del CD Ficheros de tamaño falso CDs sobredimensionados TOC ("Table of Contents') ilegal 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 variable) Comparación variable (tipo de datos largo) Conversión del tipo de datos Transferencia de datos Operaciones matemáticas Miscelánea Otras vulnerabilidades de las protecciones actuales CAPÍTULO 2. PROTECCIÓN CONTRA LOS PROGRAMAS DE DEPURACIÓN DEPURADORES MÁS HABITUALES SoftICE USO ELEMENTAL DE 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 uso de la gestión estructurada de excepciones SEH en desarrollo Algoritmos comunes Algoritmos basados en la función API CreateFileA La interfaz BoundsChecker y el uso de INIT3 Empleo de INT I Empleo de INT 68h Búsqueda en el registro de Windows Búsqueda en autoexec.bat PUNTOS DE CORTE Puntos de corte para software Puntos de corte en una interrupción (BPINT) Puntos de corte en una ejecución (BPX) Puntos de corte en 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 O 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 FRoGs10E Opciones básicas Opciones avanzadas ALGORITMOS COMUNES VxDCall de la función VM1VI_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 CÓDIGO DEL PROGRAMA MÉTODOS PARA EDITAR EL CÓDIGO DEL PROGRAMA USO ELEMENTAL DE HIEW Edición 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 Otrosmétodos CAPÍTULO 7. EL FORMATO PE Y SUS HERRAMIENTAS DESCRIPCIÓN DEL FORMATO DE FICHERO PE DESCRIPCIÓN Y FUNCIONAMIENTO DEL COMPRESOR-CODIFICADOR PE Creación de un codificador o compresor PE Desventajas de los compresores-codificadores PE Algunos compresores-codificadores PE ASPack CodeSafe NeoLite NFO PE-Compact PE-Ctypt 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 (R VA) 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 PILE MONITOR R!SC'S PROCESS PATCHER Ficheros de mandatos THE CUSTOMISER CAPÍTULO 9. CRACKING DE ENTRENAMIENTO CRUEHEAD - CRACKME V1.0 CRUEHEAD - CRACKME V2.0 CRUEHEAD - CRACKME V3.0 COSH - CRACKME I MEXELI I E - 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 LOSCRACKERS 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 ENSAMBLADOR MENSAJES 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 (110) 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 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óndel estado del punto de corte Supresión de puntos de corte CAPÍTULO 12. CONCLUSIÓN ÍNDICE ALFABÉTICO ER -