TORN@DO presents: cRACKER's n0TES

Manipulación de Bits (Cruehead)




En primer lugar, hablemos sobre lo que realmente es un byte ...para muchos de vosotros esto no será nada nuevo, así que puedes saltar esta parte si deseas. Un byte consiste en 8 bits que solo pueden contener un valor de 0 o 1. Por ejemplo, así es cómo aparece la letra ' X' en forma binaria:

X - 01011000

¿Cómo sé yo esto? Puedes conseguir esta información bastante rápidamente... Primero necesitas el valor en HEX de la letra ' X' o el valor en DEC. Una manera muy cómoda de conseguir el valor está usando nuestro debugger querido - SoftICE. En primer lugar entra en SoftICE (Ctrl-D) y en la línea de comandos introduce:


? 'X'


Ahora verás algo como ' 00000058 0000000088 '. Eso significa que 58 es el valor en hex de la letra X y que 88 es el valor decimal. También puedes conseguir esta información de otras maneras, mirándolo en una tabla ASCII es quizás la mejor manera. Ahora que sabes el valor dec de la letra lo puedes cargar en la calculadora que viene con Windows. Es uno de los pocos programas que Microsoft ha desarrollado y que realmente puede ser útil. Así, ahora que estás en la calculadora, asegúrate de que tienes elegido la configuración ' avanzada' en el menú y introduce el valor en dec que conseguiste previamente - 88 en este caso. Ahora pulsa sobre ' la casilla de verificación' del botón bin .. y voila - conseguiste la forma binaria de la letra ' X'... ¿bonito, huh?

Ok, ahora sigamos a la parte que todos han estado esperando - ¡las instrucciones de manipulación de bits!

Hay un par de estas instrucciones, y verás muy a menudo esto cuando estés en la ' autopista' del cracking. Nosotros hablaremos sobre lo más común, comienza con...




·XOR·
Esta instrucción es muy importante, y quizás la razón más grande de por qué he escrito este ensayo. ¿Qué tipo de información podemos conseguir sobre esto? En primer lugar, echemos una mirada a lo que PcHelp tiene que decir sobre eso:

' Realiza un OR exclusivo de los operandos y devuelve el resultado en el destino. '


¿Ok, iluminó eso las cosas para ti? Bien, no todos piensan así, así que intentaré explicarlo. Remontémonos de nuevo a nuestro ejemplo y usa la letra ' X'. ¿Qué piensas que haría una instrucción como ' XOR 88,65 '? Como ya sabes - 88 es el valor en dec de la letra ' X' y 65 es el valor en dec de la letra ' A' (debes poder deducir eso ahora). Echemos una mirada a lo que ocurre:


  Carácter     Valor Dec         Forma Binaria 
  X             88                01011000

  A             65                01000001

  Resultado después de XOR 85, 65:
                25                00011001
  

Ok, enfoquemos en la parte binaria. Lo que XOR realmente hace es que compara dos bit entre si. Si ellos son el mismo, el bit del resultado se pone a 0, si son diferentes el bit del resultado se pone a 1. En cambio podemos mostrarlo así:

0011
0101
----
0110

Ok, ahora que tú (esperanzadamente) entiendes cómo funciona, tu próxima pregunta probablemente será algo como '¿ para qué puede usarse? '. XOR se usa mucho cuando se necesita de un encriptado simple. Te mostraré por qué aquí:

XOR 88,65 = 25 (desde nuestro ejemplo)
XOR 25,88 = 65
XOR 25,65 = 88

¿Ves qué fácil es conseguir el valor original? Echa una mirada a esto:

X "XOR'eado" con 57 es 89 (nota que X simboliza ' la incógnita' aquí)

Y ahora quieres saber lo que es X... entonces simplemente puedes usar XOR 57,89 y conseguirás el valor de X. Otra cosa para lo que puede ser buena esta instrucción es si quieres poner algo a cero... digamos que quieres vaciar el registro EAX. Hay algunas maneras de hacer esto, incluyendo,:

SUB EAX,EAX
MOV EAX,0

Efectivamente, las dos instrucciones funcionan bien, pero podemos usar XOR en cambio. .. ¿pero cómo y por qué?

XOR EAX,EAX

Que también pone EAX al cero... la única diferencia es que este método es más rápido ( tarda menos tiempo de CPU) que los otros y eso es por lo que normalmente se usa. Así que ahora cuando veas esto mientras estas crackeando, sabrás qué está pasando. Todas las otras instrucciones de manipulación de bits funcionan similarmente, echa una mirada a...




·AND·
Ahora que sabes cómo trabaja XOR, es fácil entender cómo AND funciona... Usaremos nuestro ejemplo una vez más:


  Carácter     Valor Dec         Forma Binaria 
  X             88                01011000
  A             65                01000001


  Resultado después de AND 85, 65:
                64                01000000
  

También AND compara todos los bits uno por uno.
Si los dos se ponen a 1, el bit del resultado también se pone a 1, si no el bit del resultado se pone a 0. Ok, rápidamente sigamos a otra instrucción.



·OR·
Una vez más nuestro ejemplo se usa:

  Carácter     Valor Dec         Forma Binaria 

  X             88                01011000
  A             65                01000001

  Resultado después de OR 85, 65,:
                89                01011001

  

Como los otros también, OR compara los bits uno por uno. Si ambos bits son 0, pone al bit del resultado a 0, si no lo pone a 1.


 

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.