Bien en la clase anterior buscamos el Mago Negro jalamos el Registration files que fue la leyenda buscamos
con Edith Saint encontramos una referencia de salto condicional incondicional.
Jota Jota N A ESA a esa ventana que hacía aparecer esa leyenda Registration filet ahora vamos a encontrar
el ófset es decir el desplazamiento dentro del archivo binario.
Cómo se hace esto desde el ensamblador.
Se hace desde el menú gato como se puede ver acá y después dentro de las cuatro opciones de Katu hay
que elegir la que dice Gato lo que hay Yosi o sea ir hacia localizacion dentro del código.
Okey desde esa ventana vamos a ver que podemos observar en la parte inferior el offset dentro del binario
de hecho si se fijan va a decir que es el upset dentro del binario y Novara el nombre en este caso WinRAR
95.1.
Así que para no confundirse nunca se les está diciendo que es un offset de algo punto ExE ya saben que
es un obseso de algo binario compilado que si uno obra sobre ese offset de algo binario compilado lo
va a tener que hacer para modificarlo en un principio y que los datos queden plasmados para siempre
con un editor hexadecimal.
Como vamos a ver en la próxima clase primero se puede probar todo virtual acá.
En este software pero modificando esas líneas en la RAM.
Ok.
Pero como dije si uno quiere volver a grabar el binario tiene que utilizar el offset dentro del archivo
punto ExE.
Vamos a hacerlo hoy ya RFEDI Yourself en la clase anterior.
Averiguamos qué línea hacía la comparación con la frase Registration fail es decir el Mago Negro.
Llegamos hasta esta ventana en donde nos decía que este string ha sido referenciado por un salto condicional
o incondicional.
Jota Jota né que son los que buscamos en esta dirección de memoria cero 041 13 CTF vamos y anotarla
a anotarla 0 cero 41 3 C 7 0 0 41 13 7 F si lo que está entre paréntesis nueva es la dirección de la
memoria del programa es ensamblado.
Cómo averiguamos el ófset en el binario.
Bueno primero vamos a esa línea dentro del código de ensamblado.
Cómo vamos vamos acá arriba donde dice Katu menú Matuk y donde dice Ghouta location es decir ir a una
localización del código a un lugar adonde la que acabamos de anotar.
La Norte acá en este bloque se alcanza a ver cero cero que hay
cero cero decía cuarenta y uno tres se siete.
F si es verdad nos tienen que llevar a un Jota Jota n hay dentro del código de ensamblado.
Vamos a ver si cierto bien como podemos ver acá arriba ahora es en azul nos pone la línea que le pusimos.
Estamos en la línea 00 41 13 7C el programa que ejecuta la instrucción en código ensamblador ejecuta.
JN Sí Gotan es una comparación que salta si los datos no son iguales a dónde salta a esta dirección
de memoria no nos importa que haya acá podemos seguir buscando pero ya sabemos dónde hace la comparación.
Cómo averiguamos esto mismo en el ófset en hexadecimal donde tenemos que ver un 75 porque es un JND
75 dentro del código acá abajo
dice ófset ófset Ben.
Dice dentro de cada data de esto es la dirección que acabamos de poner y dentro de buena dice infantil
y acasa alcanza a leer que es el archivo WinRAR bueno creanme que dice punto ExE ok.
Y este es el offset dentro de el punto eixe.
Eso sí tenemos que agarrar con el editor hexadecimal anoten triples cero 132 7 F la h no la ponga porque
es el tipo de numeración que se hexadecimal ok vamos a antes de plasmar esta reforma vamos a probarlo
en forma virtual sin modificar realmente el ejecutable lo podemos hacer con este programa en la próxima
clase.