[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fSNJIfnu52Cfjoi-S5I2WBNrTFIhWIqCZmqs4n7PXI_0":3,"$fPOZdEDtLnnDGF-GSM9q-YOFKV1frI5vSBS3dSHWlSIo":57},{"slug":4,"title":5,"summary":6,"category":7,"author":10,"image_url":16,"image_thumb_url":16,"published_at":17,"updated_at":18,"body_html":19,"keywords":14,"reading_time_minutes":20,"related_articles":21,"related_course":14,"related_specialty":14},"saltando-validaciones-del-registro-dat-y-reg-con-keygenear","Saltando validaciones del registro .dat y .reg con Keygenear","Este método requiere conocimientos básicos del código ensamblador, para poder crear el archivo keyfile y el contenido del serial, para poder registrar nuestro crackmes, se recomienda leer con detalle cada paso para que logre entender un poco más del lenguaje, para ello debemos volver a reiniciar nuestro crackmes para iniciar desde cero y poder trazar y analizar el código del crackmes, recuerde las funciones de los códigos que se explicara, en los siguientes capítulos se verá mas codigo, realizamos clic en donde apunta la flecha amarilla, para iniciar a keygenear.",{"slug":8,"name":9},"reverse-engineering","Ingeniería Inversa",{"username":11,"name":12,"avatar_url":13,"headline":14,"aboutme":15},"Lior","Rafael PeruCrackers","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBdGdKIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--18ea99d6876a18ae422b2c3858846ac9d9979bfa\u002F41473879_681300015589328_2914457510192611328_n.jpg",null,"Estudiante de la ingenieria Inversa usando las herramientas de Ollydbg y el actual IDA PRO, actualmente me encuentro investigando sobre Creacion de Exploit, con animo de ayudar a las personas que les interesa el mundo del reversing, :)","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBa0lPIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--e939d23ceb2e8166726b28acb3bb7eeb82f38c91\u002Fshutterstock_1098318236_(1).jpg","2017-08-24T23:39:31-03:00","2026-10-26T18:53:48-03:00","\u003Cp>Este método requiere conocimientos básicos del código ensamblador, para poder crear el archivo keyfile y el contenido del serial, para poder registrar nuestro crackmes, se recomienda leer con detalle cada paso para que logre entender un poco más del lenguaje, para ello debemos volver a reiniciar nuestro crackmes para iniciar desde cero y poder trazar y analizar el código del crackmes, recuerde las funciones de los códigos que se explicara, en los siguientes capítulos se verá mas código, realizamos clic en donde apunta la flecha amarilla, para iniciar a keygenear.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cimg src=\"https:\u002F\u002Flh6.googleusercontent.com\u002FGcSUgSi978KUexoKG4Cymy0h0jq7zJfsc3TZErZLdmzbk_1Hm4bsFBlS6awrPvg9vujuMpmAIiKM-TJ6rkSdCx-rbr35AiqrpDP_W6wYCqEGgOUeSpaqrANwTce3tkRdjtzIPlGa2NHT_xGpIA\" width=\"167\" height=\"61\">\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>Keygen\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cbr>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>Al retroceder llegamos a la dirección \u003Cstrong>00401000\u003C\u002Fstrong>, donde se iniciará a tracear con la tecla Step Over “F8” o con clic al botón que apunta en la flecha amarilla.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cimg src=\"https:\u002F\u002Flh3.googleusercontent.com\u002F4mEuXr8zRMkThqZG-GK5lbYPUIE6_ra3nsnjcBCwVeQ0f_Sv31SuxTq6AZyU50I1PXrExPdqeenbnVSi-loHjwrvAZqX3cAoFE5NiS7VVTIyer7Gtm9Xs2HyHMvarExGPIoQbiyKTEyset2vqw\" width=\"195\" height=\"27\">\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Debemos llegar a la dirección \u003Cstrong>0040105C\u003C\u002Fstrong>.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cimg src=\"https:\u002F\u002Flh6.googleusercontent.com\u002FoJpNKb0rqPZWatLOieGvQuhgllheqIBnxP_R69ZGs1idXSL0FJSBOoN2-9d-ZlNx_SyYAx1x3qmn40fsNuJWhJakQ6-nEQ-Kew_fjLqkKvyLxKQ0YgWfKioBPNh05XYulmr-AVisRhVunRnqsQ\" width=\"698\" height=\"247\">\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>Dirección \u003Cspan>\u003Cspan>\u003Cstrong>0040105C\u003C\u002Fstrong>\u003C\u002Fspan>\u003C\u002Fspan>\u003Cbr>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>Al llegar a la dirección \u003Cstrong>0040105C\u003C\u002Fstrong>, realiza un PUSH 0x0, su función es agregar el valor 0x0 a la Pila o Stack, si observamos con detalle, veremos en los comentarios que 0x0 se relaciona a hTemplateFile = NULL, y en la pila observamos ese comentario al último, relacionado con 0x0 (En este caso lo veras como 00000000), si seguimos traceando con F8, veras que pushea PUSH due-cm2.0040216F, y en la pila veras que se agrega el valor, encima de 0x0 (hTemplateFile = NULL), seguimos traceando hasta llegar a la dirección \u003Cstrong>00401073\u003C\u002Fstrong> y observaremos todo los valores en la pila, y el dato curioso es que dicha función(CALL) CreateFileA, crea o abre un archivo, podemos ver que el archivo abrir es nombrado como due-cm2.dat, que se encuentra en el valor FileName. Así que creamos este famoso archivo en la ruta donde esta mi crackmes, se aconseja respetar las Mayusculas y Minúsculas.\u003C\u002Fp>\r\n\u003Cp>Luego de crearlo debemos retroceder nuevamente, debido a que nuestro Crackmes se ejecutó cuando no se había creado el archivo due-cm2.dat, para no tracear nuevamente código tras código, agregamos un BreakPoint(Pulsar F2) en 00401073, luego retrocedemos y pulsamos F9 o Play, para detenernos en 00401073 (Nuestra BreakPoint).\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cimg src=\"https:\u002F\u002Flh4.googleusercontent.com\u002Fq2xqdhQ2kf_qU8NRL9ufC29LEl7LmerAQYTZHknnmPQTssAOFDbXwo2qz_5-jdZyGT6BRqGzhx0brNuvhsoVSBgBeaP-XKFyprA96vBBZMTvNBR8BQXiT3JzkKRlaJIYG4Uv7zVGLBb-drnPig\" width=\"113\" height=\"99\">\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cspan>\u003Cspan>\u003Cimg src=\"https:\u002F\u002Flh6.googleusercontent.com\u002F_Q25GRzBcKxn8kOzABnLqmm_tMFFTcwb38Se_a33O6RRyi_LT_GSUwqLNotriLwmjLIfYp5TqtCWlbbGKNdO5CS8Zje1VQSpDCA0iNr6hze8bErFGsaYzZOq9sEmvkBrvd3BExZsNZ3g9z6dwA\" width=\"697\" height=\"188\">\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cspan>\u003Cspan>Direcciónes de memoria\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cspan>\u003Cspan>\u003Cbr>\u003C\u002Fspan>\u003C\u002Fspan>\u003Cbr>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>Cuando nos detengamos en \u003Cstrong>00401073\u003C\u002Fstrong> por causas de nuestro BP, traceamos hasta llegar a \u003Cstrong>0040107B\u003C\u002Fstrong>, vemos el código JNZ, este código salta si el flag Z=0, si Z=1 entonces no salta y nos mostrará el BAD BOY, este salto depende del código CMP que está encima de èl.\u003C\u002Fp>\r\n\u003Cp>En \u003Cstrong>00401078\u003C\u002Fstrong> – CMP, realiza una comparación con EAX y -0x1, de lo cual en la ventana registro vemos el valor EAX=0000006C, si son diferentes el flag Z no se activará y tomara el valor cero (Z=0), de lo cual JNZ se activa y saltara, tener en cuneta que hay tipos de saltos en este caso nos tocó JNZ se activa cuando Z=0.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cimg src=\"https:\u002F\u002Flh3.googleusercontent.com\u002F8Vf7-Lsl6AwJtW4EQOtJb3XZ26NMkbfASj4wmd4qleGy7jkoBdu-UqJsorVV76c59EfRUlMPNoxn_ANO5d4DdIEpG07WljBfAg8rKV7oYn_XyqRtGpRVtaoRQtbSPxKyJqV-68ykceMCO_5u0g\" width=\"698\" height=\"163\">\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>Dirección de memoria\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Seguimos tracenado hasta llegar a 004010A9, de lo cual pusheo los valores y los agrego en la pila, y vemos que el CALL(Function)  ReadFile, lee el contenido del archivo due-cm2.dat, además nos vemos que el valor ByteToRead = 46 (70.), es decir que leerá 70 elementos, si no cumple dicha regla, nos llevará al BAD BOY, así que agregamos los elementos en el due-cm2.dat.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cimg src=\"https:\u002F\u002Flh4.googleusercontent.com\u002Ff_UFZrubPA_pLrxVJOeQGJ71cScnY72GJY9-uPImLcTbR1Y1rRVv0NUHtQDitQ3y0j1aG8Yveg2qIDRDH4HJUbX9_v8ihrFLeqXVrzUfwwxnVTVfx8cY0vqtt9tXavlXj1M_7U85r_KcLbZUug\" width=\"697\" height=\"121\">\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>Dirección de memoria\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Yo abri un editor de texto, para agregar los elementos, en este caso números, tener en cuenta que un número es un byte, también puedes editar o agregar con el block de notas de windows. No se deben  hacer problemas.Tener en cuenta que al editar el .dat, debemos regresar al inicio, si nos saldrá un error de que el archivo se encuentra usando, además se recomienda agregar un BP en 004010A9, antes de retroceder.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cimg src=\"https:\u002F\u002Flh6.googleusercontent.com\u002Fa7zjFkPCO4WO6hjclSsPJ_4GSAmPdntH1sf0ejQO6Om8dgxAJRRK6F4Wd6Ve3dcdWk0LVYAXwwkgiI8SHg2FOxiJMQRKy1dUm8HC31RImYQQXLGQ2DX1AUBNbYu4_HGa2hvhAQkrscN55FqOgg\" width=\"545\" height=\"100\">\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>Dirección de memoria\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Al llegar a \u003Cstrong>004010A9\u003C\u002Fstrong> traceamos con F8,  hacia 004010B0, donde ya sabemos que si Z=0, entonces JNZ salta, vemos que la segunda regla si cumple y realiza un salto.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cimg src=\"https:\u002F\u002Flh3.googleusercontent.com\u002FAamm2Jlsk6LRaUgYbZuE03c5IXR2xkp_jho1ncdwmUZuWxX9vx1PJNDmm8NplGsY4X9TAZqt9Rid0PlUUwLRI1sJsz02a3SnUlLRuAQzHyjiElHwofBb6Y6__TEnSujehdV1IsuWaB8-k8sbvw\" width=\"698\" height=\"122\">\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>Dirección de memoria\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Ahora nos preguntaremos si no salta el JNZ que pasaría , pues pasaría a leer el siguiente código que es JMP en la dirección 004010B2, veamos dicha dirección, vemos que el comentario “Your current keyfile is invalid…”, desde aquí pinta mal usar este código JMP, por eso fue importante activar JNZ, porque evita ejecutar ese código.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cimg src=\"https:\u002F\u002Flh3.googleusercontent.com\u002FCJXc7ZxR_MItdogoC3BLxl5GVyvPULZumvm8vnHmWSZUhBcMgy18OMTrQ1n8DRHf0ENz4QoRMwDAqY_-vQnS1k3WX1WHQZSPJj2sVkZwIy6Kf-l7BoOojVbNd9vxFC10DBmdlnKNuk7yvhYoKw\" width=\"698\" height=\"61\">\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>Dirección de memoria\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Recuerden que 004010F7, es el BAD BOY, en la mayoría de las veces cuando vean un XOR EBX, EBX, xoreando dos registros iguales, quiere decir que su valor inicial será cero, esto podría ser un indicador de una regla más para generar nuestra clave, así que sigamos analizando.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cimg src=\"https:\u002F\u002Flh3.googleusercontent.com\u002FUpy5R1duqUebGiMjpmu2FLjjTpLXgpUp08nUvii7puEm4ACTUvhrxkINZuaiJmOR-_GFkRMwrTUv-RtXZAlLtOhmfU0DsfSeUb6NVigqtbRs5UPcaJbeGQdvZ4vEcxbHkA1KxjQz7aVVENZ2YA\" width=\"697\" height=\"170\">\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>Dirección de memoria\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Traceamos hasta llega a 004010C1, entre la ventana desensamblador y dump, veras que Ollydbg nos ayuda, con una ventana de comentarios nos indica que ds:[0040211A] = 31 (‘1’),  hacemos clic derecho  y seleccionamos Follow address in Dump, veremos que en DUMP nos mostrará el contenido de nuestro archivo due-cm2.dat, y el primero en analizar es 31 (Hexadecimal) = 1 (Decimal).\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cimg src=\"https:\u002F\u002Flh5.googleusercontent.com\u002FzPh7U0fymh1ZYF7JoEIFar-t1CSaFn28VIR9D-NB8giupLai_KQ4gH_qpwjEvJx7m2pMR9TVS4rJQg3p7reZn6VaY5y0zufKlqkXG7AZvK5EKotfU9049mqE_f7qVlZcYigSxI_9KQFeY1GLsA\" width=\"698\" height=\"250\">\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>Dirección de memoria\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>004010C1   mov al,byte ptr ds:[ebx+0x40211A] : Mueve el primer Byte en este caso 0x31 al registro AL , entonces AL=31, en la ventana registro veras EAX = 00000031.\u003C\u002Fp>\r\n\u003Cp>004010C7 cmp al,0x0 : Compara AL=31 con 0x0, en este caso son diferentes.\u003C\u002Fp>\r\n\u003Cp>004010C9 je short due-cm2.004010D3 : Como la comparación son diferentes no realizará el salto.\u003C\u002Fp>\r\n\u003Cp>004010CB cmp al,0x1 : Realiza una comparación con \u003Cstrong>AL=31 y 0x1\u003C\u002Fstrong>, pero son diferentes. \u003C\u002Fp>\r\n\u003Cp>004010CD jnz short due-cm2.003010D0 : Como son diferentes entonces saltará hacia la dirección 004010D0.\u003C\u002Fp>\r\n\u003Cp>004010CF inc esi : No se ejecutará debido a que la comparación no son iguales, recuerden este codigo es clave.\u003C\u002Fp>\r\n\u003Cp>004010D0 inc ebx : Realiza un incremento de 1 , es decir si EBX valía cero, al ejecutarlo aumentaria 1, EBX=1\u003C\u002Fp>\r\n\u003Cp>004010D1 jmp short due-cm2.004010C1 : Saltará nuevamente a la dirección 004010C1, de lo cual volverá analizar el siguiente byte, es decir el número 2 en decimal o 32 hexadecimal.   \u003C\u002Fp>\r\n\u003Cp>Este es un \u003Cstrong>LOOP\u003C\u002Fstrong> porque se repetirá 70 veces, es decir que analizará los elementos uno por uno de nuestro .dat,  cuando no logre leer el elemento 71, ya que no existe ese elemento lo asigna como cero. En la dirección 004010C7, realizara la comparación entre los valores AL=0 y 0x0, como son iguales se activará el flag Z=1, y saltara. Y de ese modo salimos del LOOP, sin embargo esto nos llevará al BAD BOY. La clave para poder llegar al GOOD BOY se encuentra en la dirección 004010CF, debe incrementar en dos para poder llegar al GOOD BOY.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cimg src=\"https:\u002F\u002Flh4.googleusercontent.com\u002FG-2hLR5DVoRQmo_gNUdjqIOyN2tNHRMrErkMXK5oxNAHtlVjsXg1ZnEk5orgNKwJKcBFfHPeIuX68AX0850SdsH9haE2UMKc8FPV3aoRvhKZAmHFChpO8bbLMOWXLGRYi9SBUTEOesASayyc0Q\" width=\"474\" height=\"110\">\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>Dirección de memoria\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Se recomienda usar HxD Editor Hexadecimal, con esta herramienta abriremos nuestro due-cm2.dat.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cimg src=\"https:\u002F\u002Flh6.googleusercontent.com\u002FN7rVDyTeg1wblV17ApkKpqhd1chtcIiZTILfV4TebicogyShPyfmHJ1oOtz-PFnKdtqu-5f6P6hb19vlRVExDuvPu9-XrEtVaq-SDnRlx-Gqw71E_FV5iuCZeFHj2KGKTS6L9zwrA8daMJVS5g\" width=\"698\" height=\"210\">\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>Código ANSI\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Al modificar nuestro keyfile llamado due-cm2.dat, por el hexadecimal 01 01, quedara así, guardamos la modificación y nuevamente retrocedemos e iniciamos de nuevo sin antes agregar un BreakPoint en la dirección 004010D3.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cimg src=\"https:\u002F\u002Flh3.googleusercontent.com\u002FPzQG5NemRVqsQWL19WFFuJTt8FGFfdYrQATtKkJEGAxjrHkJhkWXd_E7LefF0etAgHp3oZwU4cnSthrhb0OxhVaAu6eARrs0JqzOfbJn_nYjxjwFpuh1M8isKtlEr8sU5pqYqyCIgwXqNJk1_g\" width=\"697\" height=\"213\">\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>Código ANSI\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Al retroceder nuevamente y pulsamos F9, veremos:\u003C\u002Fp>\r\n\u003Cp>004010D3 cmp esi,0x2 : Compara ESI=0000002 con 0x2, por lo cual son iguales.\u003C\u002Fp>\r\n\u003Cp>004010D6 jl short due-cm2.004010F7 : veremos que no salta por ser igual, que los Flag S y 0 no se activaron.  \u003C\u002Fp>\r\n\u003Cp>Recuerde que para que ESI logre obtener \u003Cstrong>0x2\u003C\u002Fstrong>, debió incrementarse, es decir se ejecutó la 004010CF inc esi, dos veces, para ello la dirección  con código 004010CB cmp al,0x1 , con el registro AL debió ser igual a 01, dos veces para que no se produzca el salto y así se incremente ESI.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cimg src=\"https:\u002F\u002Flh4.googleusercontent.com\u002FLF_f0iuEywWCCHavWKEBh_dW6qPbQD3nEh1XhPBdR6Ff3Gmb03aHRytpDJ3iZL9rOcumbxQL-BzYF2mFui3GO6Qmo_QSJYtRBbm5thucQQt3EstjEzEQPeGTWCUxdUW8zpdMth7L6BpSdkDsxw\" width=\"599\" height=\"136\">\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>Dirección de memoria\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>004010D8 : Xorea el Registro ESI, es decir ESI=0.\u003C\u002Fp>\r\n\u003Cp>004010DA : Xorea el Registro EBX, es decir EBX=0.\u003C\u002Fp>\r\n\u003Cp>004010DC : Movera el primer byte del contenido del archivo due-cm2.dat\u003C\u002Fp>\r\n\u003Cp>004010E2 : Compara AL=31 con 0x0\u003C\u002Fp>\r\n\u003Cp>004010E4 : Como no eran iguales no salta.\u003C\u002Fp>\r\n\u003Cp>004010E6 : Compara AL=31 con 0x1\u003C\u002Fp>\r\n\u003Cp>004010E8 : Como no eran iguales no salta.\u003C\u002Fp>\r\n\u003Cp>004010EA : Suma ESI + EAX, y el resultado se aloja en ESI. En este ejemplo EAX=31 + ESI=0, entonces la suma de 31 + 0 = 31, y se aloja en ESI=31.\u003C\u002Fp>\r\n\u003Cp>004010EC : Incrementa EBX más uno.\u003C\u002Fp>\r\n\u003Cp>004010ED : Realiza un salto, regresando a 00401114, y vuelve analizar el segundo byte del contenido de nuestro archivo due-cm2.dat, es decir 0x32 equivale a 2 decimal. \u003C\u002Fp>\r\n\u003Cp>Sigue traceando analizando los bytes hasta llegar a la cuarto byte es decir 01, recuerda que la dirección 004010E6, cuando es igual entonces se produce un salto, saliendo del LOOP, y se dirige a :\u003C\u002Fp>\r\n\u003Cp>004010EF : Compara ESI con 0x1D5, deben ser iguales. \u003C\u002Fp>\r\n\u003Cp>004010F5 : No realiza el salto, por lo tanto nos mostrara el BAD BOY, para evitar esto, debemos hallar la forma de que salte. \u003C\u002Fp>\r\n\u003Cp>La clave de este LOOP, es que la suma de ESI sea igual a 0X1D5, en este caso escribí : EF + BB +2B = 1D5, vamos analizar.\u003C\u002Fp>\r\n\u003Cp>Luego lee el cuarto valor 01, y salta a 004010EF, donde compara ESI = 1D5 con 0X1D5, por lo tanto son iguales y Z=1, realizando un salto, evitando el BAD BOY.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cimg src=\"https:\u002F\u002Flh4.googleusercontent.com\u002F86waFHm2_lBxB9y7S1Eg7-cR_Feu2BFyNdRhbQg0OUHEkJx1zd-SLrickJku55GHm9d5KPOFSl3OL0jCfFUYTiqFgySLNGK9HoJ46L-KJu_CS4wOpN73youEC-SNMkIQK5E_YvaV8XEmKCMTmw\" width=\"476\" height=\"148\">\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>Dirección de memoria\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Finalmente modificamos el due-cm2.dat, agregamos los 3 bytes y guardamos los cambios, recuerde que debemos retroceder al inicio y agregar un BreakPoint en 004010EF, y ejecutamos nuevamente.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cimg src=\"https:\u002F\u002Flh3.googleusercontent.com\u002FDH2FOHV_53liMUupecxUTOJtHlW7CV6fYh7xNyAR9rIeO_oYcsjvYts8yhnaBTsox8lYOTMooHXxmECUTkF5m6xrDhEqTbFpSlfsKUp9csO3zNbtTOoiBwQ_IgEoDuP7WqQTC55l471J5j1afQ\" width=\"698\" height=\"216\">\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cspan>Código ANSI\u003C\u002Fspan>\u003Cbr>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Como observaras en la ventana de Registro veras ESI = 000001D5 y es igual a 0x1D5, entonces, saltara y evitará el BAD BOY.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cimg src=\"https:\u002F\u002Flh6.googleusercontent.com\u002FchmGJ5AlRqNU9JvxmS8DMwNE1wFqZYGtqL18OQ0c3GxKTtMfTt32I03rHsHhkBkdJ_E_DuOSOdBQzkopN6iQUKveoJNuQdrjBJvaPSI_7WbrShqXXJ-qFey8mmTDOkTBTqAxFDG1wUq9IrBZSw\" width=\"698\" height=\"120\">\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>Dirección de memoria\u003Cbr>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Y finalmente la última regla para terminar nuestra clave, en esta parte quiero que analicen ustedes, así que la pista que se le brinda es que inicia leyendo 0x36 y los valores deben sumar 0x1B2 y para salta y comparar, debe valer AL=00.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cimg src=\"https:\u002F\u002Flh6.googleusercontent.com\u002FBEtQMQ5V2vQMoWdtbDz4fYsoM6eGDeFGvBEEj2EoC0Sk_q2cVO3TcM3mhj_QZx8XvcYajMcwoAtNsAY6UpKgPcfi_uzXHOdUfpNQDle9qc5r10P2RITgWuKX6VLHalyCuwwLTYw4x7pzH5bpWA\" width=\"549\" height=\"123\">\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>Dirección de memoria\u003Cbr>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>Se realiza dos modificaciones en el due-cm2.dat con la herramienta HxD Editor Hexadecimal,  guardamos los cambios y reiniciamos nuevamente, sin agregar el BreakPoint, para ver si se ejecuta sin problemas. \u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan> \u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cspan>\u003Cspan>\u003Cimg src=\"https:\u002F\u002Flh6.googleusercontent.com\u002FtxwkeJnrLpC4b9nZgZXD3BiUNQdfEWP8djf5HXS0pYc3G6_rBpI_z00DfymTxKeyczvDAda0FfU22gs9rWnSTtajvBoLFnHZ9hBr8Wc4PewMPsu2Pcs0R9CjGL-_1pwjt5o89rFY5uQTLimosg\" width=\"698\" height=\"221\">\u003C\u002Fspan>\u003C\u002Fspan>\u003Cbr>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cdiv>Código ANSI\u003Cspan>\u003Cbr>\u003C\u002Fspan>\n\u003C\u002Fdiv>\r\n\u003Cdiv>\u003Cspan> \u003C\u002Fspan>\u003C\u002Fdiv>\r\n\u003Cp>Observamos que se ejecutó correctamente, así que terminamos de realizar la primera etapa de Keygen, la segunda etapa es generar un Keygen en lenguaje C o python, este le dejo como tarea.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>\u003Cimg src=\"https:\u002F\u002Flh5.googleusercontent.com\u002F95nvf0mJjTpd7O1o4xO8ifgGo30Uy3mSX8PO-dYpya6BTlPHtD3nOir5Fo--UVYbDZqLRqqYvyHoNksReNcDQEwn-WOSyaHl9lYItRDThmD4SlhD5Fd7-kaGwpo3s03a0_1Ff6IrVJyZaWg8YQ\" width=\"337\" height=\"97\">\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003Cspan>Keygen generado\u003Cbr>\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Con este reto resuelto se terminó de explicar los dos métodos de parche y keygen, nuevamente gracias a Ricardo Narvaja, Davicomrm, Nox, Abel, Softdat, Apuromafo y Dani, por sus consejos y críticas del tutorial. Hasta la próxima. \u003C\u002Fp>\r\n\u003Cdiv> \u003C\u002Fdiv>",9,[22,34,45],{"slug":23,"title":24,"summary":25,"category":26,"author":27,"image_url":31,"image_thumb_url":31,"published_at":32,"updated_at":33},"inteligencia-de-amenazas-ciberneticas-con-ibm-x-force-exchange","Inteligencia de Amenazas Cibernéticas con IBM X-FORCE EXCHANGE","La inteligencia de amenazas ciberneticas tiene muchas aristas, y se deben utilizar muchas herramientas para tomar un veredicto en relación a una dirección ip o url , que se encuentra generando trafico hasta nuestro sitio web.",{"slug":8,"name":9},{"username":28,"name":29,"avatar_url":30},"user-1543237612","Cristian Jose Acuña  Ramirez","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBaUFQIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--c84d5840f618ed711f6d776d0a8e54daa3f13bbe\u002F6e76f75b-b5b8-49f8-8b6a-73d757ad7c65.jpg","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBdDhPIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--8bae43d6642cf508a945274c83140364f49adc3d\u002Fshutterstock_1712503435.jpg","2020-09-04T11:38:43-04:00","2026-10-26T19:14:12-03:00",{"slug":35,"title":36,"summary":37,"category":38,"author":39,"image_url":42,"image_thumb_url":42,"published_at":43,"updated_at":44},"simple-reverse-icmp-shell","Simple reverse ICMP Shell","Planteando el escenario para ejecutar nuestra revershell, tenemos un equipo al que ya tenemos acceso con un usuario que nos permitirá la ejecución del Reverse shell ICMP en powershell.",{"slug":8,"name":9},{"username":40,"name":41,"avatar_url":14},"elzerpineda","Elzer Pineda","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBdlFPIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--f839aa72cf39bd28065fd4b33680a238fc0ee42a\u002Fshutterstock_1382645309.jpg","2020-07-20T13:14:51-04:00","2026-10-26T12:22:02-03:00",{"slug":46,"title":47,"summary":48,"category":49,"author":50,"image_url":54,"image_thumb_url":54,"published_at":55,"updated_at":56},"4chan-y-nido-org-conoce-que-es-un-imageboard-o-tablon-de-imagenes","4chan y nido.org - Conoce todo sobre los Imageboard o tablón de imágenes.","La historia de los foros o tablón de imágenes (También conocidos en inglés como imageboard) data de 1999, cuando se creó el imageboard anónimo 2channel (2ch), este es un popular foro de imágenes creado en Japón con el objetivo de discutir sobre cómics japoneses y animé.",{"slug":8,"name":9},{"username":51,"name":52,"avatar_url":53},"pmcguirec","Paola Mc Guire Cancino","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbHNTIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--2bf31b5bf5b3e51e57bd3d83fc5b3c84e336e11d\u002FIMG_4294-3.jpg","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBckFPIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--5da25444100f4afc83fe2109fbecaa01d27cc8b0\u002FPost192_NN1.png","2019-02-26T21:57:26-03:00","2026-10-26T10:39:47-03:00",{"levels":58,"specialties":71,"categories":88,"instructors":122,"article_categories":160,"article_authors":188,"discussion_categories":301},[59,63,67],{"slug":60,"name":61,"courses_count":62},"basicos","Basicos",15,{"slug":64,"name":65,"courses_count":66},"intermedios","Intermedios",28,{"slug":68,"name":69,"courses_count":70},"avanzados","Avanzados",16,[72,76,80,84],{"slug":73,"name":74,"courses_count":75},"enterprise-pentesting-training-ept","Penetration Testing Student",5,{"slug":77,"name":78,"courses_count":79},"penetration-testing-and-ethical-hacking-pthh","Penetration Testing Professional",7,{"slug":81,"name":82,"courses_count":83},"web-application-testing-wat","Web Application Testing",12,{"slug":85,"name":86,"courses_count":87},"information-security-training-ist","Information Security Analyst",6,[89,93,96,100,103,106,109,113,116,119],{"slug":90,"name":91,"courses_count":92},"administracion-de-servidores","Administración de Servidores",1,{"slug":94,"name":95,"courses_count":92},"vulnerability-analysis","Análisis de Vulnerabilidades",{"slug":97,"name":98,"courses_count":99},"auditoria-de-redes","Auditoría de Redes Informáticas",4,{"slug":101,"name":102,"courses_count":87},"auditorias-wireless","Auditorías Wireless",{"slug":104,"name":105,"courses_count":75},"forense","Forense ",{"slug":107,"name":108,"courses_count":83},"pentesting","Pentesting ",{"slug":110,"name":111,"courses_count":112},"pentesting-mobile","Pentesting a Aplicaciones Móviles",2,{"slug":114,"name":115,"courses_count":83},"auditoria-aplicaciones-web","Pentesting a Aplicaciones Web",{"slug":117,"name":118,"courses_count":99},"programacion","Programación",{"slug":120,"name":121,"courses_count":83},"seguridad-informacion","Seguridad de la información",[123,127,131,134,137,140,143,145,148,151,154,157],{"username":124,"name":125,"courses_count":126},"misaelban","Misael Banales",21,{"username":128,"name":129,"courses_count":130},"Sheyla_Leacock","Sheyla Leacock",8,{"username":132,"name":133,"courses_count":79},"Rodolfo","Rodolfo Cecena",{"username":135,"name":136,"courses_count":87},"ggomez","Gianncarlo Gómez",{"username":138,"name":139,"courses_count":75},"yulytas","Julita Inca",{"username":141,"name":142,"courses_count":99},"pacopadilcyber","Juan Francisco Padilla Suaste",{"username":28,"name":29,"courses_count":144},3,{"username":146,"name":147,"courses_count":92},"user-22500","Ignacio Benedini",{"username":149,"name":150,"courses_count":92},"magdielgutierrez","Magdiel Gutierrez",{"username":152,"name":153,"courses_count":92},"Mroodriguezb","Mario Rodriguez Barraza",{"username":155,"name":156,"courses_count":92},"coldd","Martin Frias",{"username":158,"name":159,"courses_count":92},"Omar_veliz","Omar Jacobo Muñoz Veliz",[161,162,163,167,169,170,173,174,176,178,179,181,183,186],{"slug":90,"name":91,"articles_count":83},{"slug":94,"name":95,"articles_count":20},{"slug":164,"name":165,"articles_count":166},"wireless-attacks","Ataque al Protocolo Wireless",11,{"slug":97,"name":98,"articles_count":168},13,{"slug":101,"name":102,"articles_count":144},{"slug":171,"name":172,"articles_count":112},"exploitation-tools","Explotación de Vulnerabilidades",{"slug":104,"name":105,"articles_count":20},{"slug":8,"name":9,"articles_count":175},26,{"slug":107,"name":108,"articles_count":177},99,{"slug":110,"name":111,"articles_count":20},{"slug":114,"name":115,"articles_count":180},33,{"slug":117,"name":118,"articles_count":182},27,{"slug":184,"name":185,"articles_count":166},"information-gathering","Recolección de Información",{"slug":120,"name":121,"articles_count":187},18,[189,192,195,200,201,206,210,211,215,216,218,222,226,227,231,234,235,238,242,246,250,254,256,260,263,267,271,275,278,280,284,287,290,293,297],{"username":158,"name":159,"avatar_url":190,"articles_count":191},"https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBdmdGIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--de6eb458d07377fb9d25e6ed92e1917f274c8cdb\u002Fprofile.jpg",70,{"username":124,"name":125,"avatar_url":193,"articles_count":194},"https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBam9HIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--fcb46747ff2b0df3099425d0012f4da090b1db67\u002FIMG_2344.PNG",32,{"username":196,"name":197,"avatar_url":198,"articles_count":199},"saamux","Samuel Esteban","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbDRJIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--6e60a39152819c1c857e0a1e157e99a5fe76ddf9\u002Fperfil.png",30,{"username":11,"name":12,"avatar_url":13,"articles_count":175},{"username":202,"name":203,"avatar_url":204,"articles_count":205},"Felipe","Felipe Barrios","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBalVGIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--75c29db071130db1bdbb64cb6ed6b4b0767c7178\u002F12063705_10207273024561428_59106377850244238_n.jpg",17,{"username":207,"name":208,"avatar_url":209,"articles_count":70},"user-1582119990","José Moreno","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBczhMIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--695dbd13093235a9632272a6a98b0c9ef21a0319\u002FJoseMoreno-300x180.jpg",{"username":28,"name":29,"avatar_url":30,"articles_count":166},{"username":212,"name":213,"avatar_url":214,"articles_count":166},"__script1an__","Cristian Palma P","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBc1lKIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--f168fca2e13ca6bb4a0629e2e6a46fc45622c54b\u002FLOGO-URI-SPIONI-MH-1.png",{"username":155,"name":156,"avatar_url":14,"articles_count":79},{"username":128,"name":129,"avatar_url":217,"articles_count":87},"https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBb29TIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--33711e0178d99dfd591d736d16027b251892ab2e\u002F20210721_132408(2).jpg",{"username":219,"name":220,"avatar_url":221,"articles_count":75},"JediCanosa","Alejandro Canosa Ferreiro","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBclVKIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--9b0815c79e7690293117c5cf747d0d9889fd678e\u002F252860.jpg",{"username":223,"name":224,"avatar_url":225,"articles_count":75},"CrisMc","Cristian Mc Guire","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbThLIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ecd57b96e2e835d362d2d416b40f531b9752ffbe\u002FIMG-20171010-WA0000.jpg",{"username":40,"name":41,"avatar_url":14,"articles_count":75},{"username":228,"name":229,"avatar_url":230,"articles_count":144},"Funpunch","Andres Galeano","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbThGIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--e169c1f44d47457dda7935fcd906ce67cf324bbe\u002Ffoto.jpg",{"username":232,"name":232,"avatar_url":233,"articles_count":144},"Pablo Olivares","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBdTRHIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--256f815e15650ad7609a7264df2d0c69742d870c\u002Fmetasploit.png",{"username":51,"name":52,"avatar_url":53,"articles_count":144},{"username":236,"name":237,"avatar_url":14,"articles_count":112},"D4RK0P","Alejandro Rivera",{"username":239,"name":240,"avatar_url":241,"articles_count":112},"user-1529427208","Arturo Ocampo","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBZzBMIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--5c0000472cdff7e7771f11070fa1e865142cc9a9\u002F8c9610617-codsalestease.nbcnews-ux-2880-1000.jpg",{"username":243,"name":244,"avatar_url":245,"articles_count":112},"CannibaL","Cannibal .","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBZ2NMIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ae676f2a7e452c690824c196a556de0fd878d091\u002FGatoRison.jpg",{"username":247,"name":248,"avatar_url":249,"articles_count":112},"Erik172","Erik Garcia","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBc1lSIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--e703ff6245d2a783835ef18906375a5246ad1b84\u002Fgorickyourself.png",{"username":251,"name":252,"avatar_url":253,"articles_count":112},"damch","Javier Candia","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBam9KIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--036416498d87c59fa3f0ac1f5e0a08336b65faf5\u002Fdescarga.png",{"username":152,"name":153,"avatar_url":255,"articles_count":112},"https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBb1FSIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--d5c1cf9e6152977482e3d8a919cee58dc745a65c\u002Fimage_6483441.JPG",{"username":257,"name":258,"avatar_url":259,"articles_count":112},"user-1522264539","Sebastian Veliz","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBdW9LIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--8b572ca805a6e429859050c0eb0f9270a06aad7f\u002F28428972_394770877650233_1145374104606474240_n.jpg",{"username":261,"name":261,"avatar_url":262,"articles_count":112},"user-1609041409","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBaklNIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--536c91898c7c42c0a3008d37ec317309cb9805cc\u002F9178eae767eec8ff5750bd9a1cfdfe3b.png",{"username":264,"name":265,"avatar_url":266,"articles_count":92},"819215531446900","Alvaro Alexander Palacios Carrillo","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBaE1MIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--bd76f66adfaf8c1175ba43bb480eae08d23db24e\u002Ffoto.jpg",{"username":268,"name":269,"avatar_url":270,"articles_count":92},"gbrayhan","Brayhan Alejandro Gabriel Guerrero","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBamtKIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--e0e7cb50ebcfa80db9c0882df1e3f476c487a572\u002FalexPerfil.jpg",{"username":272,"name":273,"avatar_url":274,"articles_count":92},"els","Estevenson Luis Solano","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbFlMIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--ac9a04550c2d3b3de33177e3dedd6116ff7bd898\u002Fdownload12.png",{"username":276,"name":277,"avatar_url":14,"articles_count":92},"user-1570553853","Flavio Esteban Canales Salvo",{"username":135,"name":136,"avatar_url":279,"articles_count":92},"https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBaW9IIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--a8a4afb1bc1cbf26867aa952a95ccfa68dd4b198\u002FImagen_1.png",{"username":281,"name":282,"avatar_url":283,"articles_count":92},"uservzk80","Israel Pérez","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbmdJIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--f26a75b81bb7939355f4181925e7886394bfa1ea\u002FPwtZlZxn.jpg",{"username":285,"name":286,"avatar_url":14,"articles_count":92},"jongo","Jonathan González",{"username":288,"name":289,"avatar_url":14,"articles_count":92},"K1!!","José Guzmán",{"username":291,"name":292,"avatar_url":14,"articles_count":92},"garciaguirre","Moises Garciaguirre",{"username":294,"name":295,"avatar_url":296,"articles_count":92},"user-1571024443","Romario Miranda Paternina","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBcXdMIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--beccfc05028736f1068a40f35597ead611aef1f0\u002FIMG_20190910_145049285-01.jpeg",{"username":298,"name":299,"avatar_url":300,"articles_count":92},"shadebax","SHADE BAX","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBamtMIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--f59427b74236cfeb0c9c9f4b4d81bb898ce435a4\u002FHacker-icon.png",[302,303,304,305,307,309,310,311,312,314,315,317,319,320],{"slug":90,"name":91,"discussions_count":70},{"slug":94,"name":95,"discussions_count":166},{"slug":164,"name":165,"discussions_count":75},{"slug":97,"name":98,"discussions_count":306},25,{"slug":101,"name":102,"discussions_count":308},20,{"slug":171,"name":172,"discussions_count":70},{"slug":104,"name":105,"discussions_count":75},{"slug":8,"name":9,"discussions_count":144},{"slug":107,"name":108,"discussions_count":313},121,{"slug":110,"name":111,"discussions_count":187},{"slug":114,"name":115,"discussions_count":316},67,{"slug":117,"name":118,"discussions_count":318},40,{"slug":184,"name":185,"discussions_count":62},{"slug":120,"name":121,"discussions_count":321},55]