anun1

martes, 7 de diciembre de 2021

Generador de contraseñas en javascript y html

 Hola  amigos hoy les dejare un generador de contraseñas hecho en html y javascript, esta hecho lo mas simple posible.... una cosa que les  queria comentar borre todo lo relacionado con los crackmes y hacking en mi blog ya que al parecer es algo prohibido y me estaba ocacionando problemas una de las cosas que paso fue que me borraron el canal de youtube, asi que estare enseñando solo programacion y si es posible en javascript y vbscript y si es en un lenguaje de programacion como c++ o vb.net  solo subire el codigo de los ejecutables  no no quiero desconfiansas de virus ni nada por el estilo.

bueno primero daremos color a el fondo lo pintaremos de negro para eso ponemos el comando bgcolor en el body asi

<body bgcolor="black">

despues de esto crearemos una marquesina con el comando <marquee> y con un div adentro el cual llebara el mensaje a mostrar en la marquesina

<marquee><div style="font-size:40;color:white;">Generador de claves :::By Flamer:::</div></marquee>

luego crearemos un cuadro de texto con el comando input type y con el texto centrado, color de fondo negro y color de texto blanco

<input type="text" id="log" size="50" style="text-align:center;color:white;background-color:black;">

despues creamos el boton copiar asi

<input type="button" value="Copiar" onclick="copy()"><br><br>

si se preguntan que es <br> son saltos de linea, luego declaramos un label que es el que tiene el mensaje de longitud de clave

<label style="font-size:14;color:white;">Longitud de Clave:</label>

despues de esto declaramos un select el cual tendra los diferentes longitudes de la clave o sea el numero de digitos de la clave

<select id="longi" style="color:white;background-color:black;">

  <option value="8">8</option>

  <option value="9">9</option>

  <option value="10">10</option>

  <option value="11">11</option>

  <option value="12">12</option>

  <option value="13">13</option>

  <option value="14">14</option>

  <option value="15">15</option>

  <option value="16">16</option>

  <option value="17">17</option>

  <option value="18">18</option>

  <option value="19">19</option>

  <option value="20">20</option>

  <option value="21">21</option>

  <option value="22">22</option>

  <option value="23">23</option>

  <option value="24">24</option>

  <option value="25">25</option>

  <option value="26">26</option>

  <option value="27">27</option>

  <option value="28">28</option>

  <option value="29">29</option>

<option value="30">30</option>

</select>

por ultimo ponemos dos botones uno que genera las claves de forma automatica el cual lo hace al darle clic al boton este llama a una funcion llamada genera() y otro para detener el proceso de generacion de claves el cual llama a una funcion llamada stop y detenga el proceso

<input type="button" value="Generar" onclick="genera()">

<input type="button" value="detener" onclick="stop()">

ahora pasaremos al codigo script asi que ponemos una seccion llamada <script> y cierra con un </script> dentro de esta seccion declaramos una variable global llamada time la cual esta encargada de llebar el tiempo de 10 milisegundos en cada generacion de clave

var time;

despues declaramos la funcion copy la cual se encarga de copiar lo que se encuentra en el cuadro de texto que declaramos anteriormente

function copy()

{

  document.getElementById("log").select();

  document.execCommand('copy');

}

despues de esto declaramos la funcion genera la cual es la que generara las claves dentro de esta esta la primer linea donde declaro la variable cadena con todos los digitos que pueden llevar las claves que generaran y la variable clave y digi en null

var caden = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz",clave="",digi="";

linea abajo declaro la variable l la cual toma el numero de digitos de la variable cadena

 var l = caden.length-1;

linea abajo declaro la variable largo la cual toma el valor de el objecto select, me rifiero al largo de cada clave a generar y tomado el valor este pasa aser convertido a entero con el comando parseInt

var largo=parseInt(document.getElementById("longi").value);

