TORN@DO presents: cRACKER's n0TES
FAQ



Preguntas frecuentes
¿Cómo están relacionados los registros EAX, AX, AL y AH?
EAX es un registro de 32 bit (un ' doubleword', o ' double'). La parte más baja de (E)AX es AX, un registro de 16 bits (word) AX puede descomponerse en partes más altas y más bajas, AH y AL (estos son registros de 8 bits).

(E)AX = 934F93AB

Aquí la parte más alta es EAX=934F y la parte más baja de (E)AX es AX: 93AB. Éstos son los últimos 8 bits (byte) de él (recuerdas 2 bits = 1 hex). Se relacionan AH y AL directamente a este como AH=93, AL=AB. Ellos no son independientes. Modificando EAX modificas a AL, AH, etc... y modificando a AL cambia AX y EAX. (NOTA: lo que ves en SoftICE [en la ventana del registro] realmente es el valor en hex.) (NOTA 2: (E) normalmente indica que es un registro de 16 bit).

¿Cómo puedo usar el comando BPM en SoftICE para encontrar serials?
Éste es un comando muy útil. Una vez has encontrado donde tu serial ficticio se guarda, puedes querer hacer un BPM SEG:OFFSET r. Esto le dirá a SoftICE que rompa siempre que el programa intente una lectura [(r)ead] de tu serial ficticio (obviamente por que tendrá que validarlo). Otra forma es conseguir descifrar la rutina del código comprimido. Encuentra el comando que piensas que se descomprime en alguna parte. Pon un BPM SEG:OFFSET w en el. Reinicia el programa. BOOM! SoftICE aparece de golpe en medio de la rutina de descifrado donde el comando esta escribiendo [(w)ritten] en la memoria. Encuentra un espacio vacío y remienda esa dirección después de la rutina del descifrado;)


¿Qué hacen esas abreviaciones que están en la parte superior derecha del SoftICE?


    CoRN2:
  
  O D I S Z A P C 

  | | | | | | | | 
  | | | | | | | +------- Carry Flag 
  | | | | | | +--------- Parity Flag 
  | | | | | +----------- Auxiliary Carry Flag 
  | | | | +------------- Zero Flag (MUY UTIL! ) 
  | | | +--------------- Sign Flag 
  | | +----------------- Interrupt Flag 
  | +------------------- Direction Flag 
  +--------------------- Overflow Flag
    

¿Puedes darme alguna información detallada sobre los registros?
Registros de uso variado
EAX: - El acumulador. Uso general
EBX: - La base...
ECX: - el contador... principalmente para los bucles...
EDX: - El desplazamiento...


Registros de la pila
EBP - el Indicador de la Base... para la pila..
ESP - el indicador de la pila..


Registros del segmento
CS - Code Segment.(Segmento de código) Esto es donde las instrucciones son...
DS - Data Segment.(Segmento de datos) Esto es donde pueden accederse a los datos. Segmento de código al tratar con operaciones de strings.
ES - Extra Segment.(Segmento extra) Este segmento también puede usarse como un segmento de datos. Segmento de código al tratar con operaciones de strings.
SS - Stack Segment.(Segmento de pila) Este segmento es para las direcciones...


Registros del índice
ESI - el Indice del Origen. Usado por operaciones de string como procedencia.
EDI - el Indice del Destino. Usado por operaciones de string como destino.
(BX - BX también puede usarse como un registro de índice. Éstos registros se usan junto con los registros del segmento como un offset)

Así que,¿Qué quieren decir DS:SI entonces? Bien, simplemente ese DS apunta al segmento de datos y SI es un desplazamiento en el segmento de datos.


Estoy buscando una guía didáctica [inserta nombre]. ¿Puedes ayudarme?
¡Para encontrar la guía didáctica que estás buscando, simplemente comprueba el
PUBLIC TUTORIAL SEARCH ENGINE!


Soy solamente estúpido o es imposible conseguir que SoftICE escriba en un archivo. Digamos por ejemplo que quiero escribir una pantalla de SoftIce a un archivo de texto y así puedo examinarlo después. ¿Puede hacerse esto?

Pasos:

Primero lanza el symbol loader y vas a softice initialization settings. Pon history buffer size de más de KB, obviamente: -) (el valor por defecto es 256, no es bastante para un listado grande). Entonces lanza el SoftICE. Pon tus breakpoints y todo para llegar al código deseado. Desensambla por ejemplo con,

U CS:EIP L 1000

Y después CTRL-D inmediatamente para volver a Win9x/NT, lanza el Symbol Loader de nuevo y escoges File/Save SoftICE History As... Y el archivo guardado contiene tu código, SoftICE cargado, todos lo que tecleas (aun cuando estás trazando SIN la ventana de código adelante), etc.


¿Puedes decirme por favor qué llamadas necesito trazar?
Normalmente necesitas trazar las llamadas anteriores a hacer saltar el mensaje de error.


