El Blog De Flamer
miércoles, 4 de noviembre de 2026
Solucion al Crackme 6 De Enigmagroup
martes, 3 de noviembre de 2026
Solucion al Crackme What_do_i_want De Devastator
Hola amigos hoy veremos el crackme de devastador es algo sencillo, pero entretenido bueno para pasar el rato aquí una foto de la víctima
Asi que primero buscamos las string y nos muestra esto
Asi que damos clic en el mensaje well done que quiere decir bien hecho y nos muestra esto
Como podemos ver cuando llegue al mensaje correcto no veo que mande llamar la API MessageBoxA asi que ojo con ese dato no se muestra como cuando se ejecuta el mensaje incorrecto, despues de mostrar el mensaje correcto salta para mandar llamar la API EndDialog que cierra el programa...asi que nos vamos mas arriba para ver que nos muestra y en la linea 004010E0 vemos el salto decisivo, es el que nos manda al cartelito correcto y el incorrecto asi que nos iremos mas arriba en la linea 00401044 y ponemos un breakpoint
Ahora pasaremos a ejecutarlo y pondré lo siguiente
Y se detiene justo donde le indicamos así que nos vamos traceando y vemos que hace una resta en la línea 00401082 resta el valor que ingresamos en el primer cuadro de texto con 200E4
Así que para que EAX valga D tiene que se 200E4 + D = 200F1 como se mira arriba el número a ingresar tiene que ser 131313 que en hexadecimal es 200F1 asi que lo volvemos ejecutar y seguimos
Nota: yo me guie como arriba en la línea 00401064 está un push que contiene D
Y vemos que unas líneas abajo en la línea 004010B3 xorea la palabra que ingresamos "polonesis" con estos valores
24 0B 15 1C 13 0A 04 36 06 17 2F 64 64
El resultado se aguarda en el dump aquí
Y seguimos traceando y con F8 y en la línea 004010D3 vemos que carga la cadena resultante del xoreo con un PUSH lo carga a la pila creo que lo usara en la API GetProcAddress y si es la correcta no salta en el la instrucción JE y creo que es la API MessageBoxA ya que esa es la que no se mira en el CALL mas abajo en la línea 0040116A y así que para ingresar MessageBoxA lo tenemos que convertir a hexadecimal y luego xorearlos
MessageBoxA = 4D 65 73 73 61 67 65 42 6F 78 41
XOR
24 0B 15 1C 13 0A 04 36 06 17 2F
--------------------------------------------------------------------------
information 69 6E 66 6F 72 6D 61 74 69 6F 6E
Y si ingresamos esos valores nos arroja esto
sábado, 31 de octubre de 2026
Solucion Al Crackme de Bocvk
0040114A | 33D2 | xor edx,edx |
0040114C | 33C9 | xor ecx,ecx |
0040114E | 8B91 24314000 | mov edx,dword ptr ds:[ecx+403124] | ecx+403124:"12345678"
00401154 | 83F2 02 | xor edx,2 |
00401157 | 8991 4C314000 | mov dword ptr ds:[ecx+40314C],edx |
0040115D | 41 | inc ecx |
0040115E | 3BC8 | cmp ecx,eax |
00401160 | 74 02 | je crackme #1.401164 |
00401162 | EB EA | jmp crackme #1.40114E |
00401164 | 33D2 | xor edx,edx |
00401166 | 33C9 | xor ecx,ecx |
00401168 | 8B91 74314000 | mov edx,dword ptr ds:[ecx+403174] | ecx+403174:"crackmes"
0040116E | 83C2 03 | add edx,3 |
00401171 | 8991 9C314000 | mov dword ptr ds:[ecx+40319C],edx |
00401177 | 41 | inc ecx |
00401178 | 3BC8 | cmp ecx,eax |
0040117A | 74 02 | je crackme #1.40117E |
0040117C | EB EA | jmp crackme #1.401168 |
0040117E | C3 | ret |
viernes, 30 de octubre de 2026
Copiar y Descargar el Codigo HTML De Una Pagina Web Ya Cargada
const code = document.documentElement.outerHTML;
const a = document.createElement('a');
a.href = 'data:text/plain;charset=utf-8,' + encodeURIComponent(code);
a.download = 'pagina.html';
a.click();
const code = document.documentElement.outerHTML;
document.write('<textarea id="log" style="width:70%; height:400px;"></textarea>');
document.getElementById('log').value = code;
const boton = document.createElement('button');
boton.textContent = 'Copiar El Codigo HTML';
boton.onclick = () => navigator.clipboard.writeText(code);
document.body.appendChild(boton);
Programa Para Buscar Archivos En Tu Computadora En JavaScript y Node.js
Hola amigos hoy le pedí a chatgpt que me hiciera un programa para buscar un crackme que está en mi pc, ya que me baje el respaldo de "crackmes.de" y el crackme a buscar es el de matalaz, se puede encontrar rápido sin usar el programa solo por el nombre de usuario, ya que están indexados así, pero yo elegí ese para la prueba, para probar el programa.
Bueno empecemos les mostraré el programa primero ya ustedes lo copean y lo pegan en el bloc de notas y lo aguardan como "buscar.js"
// Cargar módulos
const fs = require("fs");
const path = require("path");
const readline = require("readline");
// Configurar entrada y salida de texto
let opciones = {
input: process.stdin,
output: process.stdout
};
// Crear interfaz de consola
let rl = readline.createInterface(opciones);
// Variable para guardar la ruta
let carpeta = "";
// Función para buscar archivos en carpetas y subcarpetas
function buscar(dir, nombre)
{
let archivos;
// Obtener archivos de la carpeta
try
{
archivos = fs.readdirSync(dir);
}
catch (e)
{
return;
}
// Recorrer todos los elementos encontrados
for (let i = 0; i < archivos.length; i++)
{
// Obtener la ruta completa
let ruta = path.join(dir, archivos[i]);
try
{
// Comprobar si es una carpeta
if (fs.statSync(ruta).isDirectory())
{
// Entrar en la subcarpeta
buscar(ruta, nombre);
}
// Comprobar si el nombre coincide
else if (archivos[i].includes(nombre))
{
// Mostrar la ruta del archivo
console.log(ruta);
}
}
catch (e) {}
}
}
// Función para recibir el nombre del archivo
function preguntarNombre(nombre)
{
// Iniciar búsqueda
buscar(carpeta, nombre);
// Cerrar interfaz
rl.close();
}
// Solicitar la ruta de búsqueda
rl.question("Ruta: ", function(ruta)
{
carpeta = ruta.trim();
// Comprobar si la ruta existe
if (!fs.existsSync(carpeta))
{
console.log("La ruta no existe.");
rl.close();
return;
}
// Comprobar si es una carpeta
if (!fs.statSync(carpeta).isDirectory())
{
console.log("La ruta no es una carpeta.");
rl.close();
return;
}
// Solicitar nombre del archivo
rl.question("Nombre: ", preguntarNombre);
});
Como ven el programa ya trae sus comentarios por si no lo entienden, ya que lo tenemos aguardado en el escritorio abrimos el CMD o símbolo del sistema y lo ejecutamos así
Nos pide la ruta de la carpeta yo le daré esta
C:\Users\zeta_\Music\COPIA DE crackmes.de\users
Y luego no pide el nombre del archivo yo le pondré este, como en la imagen
Y para finalizar damos enter y nos arroja una serie de resultados, ya que la palabra crackme.zip se repite mucho, pero para saber si encontró el archivo que buscábamos o si lo mostró en la serie de resultados daremos clic derecho en la pestaña del CMD así
Y damos clic en buscar y escribimos el nombre de usuario y nos arroja esto
Como vemos si lo encontró, esto quiere decir que el programa si funciona, ojalá a alguien le sirva este programa... yo puse como ejemplo la copia de crackmes.de y me mostró varios resultados porque se repite mucho ese nombre de archivo, pero si ustedes buscan uno que casi no se repita mostrara menos resultados, otra cosa el programa distingue entre mayúsculas y minúsculas
Bueno saludos Flamer
jueves, 29 de octubre de 2026
Solucion Al Crackme 5 De La Pagina Enigmagroup
Hola amigos hoy veremos el crackme 5 de la antigua página de enigmagroup, así que primero miramos los string y para buscar el cartelito correcto y nos muestra esto
Hay podemos ver el cartelito correcto y el incorrecto y si damos doble clic en el mensaje no manda a esta zona
Como pueden ver hay se miran los textos que mencione, así que si nos vamos más arriba miramos la API vbaVarTstEq que se encarga de comparar dos valores
Asi que ponemos el breakpoint en dicha API y damos ejecutar y nos pide el serial yo ingresare el que se mira en la imagen
Se detiene justo en ese lugar que pusimos el breakpoint, de hay en adelante nos vamos traceando con F7 puro F7 hasta llegar a esta zona
En la imagen observamos que compara el serial que ingresamos con este:
"5A195-02D2D-05A2D-5A10E"
Si se fijan en el crackme no pudimos poner más de 4 dígitos en los campos de textos, así que buscaremos la API len que es la encargada de obtener el número de dígitos de un string así que escribimos len en módulos y aparecen 2, así que a las 2 les pongo un breakpoint
Luego escribimos en los cuadros de texto y se detiene justo aquí
Yo ingresé 5 dígitos en el primer cuadro de texto y como vemos unas líneas abajo esta una comparación, compara EAX con 4, así que modificamos ese 4 con 7
Ahora nos vamos traceando hasta la línea 0040352F antes de que se ejecute la API rtcMidCharVar que es la que recorta la cadena ingresada a 4 y es el valor que modificaremos en la línea 0040352F yo le pondré 7 también y quedara así
Ahora aguardamos los cambios para eso damos clic en parchear archivo
Y renombramos el archivo como "app5_crack.exe" y ahora si ingresamos el valor de arriba y nos arroja el cartelito correcto
Bueno parece que aquí quedo resuelto, pero les cuento que yo creía eso, hasta otro día que no funciono el mismo serial y revise y era otro, así que se me prendió el foco y dije este crackme tiene que con la fecha así que busque en los módulos o en las APIs la encargada de eso y es la API GetDate en el programa la muestra así rtcGetDateVa y ponemos un breakpoint en cada una para ver en cuál se detiene
Pero otra cosa para que funcione tiene que detener el crackme y volverlo a ejecutar y se detiene justo aquí
Como vemos en el FPU está la fecha solo le pedimos a Google que nos la dé y es
Una cosa el programa lee la fecha en este formato 29/10/2026 y el primer dígito es un 2 y después que tiene el dígito este es multiplicado por 45 como en la imagen
Así que toma el 2 y lo multiplica por 45 y luego lo convierte a hexadecimal para después tomar el 9 y lo multiplica por 45... Ahora si se preguntan que pasa cuando se encuentra con la barra invertida "/" pues le cuento lo multiplica por 0 ..... aquí se muestra como toma la fecha
Pero antes de que pregunte si es una barra invertida cada 2 dígitos que lee pone un guion "-"
ahora si el valor es 0 multiplica por 1 aquí les dejo una tabla
Ahora yo le hice un keygen en JavaScript y HTML aquí el código
<html>
<head>
<title>Keygen Crackme 5 De EnigmaGroup...:::Flamer:::...</title>
</head>
<body bgcolor="black">
<center>
<marquee style="font-size:30;color:yellow;">Keygen Crackme 5 De EnigmaGroup ...:::Flamer:::...</marquee><br><br>
<label style="color:white;">Serial:</label>
<input type="text" id="pass" size='40' style="background-color:Gray;color:white;text-align:center;"><br><br>
<input type="button" value="Generar" onclick="genera()">
</center>
<script>
function copiar1()
{
let c=document.getElementById('pass');
navigator.clipboard.writeText(c.value);
}
//==================================================================================
function genera()
{
let fecha=new Date();
let dia=String(fecha.getDate()).padStart(2, '0');
let mes=String(fecha.getMonth() + 1).padStart(2, '0');
let año=fecha.getFullYear();
let chafe=dia + "/" + mes + "/" + año;
let x,digi,pws="",mul,conta=0;
for(x=0;x<chafe.length;x++)
{
digi=chafe[x];
if(digi=="/")
{
mul=45*0;
}
else if(digi=="0")
{
mul=45 * 1;
}
else
{
mul=45 * parseInt(digi);
}
if(conta==2)
{
pws+="-";
conta=-1;
}
pws+=mul.toString(16);
conta++;
}
document.getElementById("pass").value= pws.toUpperCase();
}
</script>
</body>
</html>
Aquí una imagen
Bueno amigos creo que eso es todo saludos Flamer y espero les guste




















