linea abajo declaramos un ciclo for el cual se repetira dependiendo de la variable largo o sea del numero de digitos que la clave que se generara,  cada giro toma un digito aleatorio de la variable cadena y aguardado en la variable digi y despues concatenado con la variable clave la cual llebara la clave generada

for(x=0;x<=largo;x++)

   {

      digi = Math.round(Math.random() * (l - 0) + 0);

      clave+=caden.substr(digi,1);

   }

linea abajo pasamos el valor de la variable clave al cuadro de texto donde se mostrara

document.getElementById("log").value=clave;

por ultimo volvemos a llamar la funcion genera con el comando setTimeout 

time=setTimeout("genera()",10);

despues declaramos la funcion stop la cual se encarga de detener el proceso de generacion de claves

function stop()

{

   clearTimeout(time);

}

ahora por ultimo les dejo el codigo completo




<html>

<head><title>Generador de claves</title>

</head>

<body bgcolor="black">

<marquee><div style="font-size:40;color:white;">Generador de claves :::By Flamer:::</div></marquee>

<br><br>

<br><br>

<br><br>

<center>

<input type="text" id="log" size="50" style="text-align:center;color:white;background-color:black;"><input type="button" value="Copiar" onclick="copy()"><br><br>

<label style="font-size:14;color:white;">Longitud de Clave:</label><select id="longi" style="color:white;background-color:black;">

  <option value="8">8</option>

  <option value="9">9</option>

  <option value="10">10</option>

  <option value="11">11</option>

  <option value="12">12</option>

  <option value="13">13</option>

  <option value="14">14</option>

  <option value="15">15</option>

  <option value="16">16</option>

  <option value="17">17</option>

  <option value="18">18</option>

  <option value="19">19</option>

  <option value="20">20</option>

  <option value="21">21</option>

  <option value="22">22</option>

  <option value="23">23</option>

  <option value="24">24</option>

  <option value="25">25</option>

  <option value="26">26</option>

  <option value="27">27</option>

  <option value="28">28</option>

  <option value="29">29</option>

  <option value="30">30</option>

</select>


<input type="button" value="Generar" onclick="genera()">

<input type="button" value="detener" onclick="stop()">

</center>

<script>

var time;

function copy()

{

  document.getElementById("log").select();

  document.execCommand('copy');

}

function genera()

{

   var caden = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz",clave="",digi="";

   var l = caden.length-1;

   var largo=parseInt(document.getElementById("longi").value);

   for(x=0;x<=largo;x++)

   {

      digi = Math.round(Math.random() * (l - 0) + 0);

      clave+=caden.substr(digi,1);

   }

     document.getElementById("log").value=clave;

time=setTimeout("genera()",10);

}

function stop()

{

   clearTimeout(time);

}

</script>

</body>

</html>


bueno saludos Flamer


sábado, 4 de diciembre de 2021

Crear formulario en c++ con textbox, label y botones en Dev C++

Hola amigos hoy crearemos un formulario con un boton, un textbox y label asi que para eso abriremos nuestro editor de c++ que es Dev c++ y elegimos un proyecto nuevo



luego elegimos en la siguiente ventana  la opcion Windows Application y damos aceptar




bueno crearemos un cuadro de texto asi que para eso escribimos lo siguiente en el codigo, pero para eso ubicamos la linea que dice 