¿Puedes crackear por favor [inserta nombre aquí]?
Yo no acepto peticiones de cracks... ¡si me pides de nuevo que crackee algo, publicaré tu e-mail en
http://crackmes.cjb.net!!


¿Puedes enviarme por favor [inserta nombre aquí]?
Yo no te enviaré nada... Solamente ignorare este e-mail.


Yo tengo [inserta problema aquí] con [inserta nombre de herramienta aquí]. ¿Puedes ayudarme?
¡Haz la pregunta en
Fravia's Tools of the Trade Forum y conseguirás una respuesta!


¿Qué significa [eax], [ebx], etc - mi pregunta "[]" eso que es?

VERtiCES:

[]significa, los DATOS dentro de él.

Por ejemplo MOV EAX,DWORD PTR [EDX]
En la dirección EDX, imagina que los primeros 4 bytes son 05 04 AF EE. Así que, después de esta instrucción, EAX debe tener el valor EEAF0405 h (recuerdas, siempre es en orden inverso)


Soy un Newbie y necesito saber si es posible averiguar si algo esta comprimido o no.
Usa
GetTyp!


¿Que es HMEMCPY?

Volatility:

HMEMCPY es una llamada de API de Windows que usa memoria (RAM) para leer, manipular, comparar y almacenar strings (el texto que has introducido en un programa). La función toma la información que has entrado (como el nombre y número de serie en una pantalla del registro) y los pone en la memoria. La función procede entonces a manipular estos strings, moviendo y comparándolos (por ejemplo, comparando tú número de serie al correcto), y entonces decide si tu string es correcto o incorrecto. La función reenvía entonces esta información a la aplicación, y tu procedes como un chico bueno, o un chico malo.


¿Cómo encontrar espacio libre en la Sección del Código de un programa?

UFK:
Ejecuta ProcDump y pulsa en PE Editor. Abre tu programa designado. Ahora aprieta en el botón de 'Sections' y mira la sección del Código:

Name Virtual Size Virtual Offset Raw Size Raw Offset Characteristics
CODE 00076560 00001000 00076600 00000400 60000020




Virtual Offset:  El mismo, en memoria
Raw Offset:      El físico, en el archivo
Raw Size:        Bytes que los Segmentos del Código necesitaron
Virtual Size:    Bytes que los Segmentos del Código tienen


¿Ahora si Virtual Offset comienza en 1000 cómo viene en SoftICE y ves cosas con 4000000 o números así de largos? La respuesta para esa pregunta es, que hay una Imagen Base también, y ésa es una dirección para ser cargada por el programa PREFERENTE, añadida en el espacio de dirección. Recuerda, PREFERENTE, significan que puede cambiar bajo ciertas circunstancias.

Si echas una mirada a la descripción anterior, averiguarás que había 76600 - 76560 = A0h (240) bytes de espacio libre en la Sección de Código. Los Segmentos del Código comienzan en 400h (Raw Offset). Así Raw Offset + Virtual Size nos da donde hay espacio libre.


400 + 76560 = 76960

Ahora usa tu Editor Hex favorito y ve a 76960h... y disfruta usando tu espacio libre.


 

The cRACKER's n0tES esta dividido dentro de 12 partes principales:
 TX. Notas del Traductor
 00. INDICE
 01. Ensamblador para Cracker (CoRN2)
 02. SoftICE (Menú de arranque , Configuración, Comandos)
       
 1 Menú de arranque
       
 2 Configuración
       
 3 Comandos
 03. Breakpoints & Detalles de API de Windows
       
 1 Programas restringidos
       
 2 Cajas de diálogo
       
 3 Verificando el Tipo de unidad
       
 4 Acceso a archivos
       
 5 Acceso al Registro
       
 6 Cogiendo números de serie
       
 7 Accediendo a Tiempo & Fecha
       
 8 Generando ventanas
 04. Instrucciones de salto
 05. Instrucciones SET
 06. Tips & Trucos para Crackear
       
 1 Programas restringidos
       
 2 Dongles
       
 3 General
       
 4 Configuración de InstallSHIELD
       
 5 Protecciones con Archivo llave
       
 6 Pantallas molestas
       
 7 Límites de Runtime
       
 8 Serials
       
 9 Limites de Tiempo
       
10 Programas Visual BASIC
 07. Ventanas de Mensajes Para los Cracker
 08. Identificando funciones, Argumentos, y Variables (Rhayader)
 09. Los Sistemas de Protecciones de comerciales
       
 1 Armadillo
       
 2 C-Dilla SafeDISC
       
 3 SalesAgent
       
 4 SecuROM
       
 5 softSENTRY
       
 6 TimeLOCK
       
 7 VBox
 10. Bitmanipulation (Cruehead)
 11. Teoría general de Cracking
 12. FAQ

 +A. Cómo contactar conmigo
 +B. ¿Que es lo Nuevo?


 



The cRACKER's n0TES are Copyright 1998-2000 by TORN@DO of ID.
Todo los Derechos Reservados.
Traducido por
Revisado por X-Grimator.