anun1

martes, 25 de marzo de 2025

Cifrado de cesar en python

Hola hoy haremos el codigo del cifrado de cesar en python tal como dice el titulo primero pedimos al usuario que nos de la frase y despues inicializamos la variable cadena con los caracteres correspondientes y un try por si pasa algun error

try:

   frase=input("Ingresa la frase a encriptar: ")

   cadena="ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz0123456789"

luego le pedimos al usuario que ingrese el numero de caracteres a desplazar y preguntamos con un if si el valor que ingreso es menor a el numero de caracteres de la variable cadena, dicho valor se almacena en la variable p

p=int(input("Dame el numero de caracteres a desplazar: "))   

   if p<len(cadena):

si se cumple la condicion entrara al if y luego de eso incializamos las variables cifrado y posicion

cifrado=""

posicion=0

despues creamos un ciclo for para tomar cada caracter de uno en uno de la palabra frase y preguntar si se encuentra en la variable cadena con el comado if...aclaro la variable x es tipo string y toma el primer caracter, despues el segundo y asi sucesivamente y pregunta en el if si se encuentra en la variable cadena, si entra en el if tomamos la posicion donde se encuentra en la variable cadena y nos desplazamos el numero de veces que dijo el usuario y toma el nuevo caracter de la variable cadena y la almacena o lo concatena en la variable cifrado

for x in frase: #ciclo for toma caracter por caracter con la variable x

     if x in cadena: #pregunta si el caracter tomado de frase se encuentra en la variable cadena

     posicion=(cadena.index(x)+p) #encuentra la posicion de el caracter en la variable cadena y le suma el numero de desplazamiento dado por el usuario

     cifrado+=cadena[posicion] #concatena el nuevo caracter en la variable cifrado

por ultimo imprimimos el resultado del cifrado con el comando print y si sucede algun error

 print("texto cifrado: ",cifrado)

else: 

      print("Error fuera de rango")  

except ValueError:

   print("Error al ingresar algun dato")


aqui les dejo el codigo completo

try:
   frase=input("Ingresa la frase a encriptar: ")
   cadena="ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz0123456789"
   
   p=int(input("Dame el numero de caracteres a desplazar: "))   
   if p<len(cadena):
      cifrado=""
      posicion=0
      
      for x in frase:
         if x in cadena:
            posicion=(cadena.index(x)+p) 
            cifrado+=cadena[posicion]
      print("texto cifrado: ",cifrado)
   else: 
      print("Error fuera de rango")  
except ValueError:
   print("Error al ingresar algun dato")

aqui una foto del codigo en ejecucion



bueno saludos Flamer y espero les sea de su agrado


domingo, 23 de marzo de 2025

Crear el triangulo de pascal en python y javascript

Hola ahora veremos como crear el triangulo de pascal, primero lo haremos en python despues en html y javascript.

como dije primero en python asi que pedimos el numero de lineas asi

try: #aqui ponemos un try por si el usuario ingresa un valor no numerico

lineas=int(input("Dame el numero de lineas: "))

 despues creamos un for el ciclo se repetira segun el numero de lineas del triangulo

for x in range(lineas):

dentro de este se encuentran 2 for anidados, el primero es para poner los espacios en blanco asi

for e in range(lineas-x+1):

         print(end=" ") 

despues inicializamos la variable valor a 1 y el segundo for imprime la linea de la piramide correspondiente con el comado print y el valor de la variable valor mas un espacio y se calcula el siguiente valor de la linea con la formula dentro del for

valor=1 

      for y in range(0,x+1):  #for anidado

         print(valor," ",end="") #imprime la variable valor

         valor=int(valor*(x-y)/(y+1)) #formula para calcular el valor siguiente de la linea de la piramide

saliendo del for se usa print para un salto de linea y mas abajo la excepción

 print("")     

except ValueError:

   print("Error al ingresar algun dato") 

bueno aqui les dejare el codigo completo

try:
   lineas=int(input("Dame el numero de lineas: "))
   for x in range(lineas):              
      for e in range(lineas-x+1):
         print(end=" ") 
      valor=1 
      for y in range(0,x+1):  
         print(valor," ",end="") 
         valor=int(valor*(x-y)/(y+1))
      print("")     
except ValueError:
   print("Error al ingresar algun dato")

bueno ami no me gusta ese asunto de usar la formula y otra cosa se distorciona si pones valores altos asi quedaria como se muestra en la imagen si lo ejecutamos




asi que hice mi version en html y javascript y un poco mas visual aqui el codigo y este no usa la formula de python

asi que primero creamos el cuadro de texto, el boton, el div y la marquesina y lo centramos asi

<html>

<head><title>triangulo de pascal</title>