switch(Message) {

y damos unos enter por que es en esa seccion donde teclearemos el codigo, quedara algo asi


ahora para crear el cuadro de texto tecleamos la seccion case WM_CREATE quedaria asi



luego de esto crearemos un label dentro de la seccion WM_CREATE para eso tecleamos la siguiente linea

CreateWindow(TEXT("STATIC"),TEXT("Serial:"),WS_VISIBLE | WS_CHILD,10,40,60,20,hwnd,(HMENU) NULL,NULL,NULL);

luego de esto colocamos un break lineas abajo para que no se cierre el formulario el codigo quedaria asi


compilamos y ejecutamos y nos aparecera el siguiente formulario



bueno ahora pasaremos a crear el cuadro de texto para eso definimos la siguiente variable #define ID_TXTSERIAL 1 en la parte de arriba debajo de la linea #include <windows.h> quedaria algo asi


una linea abajo declaramos la variable serial asi

static HWND Serial;

luego dentro de la seccion WM_CREATE ponemos la siguiente linea para crear el cuadro de texto

Serial=CreateWindow(TEXT("EDIT"),TEXT(""),WS_VISIBLE | WS_CHILD | WS_BORDER,80,40,200,20,hwnd,(HMENU) ID_TXTSERIAL,NULL,NULL);

compilamos y ejecutamos y se mostrara lo siguiente



ahora pasaremos a crear un boton para eso definimos una variable para el boton y sera esta #define ID_BTN 2  en la seccion WM_CREATE ponemos la siguinete linea

CreateWindow(TEXT("BUTTON"),TEXT("VALIDAR"),WS_VISIBLE | WS_CHILD,80,100,100,25,hwnd,(HMENU) ID_BTN,NULL,NULL);

ahora compilamos y ejecutamos y se mirara asi


ahora si queremos leer lo que esta en el cuadro de texto y mostrarlo como un mensaje agregamos otra seccion llamada case WM_COMMAND se vera algo asi


dentro de esta seccion tecleamos el siguiente codigo para leer lo que estra en el cuadro de texto y mostrarlo como mensaje

if(LOWORD(wParam==ID_BTN))

{

   int largo = GetWindowTextLength(Serial)+1; //api optiene el numero de caracteres 

   char texto[largo];// declara variable texto con el numero de caracteres

   GetWindowText(Serial,texto,largo);//lee lo que esta en el cuadro de texto 

   MessageBox(hwnd,texto,"nada",64);//muestra un mensaje en pantalla con lo que tiene la variable texto

}

break;

lo compilamos y ejecutamos y nos mostrara lo siguiente



se mirara algo asi



el codigo completo seria este

#include <windows.h>

#define ID_TXTSERIAL 1

#define ID_BTN 2

static HWND Serial;


/* This is where all the input to the window goes to */

LRESULT CALLBACK WndProc(HWND hwnd, UINT Message, WPARAM wParam, LPARAM lParam) {

switch(Message) {

    case WM_CREATE:{

      CreateWindow(TEXT("STATIC"),TEXT("Serial:"),WS_VISIBLE | WS_CHILD,10,40,60,20,hwnd,(HMENU) NULL,NULL,NULL);

      Serial=CreateWindow(TEXT("EDIT"),TEXT(""),WS_VISIBLE | WS_CHILD | WS_BORDER,80,40,200,20,hwnd,(HMENU) ID_TXTSERIAL,NULL,NULL);

      CreateWindow(TEXT("BUTTON"),TEXT("VALIDAR"),WS_VISIBLE | WS_CHILD,80,100,100,25,hwnd,(HMENU) ID_BTN,NULL,NULL);

  break;

  }

case WM_COMMAND:{

   if(LOWORD(wParam==ID_BTN))

   {

int largo = GetWindowTextLength(Serial)+1;

char texto[largo];

GetWindowText(Serial,texto,largo); 

MessageBox(hwnd,texto,"nada",64);

   }

   break;

}

/* Upon destruction, tell the main thread to stop */

  case WM_DESTROY: {

PostQuitMessage(0);

break;

}

/* All other messages (a lot of them) are processed using default procedures */

default:

return DefWindowProc(hwnd, Message, wParam, lParam);

}

return 0;

}


/* The 'main' function of Win32 GUI programs: this is where execution starts */

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {

WNDCLASSEX wc; /* A properties struct of our window */

HWND hwnd; /* A 'HANDLE', hence the H, or a pointer to our window */

MSG msg; /* A temporary location for all messages */


/* zero out the struct and set the stuff we want to modify */

 memset(&wc,0,sizeof(wc));

 wc.cbSize = sizeof(WNDCLASSEX);

wc.lpfnWndProc = WndProc; /* This is where we will send messages to */

wc.hInstance = hInstance;

wc.hCursor = LoadCursor(NULL, IDC_ARROW);

/* White, COLOR_WINDOW is just a #define for a system color, try Ctrl+Clicking it */

wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);

wc.lpszClassName = "WindowClass";

wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); /* Load a standard icon */

wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION); /* use the name "A" to use the project icon */


if(!RegisterClassEx(&wc)) {

    MessageBox(NULL, "Window Registration Failed!","Error!",MB_ICONEXCLAMATION|MB_OK);

return 0;

}


hwnd = CreateWindowEx(WS_EX_CLIENTEDGE,"WindowClass","Caption",WS_VISIBLE|WS_OVERLAPPEDWINDOW,

   CW_USEDEFAULT, /* x */

   CW_USEDEFAULT, /* y */

   640, /* width */

   480, /* height */

   NULL,NULL,hInstance,NULL);


if(hwnd == NULL) {

MessageBox(NULL, "Window Creation Failed!","Error!",MB_ICONEXCLAMATION|MB_OK);

return 0;

}


 /*This is the heart of our program where all input is processed and sent to WndProc. Note that GetMessage blocks code flow until it receives something, so

this loop will not produce unreasonably high CPU usage

*/

while(GetMessage(&msg, NULL, 0, 0) > 0) { /* If no error is received... */

TranslateMessage(&msg); /* Translate key codes to chars if present */

DispatchMessage(&msg); /* Send it to WndProc */

}

return msg.wParam;

}



bueno creo que eso es todo por hoy espero les halla gustado saludos Flamer


miércoles, 1 de diciembre de 2021

Ocultar Archivos Que Se Encuentran Dentro De Un Rar

Recientemente a cavo de ver este hilo en el foro
https://foro.elhacker.net/bugs_y_exploits/rar_file_missing_esteganografia_en_un_rar-t381789.0.html

y como los link están caídos se me bino ala mente por que no explicar algo similar, pero les aclaro no se si lo que explicare se asemeja al tema ya que hay se habla de un programa y a lo mejor el programa lo hace mejor que yo pero en fin les explico lo que se.

primero empesemos por saber que es esteganografia y por lo poco que se se trata del arte de esconder objectos dentro de otros, pero para una explicación mejor aquí wikipedia es la maestra.
https://es.wikipedia.org/wiki/Esteganograf%C3%ADa

bueno ya que tienen una idea de que es, pasaremos ala practica y lo que pasaremos hacer es esconder un archivo que se encuentra dentro de un rar.

para empezar yo cree dos archivo rar estos




el primero llamado 1.rar que contiene un archivo de texto llamado vvvv.txt



el segundo llamado 2.rar que contiene 2 archivos adentro uno llamado vvvv.txt y otro llamado sss.vbs


bueno lo que aremos es desaparecer el archivo sss.vbs que se encuentra en el archivo 2.rar y si se preguntan por que 2 archivos rar, es solo para compararlos.

ahora abriremos los archivos rar con un editor hexadecimal, yo usare como siempre hxd hex editor y al abrir el archivo 1.rar  muestra lo siguiente


como ven los últimos bites están seleccionados y ¿que son esos bites? pues son los que marcan el final del archivo rar, así que veremos el archivo 2.rar y muestra lo siguiente


si se fijan un poco al final se repiten los mismos bites del archivo 1.rar, ahora lo que haremos para desaparecer el archivo sss.vbs es marcar el final del archivo mas arriba, para eso copiamos los bites que se encuentran al final C4 3D 7B 00 40 07 00 y los pegamos en la zona que esta marcada con rojo
quedando algo asi


ahora si aguardamos los cambios y abrimos el archivo 2.rar se muestra lo siguiente


y guala soy un juacker desapareció el archivo sss.vbs y al abrirlo no marca ningún error y al descomprimir tampoco y para recuperar el archivo solo tienen que poner los bites que remplazamos por los que estaban y pueden usar el mismo rar para almacenarlos solo intercambienlos no les marcara error, los de arriba para abajo y los de abajo para arriba

