Hola.....
este truquito sirve para poder hacer un bat en ves de con comandos con vaiables...
lo primero que tenemos que hacer es darle a cada comndo que usemos una variable
y para hacerlo mas complicado de entender para quien intente leer el codigo podemos usar substrings....
ahi les dejo
set hola=octi
set como=%hola:o=e%
set estas=%como:i=o%
set listo=%estas:t=h%
%listo% salio todo bien
lo que les conviene hacer es el principio poner l set en una variable y despues van modificando las demas variables para entender los demas comandos ;)
esto es bueno a la hora de hacer algun malware/virus podemos camuflar el codigo de fuente :-*
Perdon, pero no voy tan avansado en batch :o
Puedes explicar bien el code por favor???
Muchissimas gracias!
pues es simple se pueden hacer mas complejos todavia.....
si vos ejecutas eso te dice
salio todo bien
lo primero que te preguntaras es....como hizo para imprimir algo en pantalla sin usar "echo"
facil
hola=octi
set como=%hola:o=e%
set estas=%como:i=o%
set listo=%estas:t=h%
octi
o=e
i=o
t=h
echo
aca te dejo este code para que te des cuenta
@echo off
set hola=octi
set como=%hola:o=e%
set estas=%como:i=o%
set listo=%estas:t=h%
%listo% salio todo bien
pause >nul
cls
if defined listo ( if %listo%==echo (echo la variable es = a echo) else (echo la variable no es = a echo)) else (echo no existe la variable)
pause >nul
exit
Ok, y como se llama el uso de:
set como=%hola:o=e%
set estas=%como:i=o%
set listo=%estas:t=h%
Asi puedo buskar mas informacion sobre el tema.
...
se deve llamar modificacion de variables o sustitucion de caracteres o modificacion de substring
::)
y esto dnd lo aprendiste?
:huh: ;D
ya no me acuerdo XDD pero te enseño para que no andes buscando XDD
una cadena (string ) se puede tomar como que es una variable.....
y una subcadena (substring ) es una parte de la variable (cadena, string )
suponete que en batch tene la variable %hola% cuyo valor es...jaja
set hola=jaja
ahora a la cadena hola vamos a tomarle una subcadena y modificarla (o sea modificar parte de la variable ;)
para hacer eso en btch se hace de la siguiente manera
para empezar el resultado s tiene que guardar en otra variable
set resultado=...
y lo que se hace para modificar las substring es lo suguiente
CadenaFinal=%CadenaInicial:SubCadenaInicial=SubCadenaFinal%
osea
set hola=jaja
set resultado=%hola:a=o%
echo %resultado%
entonces logramos pasar de una risa comun a una de papa noel XDDDDDDDD
modificamos una SubString osea parte de una variable
esto es muy usado a la hora de hacer programas encriptadores
Sintetisando el ejemplo anterior seria:
set hola=jaja
set resultado=%hola:a=o%
echo %resultado%
1ro se le asigna a la variable hola el valor jaja
2do el resultado final es = al valor almacenado en hola donde se suplantan las a por las o.
3ro Imprime el resultado.
Estoy en lo cierto? ;D
sip
Para probar hice un mini encriptador xd
q cambia a cada letra por su siguiente, pero tiene algun problema q no se cual es :laugh:
set /p palabra=Ingrese la palabra a cifrar:
set var=%palabra%
set resultado=%var:a=b%
set resultado=%var:b=c%
set resultado=%var:c=d%
set resultado=%var:d=e%
set resultado=%var:e=f%
set resultado=%var:f=g%
set resultado=%var:g=h%
set resultado=%var:h=i%
set resultado=%var:i=j%
set resultado=%var:j=k%
set resultado=%var:k=l%
set resultado=%var:l=m%
set resultado=%var:m=n%
set resultado=%var:n=ñ%
set resultado=%var:ñ=o%
set resultado=%var:o=p%
set resultado=%var:p=q%
set resultado=%var:q=r%
set resultado=%var:r=s%
set resultado=%var:s=t%
set resultado=%var:t=u%
set resultado=%var:u=v%
set resultado=%var:v=w%
set resultado=%var:w=x%
set resultado=%var:x=y%
set resultado=%var:y=z%
set resultado=%var:z=a%
echo El resultado es : %resultado%
pause > nul
exit
Muchas gracias!
no tiene ningun error XDD intenta cifrar esto
zzzzzzzzzzzzzzz
pero lo q quiero hacer es q si pones por ejemplo abc te devuelva bcd :-\
por eso....
si te digo todo jamas seras un buen programador porque no pensaras como tal.....pare fijate que si la ultima letra se codifica deve ser porque la variable toma muchas formas y se queda con la ultima....
fijate si en mi code (el de erriva del todo) use siempre una misma variable para resultado de las subtring
Ya lo entendi!!!
ahora lo pruebo y te digo
Tengo un error q las z me las cambia a b pero ya lo estoy solucionando :laugh:
LO SAKE!!!!!!!
QUE FELIZ ESTOY ;D ;D ;D
set /p palabra=Ingrese la palabra a cifrar:
set resultado=%palabra%
set resultado1=%resultado:z=0%
set resultado2=%resultado1:y=z%
set resultado3=%resultado2:x=y%
set resultado4=%resultado3:w=x%
set resultado5=%resultado4:v=w%
set resultado6=%resultado5:u=v%
set resultado7=%resultado6:t=u%
set resultado8=%resultado7:s=t%
set resultado9=%resultado8:r=s%
set resultado10=%resultado9:q=r%
set resultado11=%resultado10:p=q%
set resultado12=%resultado11:o=p%
set resultado13=%resultado12:ñ=o%
set resultado14=%resultado13:n=ñ%
set resultado15=%resultado14:m=n%
set resultado16=%resultado15:l=m%
set resultado17=%resultado16:k=l%
set resultado18=%resultado17:j=k%
set resultado19=%resultado18:i=j%
set resultado20=%resultado19:h=i%
set resultado21=%resultado20:g=h%
set resultado22=%resultado21:f=g%
set resultado23=%resultado22:e=f%
set resultado24=%resultado23:d=e%
set resultado25=%resultado24:c=d%
set resultado26=%resultado25:b=c%
set resultado27=%resultado26:a=b%
set resultado28=%resultado27:0=a%
cls
echo El resultado es: %resultado28%
pause > nul
exit
Eaea, termine el Encriptador/desencriptador version 1.0 By Arkangel
@echo off
title Encriptador / Desencriptador v 1.0 By Arkangel
:menu
cls
color 0a
echo.
echo Que es lo que desea hacer?
echo.
echo.
echo 1. cifrar
echo.
echo.
echo 2. descifrar
echo.
echo.
echo 3. Salir
echo.
echo.
set /p opciones=
if %opciones%==1 goto 1
if %opciones%==2 goto 2
if %opciones%==3 (goto 3) else (goto error)
:1
cls
set /p palabra=Ingrese la palabra a cifrar:
set resultado=%palabra%
set resultado1=%resultado:z=0%
set resultado2=%resultado1:y=z%
set resultado3=%resultado2:x=y%
set resultado4=%resultado3:w=x%
set resultado5=%resultado4:v=w%
set resultado6=%resultado5:u=v%
set resultado7=%resultado6:t=u%
set resultado8=%resultado7:s=t%
set resultado9=%resultado8:r=s%
set resultado10=%resultado9:q=r%
set resultado11=%resultado10:p=q%
set resultado12=%resultado11:o=p%
set resultado13=%resultado12:ñ=o%
set resultado14=%resultado13:n=ñ%
set resultado15=%resultado14:m=n%
set resultado16=%resultado15:l=m%
set resultado17=%resultado16:k=l%
set resultado18=%resultado17:j=k%
set resultado19=%resultado18:i=j%
set resultado20=%resultado19:h=i%
set resultado21=%resultado20:g=h%
set resultado22=%resultado21:f=g%
set resultado23=%resultado22:e=f%
set resultado24=%resultado23:d=e%
set resultado25=%resultado24:c=d%
set resultado26=%resultado25:b=c%
set resultado27=%resultado26:a=b%
set resultado28=%resultado27:0=a%
cls
echo El resultado es: %resultado28%
pause > nul
goto menu
:2
cls
set /p palabra2=Ingrese la palabra a descifrar:
set asd=%palabra2%
set asd1=%asd:a=0%
set asd2=%asd1:b=a%
set asd3=%asd2:c=b%
set asd4=%asd3:d=c%
set asd5=%asd4:e=d%
set asd6=%asd5:f=e%
set asd7=%asd6:g=f%
set asd8=%asd7:h=g%
set asd9=%asd8:i=h%
set asd10=%asd9:j=i%
set asd11=%asd10:k=j%
set asd12=%asd11:l=k%
set asd13=%asd12:m=l%
set asd14=%asd13:n=m%
set asd15=%asd14:ñ=n%
set asd16=%asd15:o=ñ%
set asd17=%asd16:p=o%
set asd18=%asd17:q=p%
set asd19=%asd18:r=q%
set asd20=%asd19:s=r%
set asd21=%asd20:t=s%
set asd22=%asd21:u=t%
set asd23=%asd22:v=u%
set asd24=%asd23:w=v%
set asd25=%asd24:x=w%
set asd26=%asd25:y=x%
set asd27=%asd26:z=y%
set asd28=%asd27:0=z%
cls
echo El resultado es: %asd28%
pause > nul
goto menu
:3
cls
echo Hasta la vista baby!
pause > nul
exit
:error
color 0c
cls
echo Tiene que poner uno de los numeros disponibles, intentelo nuevamente.
pause > nul
goto menu