anun1

miércoles, 12 de marzo de 2025

Leer n numero de personas y ordenarlos por edades de menor a mayor en python usando array, clases y objectos

Hola amigos hoy les dejare un codigo simple el cual es leer un numero n de personas con sus nombres y edades, despues acomodarlas de menor a mayor todo esto lo haremos usando python bueno empesemos

primero crearemos el archivo llamado persona.py, donde esta la usaremos como clase la cual contendra los siguiente

class person:

en esa linea declaramos la clase person  no se les olvide poner los dos puntos, despues declaramos la funcion __init__ la cual inicialisara las variables que se encuentran en esa funcion y que utilisaremos que son el nombre y la edad

def __init__(self,nombre,edad):

   self.nombre=nombre

   self.edad=edad

por ultimo declaramos la funcion __repr__ la cual la usaremos para imprimir todos los valores del array de la clase  que usaremos

def __repr__(self):

    return str(self.__dict__)

y si se preguntan que es self este hace referencia al contenido del objecto en la clase, en fin es complicado de explicar para mi ya que soy iniciado en este lenguaje pero en google lo pueden buscar....El codigo completo de la clase quedaria asi

class person:
   def __init__(self,nombre,edad):
      self.nombre=nombre
      self.edad=edad
   def __repr__(self):
      return str(self.__dict__)

ahora creamos el archivo main.py y la primera linea sera importar la clase que creamos anteriormente asi

import persona

despues ponemos un try: por si el usuario en ves de ingresar un valor numerico ingresa una cadena o string se ejecutara el siguiente codigo

except ValueError:

   print("Error al ingresar algun dato") 

despues pedimos el numero de personas a ingresar y declaramos el arreglo llamando  p

num=int(input("Dame el numero de personas: "))

p=[]

seguido de eso agregamos un ciclo for donde pediremos que ingrese el nombre de la persona y su edad y agragndola al arreglo o array

for n in range(0,num): #ciclo for de 0 a numero de personas

      nom=input("Dame su nombre: ") #pide el nombre y lo almasena en nom

      eda=int(input("Dame su edad: ")) #pide la edad y lo almacena en eda

      p.append(persona.person(nom,eda)) #aqui lo agregamos al array

despues ordenaremos el array segun la edad de cada persona de menor a mayor usando el comando sorted, el cual lleba los siguientes parametros p que es el array de personas y key=lambda x que es una funcion que se considera concisa y anonima en python la cual lleva como argumento la variable x y le indicamos x.edad para que ordene los datos de menor a mayor edad

res = sorted(p,key=lambda x: x.edad)

por ultimo imprimimos el array con el comando print

print(res)

el codigo completo quedaria asi

import persona
try:
   num=int(input("Dame el numero de personas: "))
   p=[]

   for n in range(0,num):
      nom=input("Dame su nombre: ")
      eda=int(input("Dame su edad: "))
      p.append(persona.person(nom,eda))
   
   res = sorted(p,key=lambda x: x.edad)
   print(res)
except ValueError:
   print("Error al ingresar algun dato") 

otra cosa los archivos tanto como main.py y persona.py deben estar en la misma carpeta yo para este ejemplo los puse en el escritorio pero pueden ponerlos donde gusten...asi quedaria la salida


bueno saludos flamer y espero les guste


Nota: no pondre nada relacionado con crackmes o reversing por que tengo miedo que me eliminen el blog ya que son temas que parese a google no le gusta que toquen, solo pondre algunos programas cosas simples y tampoco nada de hacking

 

domingo, 9 de marzo de 2025

Imprimir la serie fibonacci en python

Hola hoy les dejare un simple programa en python el cual imprime la serie fibonacci hasta n numeros, primeramente empesamos con un simple mensaje al usuario que es el siguiente

print("Este simple programa imprime la serie de numeros fibonacci hasta n numeros, donde n es ingresado por el usuario\n\n")

despues ponemos try: por si hay error de que el usuario ingrese un valor string osea letras en ves de un valor numerico, si sucede eso el programa marcara error y nos arrojara el siguiente mensaje como excepción