</head>

<body>

<marquee>Creando el triangulo de pascal ...::::By Flamer::::...</marquee>

<br><br>

<center>

Ingresa el numero de filas:<input type="text" id="long" style="text-align:center;"><input type="button" value="Generar" onclick="Generar()"><br><br>

<div id="tri"></div> 

dentro de la etiqueta <script> creamos la funcion generar

<script>

function Generar() //funcion generar

{

   var largo=document.getElementById("long").value //inicializamos la variable valor a el numero dado por el usuario

   var code="",a=0,b=0,c="",d="" //declaramos las variables a usar mas adelante

   

  for(var x=0;x<largo;x++) //ciclo for y otro ciclo for anidado para crear los cuadros de textos

  {

     for(var y=0;y<=x;y++) //for anidado

{

    code+="<input type='text' id='" + x + "-" + y + "' style='background-color:black;color:white;width:50;height:50;text-align:center;'>" //creo los cuadros de textos y se almasenan en la variable code

}

code+="<br>" //inserto un salto de linea

  }

  document.getElementById("tri").innerHTML=code //inserto los cuadros de texto creados en el div


bueno ahora creamos otros for y for anidados para ingresar los valores a la piramide de pascal

for(x=0;x<largo;x++) //este for se repite segun la cantidad de lineas

  {

     for(y=0;y<=x;y++) //este for anidado se repite segun el valor de x, o sea segun el numero de cuadros de la linea

{

    if(y==0) //if que pregunta si la variable "y" es igual a cero si es asi entra e ingresa el valor de 1 al cuadro espesifico

{

   document.getElementById(x + "-" + y).value=1 //aqui ingresa 1 al cuadro correspondiente

}

else if(y==x)//if que pregunta si la variable "y" es igual a "x" si es asi entra e ingresa el valor de 1 al cuadro espesifico

{

   document.getElementById(x + "-" + y).value=1 //aqui ingresa 1 al cuadro correspondiente

}

else if(y==1 || (y+1)==x) //if que pregunta si la variable "y" es igual a 1 o si la variable "y+1" es igual a "x" si es asi el cuadro especifico de la piramide valdra x, si se cumple alguna de las condiciones entra al if

{

  document.getElementById(x + "-" + y).value=x //ingresa el valor de x a el cuadro

}

else if(document.getElementById(x + "-" + y).value=="") //if que pregunta si el cuadro a seguir esta vacio, si es asi entra

{

   a=x-1 //le resta 1 a x

   b=y-1 //le resta 1 a y

   c=document.getElementById(a + "-" + b).value //le pasa el valor de ese cuadro a la variable c

   d=document.getElementById(a + "-" + y).value //le pasa el valor de ese cuadro a la variable d

   document.getElementById(x + "-" + y).value=parseInt(c)+ parseInt(d) //suma los cuadros que se encuentran arriba de el cuadro que estamos para calcular el valor de este

}

}

 

  }  

bueno aqui el codigo completo

<html>
<head><title>triangulo de pascal</title>
</head>
<body>
<marquee>Creando el triangulo de pascal ...::::By Flamer::::...</marquee>
<br><br>
<center>
Ingresa el numero de filas:<input type="text" id="long" style="text-align:center;"><input type="button" value="Generar" onclick="Generar()"><br><br>
<div id="tri"></div>

<script>
function Generar()
{
   var largo=document.getElementById("long").value
   var code="",a=0,b=0,c="",d=""
   
  for(var x=0;x<largo;x++)
  {
     for(var y=0;y<=x;y++)
	 {
	    code+="<input type='text' id='" + x + "-" + y + "' style='background-color:black;color:white;width:50;height:50;text-align:center;'>"
	 }
	 code+="<br>"
  }
  document.getElementById("tri").innerHTML=code
  
  for(x=0;x<largo;x++)
  {
     for(y=0;y<=x;y++)
	 {
	    if(y==0)
		{
		   document.getElementById(x + "-" + y).value=1
		}
		else if(y==x)
		{
		   document.getElementById(x + "-" + y).value=1
		}
		else if(y==1 || (y+1)==x)
		{
		  document.getElementById(x + "-" + y).value=x 
		}
		else if(document.getElementById(x + "-" + y).value=="")
		{
		   a=x-1
		   b=y-1
		   c=document.getElementById(a + "-" + b).value
		   d=document.getElementById(a + "-" + y).value
		   document.getElementById(x + "-" + y).value=parseInt(c)+ parseInt(d)
		}
	 }
	 
  }  
}
</script>
</center>
</body>
</html>


ahora una imagen de este


 nota: no ingresen valores muy altos por que no caberan en pantalla

bueno saludos y espero les halla gustado flamer




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