La ingeniería inversa como dijimos es ver qué hace funcionar a una cosa.
En el caso del software practicar ingeniería inversa sería de ensamblar.
Cuando nos dan un binario y obtener la receta la forma en que está programada en código ensamblador
que es uno de los lenguajes de más bajo nivel es decir más cerca del código máquina de código de la
máquina entendible por un ser humano.
Una vez que tenemos la receta que hicimos ingeniería inversa como vimos podemos dedicarnos a estudiar
el código solamente estudiarlo pero si decidimos modificar la lógica del código en ese caso estaríamos
haciendo cracking de software.
Entonces concretamente como dice Acá el cracking de software consiste en modificar la lógica del programa
original se denomina también cracking de software al hecho de romper el funcionamiento normal de una
pieza de software.
Por ejemplo un sistema operativo si se hace en tiempo de ejecución significa que de alguna forma podemos
lograr la ruptura de la lógica normal del software mientras éste está funcionando.
En este caso se ha roto el funcionamiento de Windows lo voy a mostrar ahora en laboratorio para que
vean cómo se puede llegar a hacer en honor a la historia esto que está acá es una bomba fork una bomba
de anidado infinito que lo que hace es echar por tierra o terminar por colgar por por por romper también
en tiempo de ejecución un sistema operativo Unix o Newco Linux.
Habría que probarlo en Android que también está basado en Unix en realidad el 99 por ciento de los software
de hoy en día se basan en la distribución de software de birle el BSD que es una de las instrucciones
de Unix de la primera época que les regalaban en las casas de estudio en este caso la Universidad de
Berkeley y si vamos a dar un curso de sistemas operativos libres con Linux y toda su historia desde
Unix entonces vamos a ver que esto se puede llegar a lograr hacer en tiempo de ejecución.
Vamos a ver uno de los de la formas de parchear un programa es decir de modificar su lógica que justamente
vamos a utilizar nosotros parchea en tiempo de ejecución que significa el tiempo de ejecución es cuando
están dando y en la otra condición cual es la que no es el tiempo de ejecución.
Cuando yo tengo el binario y antes de hacerle doble click lo abro con un editor hexadecimal y modifico
el código con el software parado digamos sin funcionar y posteriormente hago doble clic a guardar y
ahí se ve la modificación pero modificación en tiempo de ejecución para lograr que un programa se registre
por ejemplo a nombre nuestro o a nombre del Hombre Invisible quien no quiera se pueda hacer también
en tiempo de ejecución con un Patcher en RAM que es el que vamos a estudiar nosotros.
Bien lo dejo para que derroten el examen de este capítulo 1 pero no sin antes mostrarle un poco de práctica
hallarlas yourself.
Vamos a mostrar qué sabor tiene el cracking hacer cracking en este caso romper la ejecución del código
no la lógica sino el código en si vamos a romper Windows para no ser descorteses.
Este es un Windows antiguo 98 laicidad que viene con él civi de gires ok.
El Gines 9.8 ya lo traía.
Vamos a abrir el recibo.
Vamos a presionar contra Lescay que es lo mismo que hacer clic en el botón de Start porque voy a hacer
es ir a donde dice erran.
Fíjense en esa época en esa época se sabía que los Windows tenían reservados.
No puede borrar ciertas palabras.
De hecho se dieron cuenta cuando quisieron hacer una carpeta del escritorio llamada HAWX.
Una persona tenía archivos auxiliares puso HAWX enter y cuando enter no quedó el nombre volvió a decir
Nueva Carpeta.
Cómo lo volvió a renombrar puso a wikis enter Nueva Carpeta después quiso hacer lo mismo con la palabra
con puso CBN enter y no se lo tomó empezaron a pensar por qué está haciendo esto por qué está por qué
no no puedo escribir esas tres letras justos.
Qué pasa.
Bueno eso en realidad es porque con una variable interna que significa consola y la UE X es por auxiliar
la cosa es que si yo no te lo deja hacer.
Si yo fuerzo la lógica del código y le digo hacelo igual.
Fíjense lo que pasa.
Cómo lo puedo forzar para que lo haga.
Bueno me voy o me dice Randa ejecutar.
Simplemente le pongo le puse la ubicación por ejemplo barra con barra con barras barras y como no lo
puede hacer se produce cracking del software.
La ruptura acá está barracón barracón cuando presiona Enter fíjense lo que pasa muy alegremente el Windows
se rompe presionante otra vez se rompe de tanto presionar recupera a veces a veces no vamos a seguir
presionando Enter bueno ahí se murió.
Lo mismo si le hubieran puesto barra a X barra o X.
Así brincamos el código de un Windows a otra máquina que tengo acá ahora tengo undãcimo Linux.
Si vamos a colocarle acá el comando top top lo que hace es mostrar todos los procesos y es para que
vean que están dando de hecho ven que estoy escribiendo pero para que vean que hay movimiento.
Van a ver que esto va cambiando constantemente va cambiando acá la DOC está acá Kontxi y abajo tenés
una consola de robot.
Se puede hacer en cualquier versión de GNU Linux si casi todos son vulnerables y escribí la bomba Fort
es dos puntos.
Paréntesis abierto paréntesis cerrados llave abierta un espacio por eso en internet hay gente que dice
que no funciona porque no le ponen espacio un espacio dos puntos el carácter pide esa línea otros dos
puntos otro espacio más el personal ahí cierro llave.
Punto y coma dos puntos.
Qué pasa cuando yo muy alegremente le doy a esto.
Bueno fíjense en cuanto el orientes me genera un proceso y automáticamente se colgó este Linux van a
ver ya está ahí se colgó.
En realidad se fijan estoy moviendo el puntero de la máquina virtual pero no se mueve otro puntero tan
simpático que hay acá se mueve el Koky si no refresca cada un segundo y se fijan.
Este también quedó muy pero muy guiado.
Sí así que yo ya por más que presione cualquier tecla está completamente colgado.
Ok.
Bueno esos son ejemplos de cracking a salir de la máquina de la máquina virtual visitar las dos rotas
en un Windows moderno se puede hacer una especie de bomba fork.
Si desde la consola.
Por ejemplo ejecutar un símbolo del sistema por ejemplo.
Vamos vamos a ir vamos a irnos al éxito no estamos acá de escritorio si es que está en español acá estamos.
Vamos a generar un archivo con la orden copy con copy Icon vamos a ponerle Bum
Bum punto CMD por.
Es una bombita
Kotick con clon de consolas acuerdo orden consolas copiadas de la consola.
Ahí está vamos a ponerle todo si me lo toma así dos puntos a una etiqueta.
Vamos a ponerle una etiqueta ejecute una aplicación Star pero no le ponemos aplicación y después la
última línea es que retorne a la etiqueta.
Ok.
Grabamos con control zeta el archivo y bueno esto es una cosa muy básica no vamos a salir con éxito.
Me tuvo que haber generado el archivo Ovum en el escritorio.
Acá está acá abajo y yo lo ejecuto que me hace me hace algo muy parecido a la bomba forna más que con
interfaz gráfica.
Empieza a abrir ventanita ventanita ventanita ventanita ventanita hasta que esté Windows.
De un momento a otro a presentar uno de sus hermosas pantallas azules pero antes de empezar a mostrar
pantalla medias blancas y cosas muy extrañas.
Ya se murió.
Fíjense que apenas me puede copiar el puntero del Windows okey siga habiendo ventanas como loco también.
No es tan efectivo como la bomba Fort pero es un anidamiento bien ahora si derrota el examen y nos vemos
en el capítulo 2.