except ValueError:

     print("Variable n no definida...")  

 

si todo va bien nos pedira el valor n que es el numero de valores que quieras que sean imprimidos de la serie fibonacci bueno pedimos n asi

n=int(input("dame el valor de n : "))

despues unicializamos las siguientes variables

a=0

b=0

c=1

despues imprimimos el valor de b y c y restamos 2 a n

print(b)

print(c)

n-=2

por ultimo creamos el ciclo for donde sera imprimido los valores de la serie

for inicio in range(0,n): # ciclo for 

     a=b+c #a va hacer igual a b+c

     print(a) #imprime a

     b=c #pasa el valor de c a b

     c=a # pasa el valor de a a c

donde nos quedara el codigo completo asi

print("Este simple programa imprime la serie de numeros fibonacci hasta n numeros, donde n es ingresado por el usuario\n\n")
try:
   n=int(input("dame el valor de n : "))
   a=0
   b=0
   c=1

   print(b)
   print(c)

   n-=2

   for inicio in range(0,n): # ciclo for 
     a=b+c
     print(a)
     b=c
     c=a
   
except ValueError:
     print("Variable n no definida...")


ahora lo ejecutamos y nos muestra lo siguiente



bueno espero y sea de su agrado saludos Flamer


martes, 4 de marzo de 2025

Usando Las Apis ReadProcessMemory y WriteProcessMemory en C++

Hola amigos hoy les traigo un nuevo programa es como usar las apis mensionadas en el titulo ReadProcessMemory y WriteProcessMemory  en c++ yo ya habia hecho un video y un programa en vb6 pero el video me lo tumbaron de la plataforma de youtube ya que me bloquearon la cuenta en fin ahora lo traigo en c++ es sencillo, antes que nada se bajan el dev c++ si no lo tienen y le dan clic en  

declaramos las librarias a usar que son 2 y la ultima linea es para no estar escribiendo std:: a cada rato

#include<iostream>
#include<windows.h>

using namespace std;

enseguida de eso declaramos el main y la variable pid como variable DWORD y le pedimos al usuario que nos de el pid del proceso

int main()

{

   DWORD pid;

   cout<<"dame el pid del preceso: ";

   cin>>pid; 

para saber el pid de un ejecutable entran al administrador de tareas y fijais en el pid, si no les aparece solo den clic derecho en la barra de arriba  y palamean la opcion pid asi


para los que no saben sacar el administrador de tareas solo dan clic en la tecla windows + R y teclean taskmgr asi


ahora tecleamos lo siguiente en el codigo

char texto[64]; 

void *direccion;

HANDLE Proceso=OpenProcess(PROCESS_ALL_ACCESS,0,pid);

lo que hace esta parte es declarar una variable char llamada texto con 64 espacios de memoria donde cada espacio ocupara una letra asi que ustedes le pueden poner mas de 64 si quieren leer mas bytes de memoria yo solo puse 64 para el ejemplo le pueden poner mas.

declaramos la variable direccion como void y usamos la api OpenProcess para abrir el proceso o ejecutable que vamos a leer, otra cosa yo aqui no estoy usando las apis

 FindWindow, GetProcessId y GetWindowThreadProcessId  

para buscar el preceso en ejecucion por su nombre y luego abrirlo no, aqui usaremos el administrador de tareas y el usuario nos dara el pid del ejecutable, lo puedo hacer asi pero lo quise hacer mas sencillo y sin tanto rollo seguimos

if(Proceso)

{

    cout<<"Dame la direccion: ";

    cin>>direccion;

ReadProcessMemory(Proceso,direccion,&texto,sizeof(texto),0);

cout<<"El texto: "<<texto<<"  a sido encontrado ingrese el nuevo texto: ";

cin>>texto;

    WriteProcessMemory(Proceso,direccion,&texto,sizeof(texto),0);

    

    cout<<"El texto a sido ingresado correctamente";

}

}