Saludos Flamer


Codigo De El Reto 4 y 5 De JavaScript De La Pagina Rogerfm.net

Hola amigos aquí están los códigos del reto 4 y 5 de javascript de la pagina http://rogerfm.net/ , están en vbscript



CÓDIGO RETO 4


option explicit
randomize
dim res,cont,pass,digi,x,shell

Set shell = CreateObject("wscript.shell")

cont= 2
while not(res=2936)
x=cint((3 - 1 + 1)*rnd + 1)
select case x
case 1
digi=cint((90-65+1)*rnd+65)
case 2
digi=cint((57-48+1)*rnd+48)
case 3
digi=cint((122-97+1)*rnd+97)
end select

res = res + (digi * cont)
pass = pass & chr(digi)
cont=cont + 1
if res>2936 then
res=0
cont=2
pass=""
end if
wend
shell.run "cmd /c echo listo la clave es = " & pass & "&echo.&echo.&pause"




CÓDIGO DEL RETO 5


option explicit
dim suma,pass,digi,shell,cadena,x,s

Set shell = CreateObject("wscript.shell")

cadena = "abcdefghijklmnopqrstuvwxyz"
suma= 6030912063
s=""

while suma > 1
for x=1 to len(cadena)
digi=mid(cadena,x,1)
s=cstr((suma - x) / 26)

if instr(s,".")=0 then
pass=digi & pass
suma=(suma - x) / 26
exit for
end if
next
wend

shell.run "cmd /c echo listo la clave es = " & pass & "&echo.&echo.&pause"


Link del vídeo: https://www.youtube.com/watch?v=KGqQ69EBFuA&t=323s

Saludos Flamer y hasta la próxima


Codigo para extraer todos los link's de una pagina

Hola como están aquí les dejare el código para extraer todos los link's de una pagina...Espero que a alguien le sirva, como dije en el vídeo yo me lo encontré navegando por internet y como me pareció interesante aquí se los comparto.

este es el código que me encontré


var nodos = document.getElementsByTagName("a"); var links = ""; for(i=0;i<nodos.length;i++) {links += nodos[i].href + "<br>"}; document.getElementsByTagName("body")[0].innerHTML = links;



y por acá les dejo el código que diseñe yo



option explicit
dim l,ie,x,web,fso,f
redim imagen(0),urls(0)

set ie = createObject("InternetExplorer.Application")

web = inputbox("ingrese la direccion web")

ie.visible=true
navegar(web)
x=0

do
l = urls(x)
if instr(l,web)<>0 then
navegar(l)
end if
x=x+1
loop while x<=ubound(urls)

set fso = createObject("Scripting.FileSystemObject")
set f = fso.CreateTextFile("enlaces.html")

f.WriteLine("<center><h1>Los links de esta pagina son</h1>")

for x=0 to ubound(urls)
f.WriteLine("<a href='" + urls(x) + "'>" + urls(x) + "</a><br>")
next

f.WriteLine("<h1>Las imagenes de esta pagina son</h1>")

for x=0 to ubound(imagen)
f.WriteLine("<a href='" + imagen(x) + "'>" + imagen(x) + "</a><br>")
next

f.Close
ie.quit
msgbox "Todos Los Link's Han Sido Extraidos Con Exito",,"Terminamos"
''========================================================================================
function buscar(l,op)
dim x

if op = 1 then
for x = 0 to ubound(urls)
if l = urls(x) or l = (urls(x) & "#") then
buscar = false
exit function
end if
next
end if

if op = 2 then
for x = 0 to ubound(imagen)
if l = imagen(x) then
buscar = false
exit function
end if
next
end if
buscar = true
end function
''============================================================================================
function navegar(url)
on error resume next
dim objlink,i,l,img

ie.Navigate(url)

while ie.busy
wend

