|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
Después utilizaremos otra forma de encontrarlo así entenderéis el por que del “fallo” del capitulo anterior cuando buscaba desempacar FSG “a mi manera”. |
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
Técnica del PUSHAD Esto ya lo vimos en capítulos
pasados así que iré rápido, si tenéis dudas consultad los cap 11 y 12. Abrimos el exe en Olly y pasamos
el PUSHAD con F7 una sola vez y hacemos el Follow in dump de ESP Sombreamos los 4 primeros bits
empezando por arriba a la izquierda en el dump ( los que pertenecen a EDI) y
ponemos un BP - hardware on access - Dword Corremos el crackme con F9 y caemos
aquí: 4429EF donde vemos el símbolo – que como dije en el capitulo
anterior nos indica el salto a un lugar lejano o a una dirección dentro de
otra sección del exe Lo pasamos pulsando una sola vez F7 y caemos
aquí: Como este crackme empieza a ser un
viejo conocido ya sabemos de sobra que este es el OEP. Hemos seguido los mismos pasos
para hallar el OEP que utilizamos a la hora de hallarlo en un exe comprimido
con Aspack o Pe compact: la técnica del pushad o como queráis llamarla. Otra forma que os sonara del
capitulo anterior, la llamare técnica del salto lejano que suena como a
kung-fu o a oriental que esta de ahora muy de moda. Técnica del salto lejano. Pues hacemos lo mismo que hice al
buscar el OEP en FSG en el capitulo pasado: desde el pushad donde
aparecemos al cargarse el crackme en Olly bajamos por el código hasta
encontrar un salto lejano a otra zona de código (sin pulsar tecla
ninguna, simplemente con la rueda del ratón o las flechitas de scroll
laterales) En este caso llegamos aquí y si os
fijáis y comparáis con la técnica del pushad anterior llegamos al mismo punto
que llegábamos siguiendo ESP en el dump y poniendo el BP hardware on access
Dword: 4429EF Ponemos un BP con F2 Y
corremos el crackme con F9 Cuando nos para en el BP que hemos
puesto pulsamos una sola vez F7 y llegamos al OEP Son dos caminos distintos pero
llegamos al mismo sitio. El segundo camino es mas rápido
pues solo debéis navegar por el código utilizando la ruedecilla del ratón
hasta encontrar el salto lejano que nos lleva a una dirección dentro de la
zona code. Veréis que las vueltas “tontas”
que dimos en el capitulo anterior analizando FSG tenían un fin: irnos
preparando para lo que viene después e ir viendo maneras de buscarnos la vida
de distintas formas a la hora de enfrentarnos a los distintos packers. Volcando el crackme para
dejarlo sin protección Una vez hemos encontrado el OEP de
cualquiera de las dos formas explicadas anteriormente utilizaremos el plugin OllyDump
– Dump debugged process Como en capítulos anteriores
cogemos el EIP as OEP
Le damos un nombre al archivo y lo
guardamos. Probamos el archivo que
acabamos de volcar y vemos que el crackme se ejecuta sin problemas, en siguientes
capítulos veremos que esto no siempre sale tan bien a la primera (por
desgracia). Como en todos los empaquetados en
este no podíamos ver las APIs ni las String references al cargarlo en Olly Nos muestra estas pocas APIs que
no nos sirven de nada
Y estas strings de las que no
sacamos nada en claro Cuando lo desempacamos: APIs a tutiplén Importante!!!:
si no podéis ver las strings en el crackme desempacado claramente como
se ven en esta imagen superior debéis marcar una opción en Olly: en el menú
Options de Olly abrimos debuggin options y vamos a la pestaña debug en search
for references in: marcamos la casilla
Memory block currently selected in disassembler. Con esta opción marcada ya veremos
las strings como en la imagen superior y podremos analizar el crackme. UPX vencido. Utilizando GUIPeX para
eliminar UPX: técnica del monje durmiente (vago- vaguisimus) Abrimos GUIPeX y arrastramos el
crackme comprimido hasta la ventana superior izquierda y allí se escribirá la
ruta y el nombre del crackme En la parte de la derecha en UPX
commands cambiamos compress que es lo que viene por defecto por
decompress que es lo que nos interesa
Pulsamos
…bueno creo que Shoulck nos tiene preparada una sorpresa sobre el tema
upx pero eso ya lo veremos mas adelante. Ahora si abrimos el desempacado en
Olly nos iríamos por ejemplo a la dirección 4250B2 que es
donde se halla la String Hey, you have done it (significa algo así como: Hey, lo hiciste)
y siguiendo la técnica del monje durmiente y no cansarnos demasiado
cambiaríamos el salto para hacer aparecer el cartelito. Si, debajo se ve unregistered,
pero eso os lo dejo a vosotros que el fin de este capitulo es aprender a
desempacar, no buscar el serial del crackme. Se acabo el capitulo pero no me
gustaría despedirme sin agradecer una vez mas (nunca es suficiente) a Shoulck la gran
ayuda que me esta prestando. Nos vemos. |
||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||
|