ponemos un if si el preceso lo abrio devolvera un true y entra al if, despues de eso le pedimos al usuario que nos de la direccion de memoria que vamos a leer, para buscar la direccion de memoria usaremos el cheat engine lo pueden descargar si no lo tienen, despues usando la api ReadProcessMemory leemos la posicion de memoria pasandole el proceso, la direccion, el array de char que la llamamos texto y la longitud de el con sizeof(texto) que es 64

de la api WriteProcessMemory no es nesesario explicar funciona igual pero en ves de leer escribe y se le pasan los mismos datos asi que el codigo completo queda asi


#include<iostream>
#include<windows.h>

using namespace std;

int main()
{
   DWORD pid;
   cout<<"dame el pid del preceso: ";
   cin>>pid;
  	
   char texto[64]; 
   void *direccion;
   HANDLE Proceso=OpenProcess(PROCESS_ALL_ACCESS,0,pid);
   	
	if(Proceso)
	{	
	    cout<<"Dame la direccion: ";
	    cin>>direccion;
		
		ReadProcessMemory(Proceso,direccion,&texto,sizeof(texto),0);
		
		cout<<"El texto: "<<texto<<"  a sido encontrado ingrese el nuevo texto: ";
		cin>>texto;
		
	    WriteProcessMemory(Proceso,direccion,&texto,sizeof(texto),0);
	    
	    cout<<"El texto a sido ingresado correctamente";
	}
	
}


ya despues lo compilamos y ejecutamos aqui




nos pide el pid del ejecutable yo para este ejemplo usare el crackme de hendrix este y en el cuadro de texto le pondre polomon


abro el administrador de tareas en mi pc y miro que el pid es 3184


asi que lo tecleo en mi programa para leer


ahora antes de seguir busco la posicion de memoria de la palabra polomon que teclee en el programa de hendrix con el cheat engine asi


y buscamos el preceso aqui esta


damos clic en open y buscamos la palabra polomon asi


aparece lo siguiente


damos enter donde pusimos el pid y tecleamos la direccion de memoria asi


damos enter y nos arroja lo siguiente



 ahora para el nuevo texto que pondre sera 1234567890 y damos enter y me arroja lo siguiente


como ven solo escribio 7 digitos los mismos digitos que tiene polomon, en fin falta mucho que perfeccionar este simple codigo es para que se vallan familiarizando con estas apis...otra cosa este codigo no lee cadenas de unicode si tratan de leer solo leera la primera letra pero en fin eso para otro tema

saludos flamer y espero les halla gustado este simple codigo 


lunes, 3 de marzo de 2025

Crear una simple calculadora en javascript y html

Hola amigos hoy les dejare un codigo de una calculadora muy simple no es la gran cosa pero es para entretenerse un rato, lo hice lo mas simple que pude y sencillo solo copean el codigo y lo pegan en el bloc de notas y le ponen la extencion html 

bueno aqui una imagen de ella


bueno aqui el codigo 

 
<html>
<head><title>Calculadora</title>
</head>
<body>
<marquee>Mi Calculadora</marquee>
<br><br><br><br>
<center>
<input type="text" value="" size="30" id="log" disabled><br><br>
<input type="button" value="1" onclick="num('1')" style="width:50;height:50;font-size:30;">
<input type="button" value="2" onclick="num('2')" style="width:50;height:50;font-size:30;">
<input type="button" value="3" onclick="num('3')" style="width:50;height:50;font-size:30;">
<input type="button" value="+" onclick="num('+')" style="width:50;height:50;font-size:30;"><br>

<input type="button" value="4" onclick="num('4')" style="width:50;height:50;font-size:30;">
<input type="button" value="5" onclick="num('5')" style="width:50;height:50;font-size:30;">
<input type="button" value="6" onclick="num('6')" style="width:50;height:50;font-size:30;">
<input type="button" value="-" onclick="num('-')" style="width:50;height:50;font-size:30;"><br>

<input type="button" value="7" onclick="num('7')" style="width:50;height:50;font-size:30;">
<input type="button" value="8" onclick="num('8')" style="width:50;height:50;font-size:30;">
<input type="button" value="9" onclick="num('9')" style="width:50;height:50;font-size:30;">
<input type="button" value="*" onclick="num('*')" style="width:50;height:50;font-size:30;"><br>

