{"id":762,"date":"2026-04-11T21:13:40","date_gmt":"2026-04-11T21:13:40","guid":{"rendered":"https:\/\/hackcuba.net\/?p=762"},"modified":"2026-04-11T21:13:40","modified_gmt":"2026-04-11T21:13:40","slug":"introduccion-al-cracking-con-ollydbg-desde-cero-ii","status":"publish","type":"post","link":"https:\/\/hackcuba.net\/?p=762","title":{"rendered":"Introducci\u00f3n al Cracking con OLLYDBG desde cero (II)"},"content":{"rendered":"\n<p>Ya conocemos las partes que se ven en la ventana principal del OLLYDBG, aunque tambi\u00e9n hay m\u00e1s ventanas que no se ven directamente; se puede acceder a ellas, tanto por el men\u00fa, como por los botones de las vistas.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p>Veremos qu\u00e9 representa cada uno:<\/p>\n\n\n\n<p>El bot\u00f3n L o VIEW-LOG nos muestra lo que el OLLYDBG escribe en la ventana del LOG lo cual puede ser configurado para mostrar diferentes tipos de informaci\u00f3n. Por defecto, en la ventana del LOG va guardando all\u00ed informaci\u00f3n sobre el arranque y acerca de la informaci\u00f3n escrita en el mismo por los diferentes BREAKPOINTS CONDICIONAL LOGS, lo cual se ver\u00e1 mas adelante. Por ahora vemos all\u00ed la informaci\u00f3n del proceso que arranc\u00f3: en este caso, el crackme de cruehead, las dll que cargadas y ciertos tips sobre el an\u00e1lisis.<\/p>\n\n\n\n<p>Una de las opciones m\u00e1s importantes de esta ventana es la de loguear a una fila para ciertas situaciones en que deseemos guardar la informaci\u00f3n en una fila de texto, en ese caso CLICK DERECHO-LOG TO FILE.<\/p>\n\n\n\n<p>El bot\u00f3n E o VIEW-EXECUTABLES nos muestra la lista de los ejecutables que utiliza el programa: exe, dlls, ocxs, etc.<\/p>\n\n\n\n<p>Aqu\u00ed tambi\u00e9n el bot\u00f3n derecho tiene muchas opciones que por ahora no veremos ya que estamos revisando en forma general el OLLYDBG.<\/p>\n\n\n\n<p>El bot\u00f3n M o VIEW \u2013 MEMORY nos muestra la memoria ocupada por nuestro programa; all\u00ed se ven las secciones del ejecutable, las dll que utiliza el proceso, as\u00ed como el stack y diversas secciones asignadas por el sistema. Muchas veces al correr los programas, los mismos realizan nuevas asignaciones de memoria en tiempo de ejecuci\u00f3n.<\/p>\n\n\n\n<p>Con clic derecho podemos hacer SEARCH en la memoria para buscar en ella strings, cadenas hexa, unicodes etc. Adem\u00e1s nos da la posibilidad de colocar diferentes tipos de breakpoints en la secciones, as\u00ed como tambi\u00e9n la posibilidad de cambiar el acceso a las mismas con SET ACCESS. Ya profundizaremos en esto.<\/p>\n\n\n\n<p>El bot\u00f3n T o VIEW-THREADS nos da el listado de los THREADS del programa.<\/p>\n\n\n\n<p>Aunque no sabemos a\u00fan qu\u00e9 es esto, y la explicaci\u00f3n llegar\u00e1 en los pr\u00f3ximos art\u00edculos, es bueno ir familiariz\u00e1ndose con d\u00f3nde est\u00e1 cada cosa. Luego aprenderemos qu\u00e9 es y c\u00f3mo se usan.<\/p>\n\n\n\n<p>El bot\u00f3n W o VIEW-WINDOWS nos muestra las ventanas del programa. Puesto que a\u00fan no ha corrido, no hay ventanas, as\u00ed que estar\u00e1 vac\u00eda.<\/p>\n\n\n\n<p>El bot\u00f3n H o VIEW-HANDLES, nos muestra los handles; por ahora, local\u00edcenlo. Ya explicaremos qu\u00e9 es y para qu\u00e9 sirve<\/p>\n\n\n\n<p>El bot\u00f3n C o VIEW-CPU nos retorna a la ventana principal del programa.<\/p>\n\n\n\n<p>El bot\u00f3n \/ o VIEW-PATCHES nos muestra los parches si el programa ha sido modificado. Por ahora estar\u00e1 vac\u00edo al no presentar cambios<\/p>\n\n\n\n<p>El bot\u00f3n K o VIEW-CALL STACK nos muestra el call stack, que es el listado de los calls que entremos hasta el punto donde el programa est\u00e9 detenido.<\/p>\n\n\n\n<p>El bot\u00f3n B o VIEW-BREAKPOINTS es el listado de los breakpoints comunes colocados en el programa. No muestra los hardware breakpoints ni los memory breakpoints aqu\u00ed, solo los BP comunes.<\/p>\n\n\n\n<p>El bot\u00f3n R o VIEW-REFERENCES nos muestra la ventana de referencias la cual nos da los resultados de efectuar una b\u00fasqueda de referencias en el OLLY<\/p>\n\n\n\n<p>El bot\u00f3n \u2026 o VIEW-RUN TRACE nos muestra el listado si hemos hecho alg\u00fan RUN TRACE en nuestra m\u00e1quina, y tiene tambi\u00e9n la posibilidad de elegir LOG TO FILE para guardar el resultado del traceo en un archivo txt<\/p>\n\n\n\n<p>Bueno hasta aqu\u00ed un paneo a vuelo de p\u00e1jaro por los botones mas importantes. No detallaremos la explicaci\u00f3n porque a\u00fan antes hay que aprender algo de ASM y practicando el uso del OLLYDBG podremos ir aclarando m\u00e1s profundamente para qu\u00e9 sirve cada bot\u00f3n y cada OPCION. La idea es ir familiariz\u00e1ndose con d\u00f3nde est\u00e1n las cosas que veremos en las pr\u00f3ximas entregas.<\/p>\n\n\n\n<p>C\u00d3MO CONFIGURAR EL OLLYDBG COMO JIT ( JUST IN TIME DEBUGGER) Aclaro que no conviene tener configurado el OLLYDBG constantemente COMO JIT. Solo conviene hacerlo en ocasiones especiales, ya que al estar como JIT capturar\u00e1 el error de cualquier programa de nuestra m\u00e1quina y arrancar\u00e1 solo, lo cual puede resultar molesto si no estamos debuggeando o crackeando. Por lo tanto les ense\u00f1o c\u00f3mo se configura para casos especiales, pero conviene dejarlo con la opci\u00f3n que trae por defecto, en la cual no est\u00e1 como configurado JIT.<\/p>\n\n\n\n<p>Para colocar el OLLYDBG como JIT vamos a OPTIONS-JUST IN TIME DEBUGGING<\/p>\n\n\n\n<p>Se activa los botones MAKE OLLYDBG JUST IN TIME DEBUGGER y DONE<\/p>\n\n\n\n<p>Para quitarlo, en el mismo lugar se activan RESTORE JUST IN TIME DEBUGGER y DONE<br><br>Bajamos el plugin COMMAND BAR el cual puede ser descargado de <a href=\"http:\/\/ollydbg.win32asmcommunity.net\/stuph\/g_cmdbar300108.zip\">AQU\u00cd<\/a>.<br><br>Ahora, antes que nada, crearemos una carpeta para los PLUGINS en nuestra m\u00e1quina. Yo la cre\u00e9 en C:\/ y la llamare PLUGINS. Nada m\u00e1s. Ahora deberemos configurar el OLLYDBG para que reconozca esta carpeta como la que contendr\u00e1 los plugins.<\/p>\n\n\n\n<p>Para ello en el OLLYDBG vamos a OPTIONS-APPEARANCE y en la ventana que se abre vamos a la pesta\u00f1a DIRECTORIES. Vemos que el path de los plugins (PLUGIN PATH) en realidad est\u00e1 apuntando a la carpeta donde est\u00e1 el OLLYDBG.exe y podr\u00eda dejarse all\u00ed, pero a m\u00ed me gusta tener los plugins separados, por lo tanto donde dice: PLUGIN PATH-BROWSE busco la carpeta que cre\u00e9 para mis plugins.<\/p>\n\n\n\n<p>All\u00ed se elige la carpeta PLUGINS que creamos y saldr\u00e1 el aviso de que se debe reiniciar el OLLY para que reconozca la nueva carpeta de plugins. Pero antes deberemos copiar el contenido descargado del Comand Bar a la carpeta de plugins.<br><br>All\u00ed se copiar\u00e1 todo el contenido y se pegar\u00e1 en la carpeta PLUGINS.<br><br>All\u00ed estar\u00e1 el contenido del plugin Command Bar en la carpeta PLUGINS. Para cada plugin que se descargue y se agregue solo deber\u00e1 copiarse su contenido en esa carpeta. Muchas veces ser\u00e1 suficiente con copiar solo la dll.<\/p>\n\n\n\n<p>Ahora se cierra el OLLYDBG, si a\u00fan estaba abierto y se reinicia.<br>Veremos que en el men\u00fa PLUGINS aparece el COMMAND BAR y las opciones del mismo.<br><br>A su vez, en la parte inferior del OLLYDBG veremos la COMMAND BAR instalada.<br>Es una barra para teclear comandos que nos facilitar\u00e1 mucho las cosas. m\u00e1s adelante veremos su uso; por ahora lo importante es saber agregar plugins.<\/p>\n\n\n\n<p>Para quitar cualquier PLUGIN, bastar\u00e1 con solo eliminar la dll correspondiente de nuestra carpeta PLUGINS y reiniciar el OLLYDBG. Les aconsejo que dejen siempre activa la COMMAND BAR.<\/p>\n\n\n\n<p>Finalmente, se inicia nuevamente el crackme de CRUEHEAD EN OLLYDBG<br><br><\/p>\n\n\n\n<p>Las teclas mas usadas en el OLLYDBG son: F7: Ejecuta una sola l\u00ednea de c\u00f3digo (si est\u00e1s en un CALL, entra al mismo a ejecutarlo por dentro) F8: Ejecuta una sola l\u00ednea de c\u00f3digo (si estas en un CALL, no entra al mismo: lo ejecuta completo sin entrar y sigue en la siguiente l\u00ednea luego del CALL)<\/p>\n\n\n\n<p>Esas dos formas de tracear manualmente son verdaderamente diferentes y seg\u00fan cada caso usaremos F7 o F8 lo cual veremos m\u00e1s adelante.<\/p>\n\n\n\n<p>F2: Coloca un Breakpoint com\u00fan en la l\u00ednea que marcas con el mouse o est\u00e1 agrisada en el listado. Para quitar el BP se activa nuevamente F2.<br><\/p>\n\n\n\n<p>Por ejemplo:<br><br><br>Quiero poner un BP en 40101A,&nbsp; pues marco con el mouse esa l\u00ednea<br><br><br>Al hacer clic una sola vez se marca y queda agrisada como vemos en la imagen. Luego se activa F2.<br><br>Vemos que se torna roja la zona de la direcci\u00f3n; eso significa que hay activo un BP o Breakpoint all\u00ed. Si se activa nuevamente F2, se elimina.<\/p>\n\n\n\n<p>F9: Para Correr el programa el procedimiento es similar a RUN. Con esto, el programa correr\u00e1 hasta que encuentre alg\u00fan BREAKPOINT o alguna EXCEPCION que lo detenga o FINALICE por alg\u00fan motivo. Al activar RUN veremos en la esquina inferior del OLLYDBG la palabra RUNNING o sea que esta CORRIENDO.<\/p>\n\n\n\n<p>All\u00ed se inicia el CRACKME DE CRUEHEAD. Lo podemos ver correr<br><br>Se PAUSA la ejecuci\u00f3n en OLLYDBG apretando F12 o DEBUG\u2013PAUSE<\/p>\n\n\n\n<p>Vemos que el OLLYDBG cambia para mostrar PAUSED, o sea, que esta PAUSADO. Podemos volver a hacerlo correr con F9 o DEBUG-RUN.<\/p>\n\n\n\n<p>Para cerrar el programa que se est\u00e1 DEBUGGEANDO se activa DEBUG-CLOSE<br><\/p>\n\n\n\n<p>Bueno esto ha sido una mirada a vuelo de p\u00e1jaro del OLLYDBG, la cual profundizaremos m\u00e1s adelante pues tiene much\u00edsimas opciones y configuraciones que seguiremos estudiando en las pr\u00f3ximas entregas. Es muy \u00fatil que bajen el programa lo configuren y miren d\u00f3nde est\u00e1n las cosas que muestra este tute, as\u00ed como le agreguen el plugin para practicar y hagan correr y pausar el CRACKME DE CRUEHEAD., Prueben a ponerle un Breakpoint y practiquen esas cosas para que en la segunda entrega est\u00e9n mas familiarizados con el mismo y podamos avanzar lento pero seguro&#8230; y sin dudas.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ya conocemos las partes que se ven en la ventana principal del OLLYDBG, aunque tambi\u00e9n hay m\u00e1s ventanas<\/p>\n","protected":false},"author":2,"featured_media":737,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,36],"tags":[222,4,223,38],"class_list":["post-762","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hacking","category-proyecto-blackhat","tag-cracking","tag-hacking","tag-ollydbg","tag-proyecto-blackhat"],"_links":{"self":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts\/762","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=762"}],"version-history":[{"count":1,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts\/762\/revisions"}],"predecessor-version":[{"id":763,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/posts\/762\/revisions\/763"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=\/wp\/v2\/media\/737"}],"wp:attachment":[{"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=762"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=762"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hackcuba.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=762"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}