El otro día, el amigo Akil3s del conocido blog "1gb de información" me realizó una entrevista cachonda ( no enseño las tetas, lo siento)al cual agradezco mucho.
Me quedé con ganas de hacer lo mismo, y le he pirteado la idea.
Para esta entrevista/charla/explicación he buscado al amigo L0ngin0x, una de esas personas, amante de lo que hace, que dedica su tiempo libre, y su dinero, en asistir a charlas a kilometros de su ciudad, dejando esos momentos de familia que todos necesitamos en nuestro tiempo, por aprender.
Como siempre en este blog, la entrevista va un poco en plan broma, mezclando la parte personal, con la parte técnica en la que este hombre destaca, la Ingienería Inversa.
Muchas gracias por tu ayuda, y espero que os sirva, como a mi, a comprender un poco mas ese mundo "reverso" y tener las nociones básicas, para poder empezar a buscar en google/amazon y demás.
A por ellos. !!!
¿Quién es L0ngin0x? de donde eres, de donde vienes, a donde vas?
L0ngin0s es un apasionado del mundo digital, posiblemente desde el mismo día que mis padres me concibieron.
Es una de esas empresas en donde saben que un activo muy importante es la formación continua de sus empleados y ayudan mucho a ello.
Creo que eres de los que piensas que si la montaña no va a Mahoma, Mahoma va a la montaña. ¿ Eres muy aficionado al montañismo?
Pues en realdad me gusta la montaña pero no mucho más que otras actividades, simplemente intento hacerle entender a mi cuerpo, que hay más vida que la que existe entre mi torso y mi teclado ;).
Unas palabras de ánimo para la gente que quiere "aumentar" sus conocimientos estudiando una carrera tan difícil como la informática, a edades avanzadas adultas.
No hace muchos años, alguien cercano a mí, me dijo que yo terminaría mis días de albañil (por aquel entonces yo trabajaba de peón albañil), sin embargo hoy se tiene que comer sus palabras.
El señor L0ngin0x se está haciendo hueco en el panorama de la ingeniería inversa, destripando los binarios en busca del hack perfecto xD. Ejemplos de ello son sus recientes publicaciones en su Blog resolviendo retos que muy pocos entiende, y que muchos menos se animan a resolver y así contribuir a que todos aprendamos.
Solución al reto unpackme- FSG 1.31 - dulek
Solución al reto XYZ_KeygenMe20110505_Dev
Solución al reto LaFarge's crackme #2
Resolución del FPR6: Reto Hacking de Julio – ¡Killo! ¡onde ectá mi clave!
Para empezar la "chicha" de la entrevista, ¿Qué es el Reverse?.
Reverse, reversing, ingeniería inversa o ethical cracking ahora tan de moda.
El reversing existe desde el inicio de los tiempos y se basa puramente en la necesidad humana de entender como están hechas las cosas que nos rodean.
Típica pregunta: ¿ Qué hay que estudiar, qué habilidades hay que entrenar para conseguir dominar el demonio que el software lleva dentro xD?
Como bien sabes kino, es difícil dar la formula exacta, pero básicamente es recomendable saber fundamentos de:
- Arquitectura de computadores. Recomiendo los libros de William Stallings y David Patterson.
- Sistemas operativos. Sin duda el mejor libro es el de profesor Andrew S. Tanenbaum, creador de minix.
- Programación (Ensamblador, C, ...).
Importante es conocer las herramientas que nos puedan ayudar en nuestra labor.
Y por supuesto horas, horas y horas traceando ejecutables y lo más imprescindible, pasión por todo lo que se hace.
¿Qué recursos (webs,foros,etc) recomiendas seguir para enterarnos de que va este mundo? Mojate xD.
Sin duda alguna, para sumergirnos en este mundo es imprescindible empezar por los cursos de Ricardo Narvaja “introducción al cracking con ollyDbg desde cero”. Repito, imprescindibles.
Posteriormente a ello podemos seguir tanto a Ricardo como a una legión de crackers latinos en su lista CrackSLatinoS dispuestos a ayudarnos en nuestro camino.
¿Qué software recomiendas para tales menesteres, y que hace cada software?.
Esta pregunta tiene tela y podríamos perfectamente anestesiar a tus lectores (nota kino: Hola papaaaaa) si damos una relación completa de herramientas, así que con tu permiso, me limitaré a dar las que considero más importantes.
- Decompiladores (Decompilers):
o Proceso inverso a la compilación, es decir, de un binario, obtenemos su código fuente.
o Algunos de ellos son Reflector, DeDe, DJ Java Decompiler, ...
- Desensambladores ( Disassemblers ):
o En este caso obtenemos del binario su código fuente, pero en ensamblador.
o Algunos de ellos son IDA Pro, OllyDbg, Immunity Debugger, ...
- Depuradores (Debugguers)
o Esta herramienta nos permite ejecutar un binario instrucción por instrucción, viendo en todo momento el estado de la memoria del proceso, registros internos del micro y la pila.
o Algunos de ellos son IDA Pro, OllyDbg, Immunity Debugger, ...
- Editores para Portable Executable:
o Herramientas que nos permiten editar los encabezados de un ejecutable
o Algunos de ellos son PETools, PEEditor, LordPE Deluxe, ...
- Editores hexadecimales
o Con estos editores podemos gestionar ficheros en su estado nativo, esto es, byte a byte.
o Algunos de ellos son Ultra Edit, HxD, WinHex...
- Dumpeadores de memoria (Dumpers)
o Permiten volcar a un fichero el contenido de una parte de la memoria RAM.
o Algunos de ellos son virtualsectiondumper, OllyDump, PETools.
- Monitores de procesos
o Son herramientas de monitorización del sistema operative que muestra en tiempo real la actividad del sistema de ficheros, registro, procesos e hilos.
o Algunos de ellos son las herramientas contenidas en la suite de SysInternals como el Proccess Monitor.
- Scanners
o Estas herramientas nos ayudan en la detección de packers, Cryptors, Compiladores, Packers... con los que está construido un ejecutable.
o Para mí la mejor de ellas es RDG Packer Detector.
Seguro que me dejo alguna por el camino.
Leyendo tu biografía personal, se me ocurre la eterna pregunta, pero la voy a hacer con mas mala leche xD:
Spectrum o Amstramd?
Spectrum for ever.
Sony, aunque estoy algo mosqueado con la calidad de sus portátiles Vaio.
PC
Ambos
Android / windows phone
Últimamente estoy dedicando muchas horas al estudio de cómo protegen software ciertas aplicaciones (algunas comerciales) denominadas packers como Themida, Execriptor, WMProtect, ASPack, Armadillo, ...
¿Qué opinas de la "moda" que hay hoy en día con el cloud y la virtualización?
Creo que la virtualización ha sido uno de los mejores inventos del siglo, me parece absolutamente necesario.
Quisiera darte las gracias por este hueco que has hecho en tu blog y pedirte que sigas con este afán de compartir tus conocimientos con todos nosotros.
Es muy gratificante ver como hay gente que gasta su tiempo ayudando a otros y sin pedir nada a cambio. Esa es la esencia de la red y por la que gente como tú y como yo, estamos aquí.
Si además con esta publicación, conseguimos que al menos una persona se ponga a estudiar, el objetivo se habrá cumplido.
A estudiar !!!!!!!!!!!!!!!!!!
Muchas gracias por leerme/nos.