<input type="button" value="AC" onclick="num('ac')" style="width:50;height:50;font-size:30;">
<input type="button" value="0" onclick="num('0')" style="width:50;height:50;font-size:30;">
<input type="button" value="=" onclick="num('=')" style="width:50;height:50;font-size:30;">
<input type="button" value="/" onclick="num('/')" style="width:50;height:50;font-size:30;"><br>

</center>
<script>
function num(n)
{
  switch (n)
  {
     case "1":
	 case "2":
	 case "3":
	 case "4":
	 case "5":
	 case "6":
	 case "7":
	 case "8":
	 case "9":
	 case "0":
	 case "+":
	 case "-":
	 case "*":
	 case "/":
        document.getElementById("log").value+=n
		break
	 case "ac":
	    document.getElementById("log").value=""
		break
	 case "=":
	    var cadena=document.getElementById("log").value
	    document.getElementById("log").value=eval(cadena)
        break
  }
}  

</script>
</body>
</html>

como ven primero declaramos los input que son el cuadro de texto y los botones y mas abajo en el bloque script se encuentra la funcion num(n) la cual obtiene el elemento que fue precionado si es un numero o un operando mas, menos, multiplicacion y etcétera.

si preciona el boton AC limpia el cuadro de texto y si preciona el igual calcula la ecuacion con el comando eval

espero les guste y si hago cosas sencillas es que son para principiantes que van empesando en el mundo de la programacion, yo no me declaro maestro o profecional soy novato a un y me toca mucho que aprender saludos Flamer


miércoles, 26 de febrero de 2025

Imprimir el promedio de un alumno en python usando array

Hola aqui les dejo un pequeño programa para calcular el promedio de un alumno usando python, es sencillo de comprender para los que se inician en este lenguaje

bueno primero pedimos el numero de materias del alumno asi

alumno=int(input("dame la cantidad de materias: "))

despues inicializamos una variable a cero y declaramos un array

cali=0 

nombres=[]

despues declaramos un ciclo for el cual pide el nombre de las materias y las almacena en un array y pide la calificacion de dicha materia para despues sumarla a la variable cali

for materia in range(0,alumno): 

   nom=input("dame el nombre de la materia "+ str(materia+1) + " : ") 

   nombres.append(nom)   

   c=int(input("dame la calificacion de la materia " + nom + " : ")) 

   cali+=c

saliendo del ciclo for calculamos el promedio dividiendo la suma de las calificaciones de cada materia entre el numero de ellas, la suma se encuentra en la variable cali y el numero de materias en la variable alumno

cali=cali/alumno

por ultimo imprimimos los resultados usando el comando print

print("tu promedio de las " + str(len(nombres)) + " es: " + str(cali))

bueno aqui les dejo el codigo completo


#pedimos la cantidad de materias con input y se almacena en la variable alumno
alumno=int(input("dame la cantidad de materias: "))
cali=0 # inicializamos la variable en 0 
nombres=[] #declaramos el array de nombres

for materia in range(0,alumno): # ciclo for 
   nom=input("dame el nombre de la materia "+ str(materia+1) + " : ") # pedimos el nombres de materias
   nombres.append(nom) # agragamos el nombre de la materia al array   
   c=int(input("dame la calificacion de la materia " + nom + " : ")) #pedimos la calificacion
   cali+=c # sumamos la calificacion

cali=cali/alumno # lo dividimos para calcular el promedio

print("tu promedio de las " + str(len(nombres)) + " es: " + str(cali)) #imprimimos el resultado


bueno espero les alla gustado saludos flamer


Solucion al error de xampp error exception eaccessviolation in module xampp control exe at 0025b292

Hola amigos hoy vamos a ver como solucionamos el error que nos muestra al dar clic en el boton salir de la aplicacion XAMPP, les muestro primero voy a ejecutar xampp y doy clic en salir


 y al dar clic nos muestra lo siguiente


