El Blog De Flamer
anun1
sábado, 30 de mayo de 2026
Solucion Del Crackme 6 De RogerFm.Net
sábado, 2 de mayo de 2026
Programa En Html y JavaScript Que Lee Los String De Un Ejecutable
Hola amigos hoy les dejaré un simple programa que muestra los String de un ejecutable, no lo he probado con imágenes u otros archivos pero debe de funcionar.
Nota: no lee Unicode así que no esperen todos los String
aquí una foto
Ahora lo probaremos con el crackme 12 de ShoulcK y me muestra lo siguiente
Bueno aquí les dejó el código, si lo quieren probar solo copean y pegan en el bloc de notas y aguardan como extractor.hta por otro lado estoy en el crackme 6 de Rogerfm así que creo que será el siguiente tema y después veré este crackme u otro
<html>
<head>
<title>Extractor de Strings</title>
</head>
<body>
<center>
<br><br>
<input type="file" id="ruta" size="50"><br><br>
<button onclick="extraer()">Extraer Strings</button>
<br><br>
<textarea id="log" cols="80" rows="25"></textarea>
</center>
<script>
function extraer()
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var archivo = fso.OpenTextFile(document.getElementById("ruta").value, 1, false);
var contenido = archivo.ReadAll();
archivo.Close();
var resultado = "";
var actual = "";
for (var i = 0; i < contenido.length; i++)
{
var c = contenido.charCodeAt(i);
// rango ASCII imprimible
if (c >= 32 && c <= 126)
{
actual += String.fromCharCode(c);
}
else
{
if (actual.length >= 4) // mínimo tamaño
{
resultado += actual + "\n";
}
actual = "";
}
}
document.getElementById("log").value = resultado;
}
</script>
</body>
</html>
Bueno creo que eso es todo espero les guste, ya lo prevé con un archivo ZIP asiendo este escrito lo intente y medio lo siguiente
Resulta que al final del texto me muestra los archivos en listados del archivo ZIP bueno, saludos Flamer y espero les sirva a alguien
lunes, 27 de abril de 2026
Solucion Del Reto Primer Crackme De Alfa
Hola amigos hoy veremos un mini tutorial de como resolver el primer crackme de alfa, ya resolví anteriormente un reto de el, era un keygenme y deje el generador de claves aquí el tema
https://elblogdeflamer.blogspot.com/2025/08/generador-de-claves-del-reto-1-de-alfa.html
bueno este es una foto de el reto que veremos hoy
Como vemos en la imagen nos pide nombre y serial, yo al principio creía que el serial se creaba según el nombre u otro método, creí que era variable, pero no es asi, ya que es constante y el nombre puede ser cual sea ya verán de que hablo
para no hacer una explicación larga y no puedo poner cosas de ensamblador les dejaré en JavaScript lo que hace el código bueno ingresamos como serial 999 y el reto hace esto
<html>
<head>
<title>Reto Alfa</title>
</head>
<body>
<center><br><br><br>
Serial<input type="number" value="0" id="pass"><br><br>
<input type="button" value="Validar" onclick="verifica()">
</center>
<script>
function verifica()
{
let res,serial;
serial=document.getElementById("pass").value;
res=serial + 4294966796;//0xFFFFFE0C;
res=res + res + res;
if(res==123456)
{
alert("Muy Bien Felicidades Clave Correcta");
}
else
{
alert("Error Clave Incorrecta");
}
}
</script>
</body>
</html>
La parte donde le suma 4294966796 yo lo puse en decimal, pero en lenguaje ensamblador es FFFFFE0C, ya que es de 32 bits y no puede cargar más, al sumar nos da 999 nos da como resultado 1000001F3 y como el registro no puede representar ese valor nos arroja 000001F3.
Bueno espero que haya quedado claro el registro no puede representar más valor, ya que es de 32 bits así que los recorta y como ven ya les puse en JavaScript lo que hace el crackme, así que el resultado lo calculamos así
res=123456/3 es igual a 41152 que en hexadecimal es A0C0
ahora para que nos dé en la resta de FFFFFE0C ponemos 10000A0C0 y lo hacemos en la calculadora de Windows
así que el serial correcto de este reto es 41652 y nos muestra lo siguiente
Nota aclaró si ejecutan el código anterior de html y JavaScript no resultara eso es solo una representación de lo que hace el reto y en ensamblador se representa diferente eso es solo una muestra de lo que hace, en fin saludos Flamer y espero les haya gustado
miércoles, 22 de abril de 2026
Solucion al Reto Crackme 8 by ShoulcK
Hola hoy veremos la solución del reto 8 de ShoulcK, como el reto nos pide parchar el botón no pondré como hacerlo en x64dbg si no que usare el HxD para editarlo dejaré una captura
les dejaré el link donde yo pido ayuda en el hacker.net....agradesco a MCKSys Argentina y a EdePC por contestar y ayudarme a entender saludos y gracias
https://foro.elhacker.net/ingenieria_inversa/ayuda_con_el_crackme8byshoulck-t523914.0.html
Eso son los bits que tenemos que cambiar, ya que tenemos parchado el programa nos pide el serial el cual lo divide en 2 partes, por ejemplo si ingreso 111111111222222222 este lo convierte en hexadecimal y queda así 18ABEF78AFFDD8E y lo divide así
primera parte ala que llamaremos a = 8AFFDD8E
segunda parte ala que llamaremos d = 18ABEF7
bueno primeramente a las 2 las pasa por la función xor y ala parte a la xorea con C88FFFC7 que en decimal es 3364880327 y ala parte d con 796E723 que en decimal es 127330083
despues de pasar por el xor a la dos partes se les resta pero a la parte d se le resta 1 si la bandera CF esta en 1
ala primera parte que es a se le resta B882ECC7 que en decimal es 3095588039 y a la segunda parte que es d sele resta 28E18DE que en decimal es 42866910
asi que yo me invente un simple programa de fuerza bruta pero no es ir intentando numero por numero no eso tardaria un monton, solo es ir cambiando los digitos del serial carater por carater y este nos dice que tanto nos vamos acercando o alejando
aqui se los dejo primero para calcular a
<html>
<head><title>Brute Force</title>
</head>
<body>
<center>
<br><br>
<input type="text" id="x" style="text-align:center;">
<input type="button" value="calcular" onclick="calcula()">
<br><br>
<textarea id="log" cols="50" rows="15"></textarea>
</center>
<script>
function calcula()
{
let valor=document.getElementById("x").value;
let a=0;b=0;
a=valor ^ 3364880327;
b=valor - 3095588039;
if(a==b)
{
document.getElementById("log").value="LOS DOS SON IGUALES";
}
else
{
document.getElementById("log").value="el valor de a=" + a + "\n\nel valor de b=" + b;
}
}
</script>
</body>
</html>
ahora para calcular d
<html>
<head><title>Brute Force</title>
</head>
<body>
<center>
<br><br>
<input type="text" id="x" style="text-align:center;">
<input type="button" value="calcular" onclick="calcula()">
<br><br>
<textarea id="log" cols="50" rows="15"></textarea>
</center>
<script>
function calcula()
{
let valor=document.getElementById("x").value;
let a=0;b=0;
a=valor ^ 127330083;
a++;
b=valor - 42866910;
if(a==b)
{
document.getElementById("log").value="LOS DOS SON IGUALES";
}
else
{
document.getElementById("log").value="el valor de a=" + a + "\n\nel valor de b=" + b;
}
}
</script>
</body>
</html>
Vamos a probar el primero no tiene caso que probemos los dos si se trabajan igual,
NOTA: este utimo codigo lo probe en chatgpt y meda una formula la cual meda el valor deseado, yo no entendi nada pero hay se las dejo
como vemos al final de la imagen esta el valor 85098497 que es el valor a buscar en fin seguimos
ingresamos 1082750659 y nos muestra lo siguiente
como vemos los 2 son numeros negativos pero estan serca uno del otro asi que modificare los ultimos digitos del numero 1082750659 por 1082750567 y me arroja...Nota tambien me dio 1082750559
son casi iguales asi que los ejecute y para el primero el valor es 1082750559 y el segundo 85098497 ahora los paso a hexadecimal
a= 85098497 ---> 5128001
d=1082750559 --->4089765F
despues lo juntamos
51280014089765F ---->365495262636504671
luego ingresamos el serial en el crackme y nos arroja lo siguiente
El crackme tiene varias soluciones hacerle un keygen creo que es algo complicado mas si usas html con javascript manejar numeros negativos da problemas y aparte que son numeros grandes, se me ocurre un keygen que este cambie los digitos del codigo anterior por nosotros pero eso lo veo complicado en fin saludos Flamer
lunes, 6 de abril de 2026
Solucion al Reto Crackme 1 by RedH@wK
Hola amigos hoy vengo con la solución del reto 1 de redH@wK, al principio yo creía que era necesario un nombre y un serial, pero la cosa era más sencilla de lo que parecía. Aquí una foto del reto.
Analizándolo un poco me di cuenta de que está hecho en VB6 y está en P-Code así que al abrirlo con x64dbg no pude ver el código ensamblador. Me dijeron en crackslatinos que poniendo un breakpoint en msvbvm60.dll podía verlo analizándolo y ver lo que hacía, pero yo buscaba cómo verlo de perdida en ASM, así que busqué algunas herramientas; una de ellas fue VB Decompiler, el cual me daba el código en P-Code aquí una imagen.
y tambien la herramienta VBDEC, la cual me mostraba lo mismo que la anterior aquí una imagen.
Dim txt As String
txt = txtPassword.Text
If txt = "" Then
Form1.Show
Me.Hide
Else
MsgBox "Serial no valido. Vuelve a intentarlo"
txtPassword.SetFocus
SendKeys "{Home}+{End}"
End If
sábado, 4 de abril de 2026
Resolviendo el reto 5 de JavaScript de la pagina rogerfm.net usando ChatGPT
Hola amigos hoy veremos como resolvemos el reto de JavaScript de la página rogerfm.net el más difícil que es el número 5, por lógica se sabe que si resolvemos este los demás son pan comido pues se supone que este es el más difícil bueno pero si se preguntan como lo resolveremos pues les diré que lo haremos usando la herramienta de ChatGPT bueno empecemos este es el reto.
Así que elegimos el 5 y nos muestra lo siguiente:
Elegimos la opción ver fuente del marco y nos mostrará el código fuente del marco en HTML y es el siguiente:
Copiamos el codigo de JavaScript como en la imagen y la pegamos en ChatGPT y le decimos lo analize:
Asi que lo analiza y nos suelta una explicacion de lo que hace el codigo pero ahora le pido que me de la contraseña:Bueno como ven es algo sencillo usando esta herramienta de IA y no hay necesidad de quebrarse la cabeza en fin espero les guste saludos Flamer
martes, 3 de marzo de 2026
Convertir De Texto a voz en JavaScript y Html
<html>
<head>
<title>De texto a Voz</title>
</head>
<body>
<marquee>De texto a Voz By Flamer</marquee><br><br>
<center>
Texto:<br><br>
<textarea id="text" name="comentarios" rows="20" cols="50">Hola mundo</textarea><br>
<input type="button" value="Aceptar" onclick="hablar()">
</center>
<script>
function hablar()
{
var voz = new ActiveXObject("SAPI.SpVoice"); //crea un objecto SAPI
var txt = document.getElementById("text").value; //toma el valor del campo de texto text
if(txt=="")
{
alert("Campo de voz vacio");
}
else
{
voz.Speak(txt); //reproduce el texto a voz
}
}
</script>
</body>
</html>
Ahora, si lo quieren hacer con la extensión HTML, aquí les dejo su código.
<html>
<head>
<title>Texto a Voz JavaScript by Flamer</title>
</head>
<body>
<center>
<h2>Conversor de Texto a Voz</h2>
<textarea id="texto" rows="4" cols="30">Hola mundo, esto es una prueba de voz.</textarea>
<br>
<button onclick="hablar()">Hablar</button>
</center>
<script>
function hablar()
{
// 1. Obtener el texto
const texto = document.getElementById("texto").value;
// 2. Crear el objeto de síntesis de voz
const mensaje = new SpeechSynthesisUtterance(texto);
// 3. Configurar idioma y voz
mensaje.lang = 'es-ES'; // Idioma español
mensaje.rate = 1; // Velocidad (0.1 a 10)
mensaje.pitch = 1; // Tono (0 a 2)
// 4. Reproducir
window.speechSynthesis.speak(mensaje);
}
</script>
</body>
</html>



