set objlink = ie.document.getElementsByTagName("a")

for i = 0 to objlink.length
l = objlink(i)
if buscar(l,1) and l <> "" then
redim Preserve urls(ubound(urls)+1)
urls(ubound(urls)) = l
end if
next

set img = ie.document.getElementsByTagName("img")

for i = 0 to img.length
if img(i) <> "" then
l = img(i).src
if buscar(l,2) then
redim Preserve imagen(ubound(imagen)+1)
imagen(ubound(imagen))=l
end if
end if
next
end function




.....:::::ACTUALIZADO:::::.....

En este nuevo código no es necesario el internet explorer

option explicit
dim web,html,url,shell,fso,op

set shell = createobject("wscript.shell")
set html = createobject("htmlfile")
Set web = CreateObject("MSXML2.ServerXMLHTTP")
set fso = createobject("scripting.filesystemobject")

url = inputbox("Ingrese Una Direccion Web","Url Valida")
op = inputbox("1- Presione 1 Para Extraer Solo Link's" & vbCrlf & vbCrlf & "2- Presione 2 Para Extraer Solo Imagenes")

web.open"GET",url,False
web.send

html.write web.responsetext

if op = 1 then
enlaces
elseif op = 2 then
imagenes
else
msgbox "Solo Presione 1 o 2",48,"Opcion no Definida"
end if

'================================================================================================='
function enlaces
on error resume next
dim objlink,i,log,l,f,p,u

set objlink = html.getElementsByTagName("a")
wscript.sleep 2000

if objlink.length=0 then
msgbox "Cero Enlaces Encontrados Ya Que La Pagina No Tiene o Esta Protegida",,"Aviso"
else
for i = 0 to objlink.length
l = objlink(i)
if instr(log,l) = 0 then
log = log & l & vbcrlf
end if
next

p = instrrev(url,"/")
if p = len(url) then
p = p - 1
p = instrrev(url,"/",p)
end if
u = mid(url,1,p)
log = replace(log,"about:",u)

set f=fso.createtextfile("index.txt")
f.write(log)
f.close

shell.run "index.txt"
end if
end function
'================================================================================================='

function imagenes
on error resume next
dim img,i,log,l,f,p,u

set img = html.getElementsByTagName("img")
wscript.sleep 2000

if img.length=0 then
msgbox "Cero Imagenes Encontradas Ya Que La Pagina No Tiene o Esta Protegida",,"Aviso"
else
for i = 0 to img.length
l = img(i).src
if instr(log,l) = 0 then
log = log & l & vbcrlf
end if
next

p = instrrev(url,"/")
if p = len(url) then
p = p - 1
p = instrrev(url,"/",p)
end if
u = mid(url,1,p)
log = replace(log,"about:",u)

set f=fso.createtextfile("index.txt")
f.write(log)
f.close

shell.run "index.txt"
end if
end function




Bueno saludos Flamer y a ver a quien le sirve de algo



sábado, 27 de noviembre de 2021

Descargar Todas las Imágenes De Una Pagina Web Con JavaScript

 Hace ya casi 2 años escribí como extraer los link de una pagina web basándome de un código que encontré en internet y yo acabe escribiendo 2 códigos en vbscript para extraer los links y las imágenes.

https://elblogdeflamer.blogspot.com/2019/04/codigo-para-extraer-todos-los-links-de.html


Bueno pues ahora les traigo 3 código en JavaScript el primero es el original el de extraer solo los link o URL que usa la pagina, el segundo ya hecho por mi extrae las URL de las imágenes y el ultimo descarga todas las imágenes de la pagina que queremos probar.

Para probar estos códigos será en la pagina principal de Ricardo Narvaja solo los copearemos los script y los pegaremos en la barra de direcciones del navegador, así que probaremos el primero

http://ricardonarvaja.info/


VER TODOS LOS LINK (REMPLAZAR _ POR :)

=======================================================================================================================