para quitar esta ventana tendremos que ir al administrador de tareas y eliminar el proceso, damos clic derecho y eliminar proceso o precionando el boton suprimir

sino saben como sacar el administrador de tareas solo precionan la tecla windows+R y escriben taskmgr



bueno ahora para solucionar esto solo tenemos que irnos a la carpeta donde tenemos instalado XAMPP y buscamos el archivo xampp-control.ini es en esta ruta

C:\xampp


ya que lo encontramos pasamos a eliminarlo damos clic derecho y eliminar, despues de eliminarlo y volver ejecutar el xampp nos aparacera la siguiente ventana solo la primera ves


asi que damos clic en save y listo problema resuelto

saludos Flamer y espero les halla gustado


martes, 25 de febrero de 2025

Crear formulario de acceso con captcha y PHP

Hola amigos hoy vamos a crear un formulario de acceso con captcha, es muy sensillo solo copean el codigo en bloc de notas y otra cosa deberan de tener instalado el XAMPP el cual trae el apache y php entre otras herramientas si no saben como instalarlo les dejo el link de como instalarlo en una publicacion anterior que hice

https://elblogdeflamer.blogspot.com/2023/03/descargar-e-instalar-xampp-64-bits.html

bueno ya instalado copeamos el siguiente codigo en el bloc de notas y lo aguardamos en la ubicacion

C:\xampp\htdocs

yo le puse como nombre hola.php y asi quedaria el codigo, otra cosa  la clave del captcha para este codigo hola.php es esta siguiente...Nota mas abajo biene como obtener la clave



<html>
<head>
<title>login</title>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>'CAMPO OBLIGATORIO
</head>
<body>
<br><br><br>
<center>
<form action="login.php" method="post">
nombre:<input type="text" value="" name="nom"><br><br>
Contraseña:<input type="text" value="" name="pass"><br><br>
<input type="submit" value="Entrar">
<div class="g-recaptcha" data-sitekey="6Lcy0-IqAAAAAEsjwexDwAJ-1uucQYzgeTBT8JQ_"></div>'AQUI LA CLAVE DEL CAPTCHA</form>
</center>
</body>
</html>

y como ven el formulario manda la informacion a la pagina login.php y asi nos quedaria el codigo de este, otra cosa la clave para del captcha es esta




<?php
$nombre=$_POST['nom'];
$contraseña=$_POST['pass'];
$ip=$_SERVER['REMOTE_ADDR'];
$captcha=$_POST['g-recaptcha-response'];
$clavesecreta="6Lcy0-IqAAAAALro9NMrthncfLtOE0GyHh3gWrWK";'AQUI LA CLAVE DEL CAPTCHA

$respuesta=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=$clavesecreta&response=$captcha&remoteip=$ip");

$datos=json_decode($respuesta,TRUE);

if(!$datos['success'])
{
	echo "Error verificar captcha";
}
else
{
	if(empty($nombre) || empty($contraseña))
	{
		echo "Error campos vacios";
	}	
	else if($nombre=="Flamer" && $contraseña=="123456789")
	{
		echo "Acceso Consedido";
	}	
	else
    {
		echo "Error de datos";
	}		
}	
?>

asi se mira la pagina del hola.php


ahora les dire como obtener las claves para la captcha nos iremos a esta pagina

https://www.google.com/recaptcha/admin/create


aqui nos aparecera lo siguiente



aqui ponen la etiqueta, el tipo y el dominio yo puse localhost y 127.0.0.1 por que estoy trabajando en mi propia maquina su su idea es poner la captcha en una pagina deberan poner el dominio hay en ese campo, bueno le dan en enviar y les aparesera las claves

esas son las claves no deberan de compartirlas si piensan agragarlas en un sitio, yo las eliminare solo las hise para este texto asemos lo siguiente


 clic en configuraciones y despues clic en eliminar


 

bueno yo ya las elimine, otra cosa las contraseña y el nombre deberian ir en la base de datos pero yo solo hice esto para el ejemplo...si hay errores por favor avisar


bueno saludos y espero les halla gustado saludos flamer