javascript_var nodos = document.getElementsByTagName("a");var links = "";for(i=0;i<nodos.length;i++){links += nodos[i].href + "<br><br>";}document.getElementsByTagName("body")[0].innerHTML = links;


lo copeamos y lo pegamos así




el resultado es el siguiente




ahora refrescamos la pagina de Ricardo y probaremos el siguiente código, creo que no tiene caso poner 2 imágenes una cuando lo pongo en la barra de direcciones y otra con el resultado, así que mostrare esta ultima


VER LINK DE TODAS LA IMAGENES(REMPLAZAR _ POR :)

=========================================================================

javascript_var nodos = document.getElementsByTagName("img");var links = "";for(i=0;i<nodos.length;i++){links += nodos[i].src + "<br><br>";}document.getElementsByTagName("body")[0].innerHTML = links;


y el resultado es el siguiente



Y ahora probaremos el tercer código el cual me gusta mas y creo que a ustedes también


DESCARGAR TODAS LAS IMAGENES(REMPLAZAR _ POR :)  

=========================================================================

javascript_var nodo_link = document.getElementsByTagName("a");var nodo_img  = document.getElementsByTagName("img");var url = "";var largo=0;for(i=0;i<nodo_img.length;i++){url = nodo_img[i].src;nodo_link[0].href = url;largo = url.lastIndexOf("/");nodo_link[0].download=url.substr(largo-1);nodo_link[0].click();}


al ejecutarlo aparecerá la siguiente imagen 




así que damos clic en permitir ya que nos pide permiso de descargar varios archivos de la misma pagina, las cuales son las imágenes no se asusten y el resultado será el siguiente




por ultimo les dejo los 3 códigos ya entendibles


CODIGO 1


var nodos = document.getElementsByTagName("a");

var links = "";

for(i=0;i<nodos.length;i++)

{

links += nodos[i].href + "<br><br>";

}

document.getElementsByTagName("body")[0].innerHTML = links;


CODIGO 2


var nodos = document.getElementsByTagName("img");

var links = "";

for(i=0;i<nodos.length;i++)

{

links += nodos[i].src + "<br><br>";

}

document.getElementsByTagName("body")[0].innerHTML = links;


CODIGO 3


var nodo_link = document.getElementsByTagName("a");

var nodo_img  = document.getElementsByTagName("img");

var url = "";

var largo=0;

for(i=0;i<nodo_img.length;i++)

{

url = nodo_img[i].src;

nodo_link[0].href = url;

largo = url.lastIndexOf("/");

nodo_link[0].download=url.substr(largo-1);

nodo_link[0].click();

}



Bueno creo que eso es todo espero se diviertan con estos códigos simples ya que esto lo hago por diversión jajajaja  saludos Flamer


viernes, 19 de noviembre de 2021

Convertir a base64 en javascript

 Hoy veremos como convertir texto a base64 pero diran que es la base64, pues la base64 es un sistema de numeracion posicional que usa 64 digitos como base, la codificacion es muy simple no es como un hash y no se recomienda para codificar cosas de alto valor, esta usa 64 caracteres ascii y son los siguientes:


ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/


El símbolo '=' se usa como un sufijo especial

bueno como dije usaremos javascript ya que nos proporciona 2 comandos para realizar esta accion que son los comandos  btoa y atob  

btoa este comando convierte una cadena de texto a base64, asi que no iremos a la consola de google chrome y tecleamos lo siguiente

t="flamer es un crack"
c=btoa(t)
alert(c)

el resultado sera un mensaje de texto con el siguiente codigo: 




ahora para revertirlo usaremos el comando atob tecleamos lo siguiente en nuestra consola

c="ZmxhbWVyIGVzIHVuIGNyYWNr"
t=atob(c)
alert(t)

y obtenemos el siguiente resultado

como ven es muy sensillo, esta codificacion se puede usar para codificar archivos e imagenes o url por si lo deseas pero como vieron es muy facil de revertir no es como un hash de seguro.

bueno saludos Flamer