Saludos gente, e codeado este minimotor polimorfico como experimento para quedarme con el concepto de funcionamiento y esto es lo que me a salido, no se si tendra alguna utilidad pero es curioso cuando menos.
La sintaxis del script seria algo asi
Para generar una cadena cifrada y de X longitud
poli "cadena de texto"
Para resolver la cadena previamente cifrada
poli /d "%str%"
El codigo basicamente lo que hace es coger una cadena de TEXTO (solo esta pensado para texto no numeros) y nos devolvera la cadena cifrada y con una longitud variable cada vez que pasa por el script (POLI)
Un ejemplo:
Paso una adena de texto:
poli "cadena de texto"
Y el resutado sera:
Cadena Longitud A / encriptacion B
Si repitiera la accion:
poli "cadena de texto"[code]
Cadea Longitud C / encriptacion D[/code]
Creo que se entiende mas o menos.
El minimotor tiene tres opciones diferentes, eso quiere decir que siempre que se ejecute elegira una de las tres opciones en base a un numero aleatorio ( por eso cada vez que se ejecuta puede variar el resultado)
Esto es lo que me a salido:
@echo off
set "stb="
set "str="
if "%1" equ "/d" (goto bucle3 "%*" && exit /b)
:main
set "str="
call :bucle2 %random% %*
set str=%str:0=,,%
set str=%str:1=,,,,%
set str=%str:2=,,%
set str=%str:3=,,,,%
set str=%str:4=,,%
set str=%str:5=,,,,%
set str=%str:6=,,%
set str=%str:7=,,,,%
set str=%str:8=,,%
set str=%str:9=,,,,%
set cr=%random:~0,1%
if "%cr%" equ "1" (call :uno && exit /b)
if "%cr%" equ "2" (call :dos && exit /b)
if "%cr%" equ "3" (call :tres && exit /b)
:goto :eof
:bucle2
set b=%random%%random%%random%
set "stb=%2,%b%,,"
set str=%str%%stb%
shift /1
if "%2" equ "" (goto :eof)
goto bucle2
:bucle3
shift
set "p=%1"
if "%p%" equ "1" (call :unod %*)
if "%p%" equ "2" (call :dosd %*)
if "%p%" equ "3" (call :tresd %*)
echo %imp:,= %
goto :eof
:uno
set str=%str:a=+%
set str=%str:e=-%
set str=%str:i=x%
set str=%str:o=/%
set str=%str:u=W%
echo %cr% %str:,= %
set "str=%cr% %str%"
exit /b
:unod
shift
set "imp=%*"
set "imp=%imp:+=a%"
set "imp=%imp:-=e%"
set "imp=%imp:x=i%"
set "imp=%imp:/=o%"
set "imp=%imp:W=u%"
echo %imp:,= %"
exit /b
:dos
set str=%str:a=-%
set str=%str:e=+%
set str=%str:i=/%
set str=%str:o=x%
set str=%str:u=W%
echo %cr% %str:,= %
set "str=%cr% %str%"
exit /b
:dosd
shift
set "imp=%*"
set "imp=%imp:-=a%"
set "imp=%imp:+=e%"
set "imp=%imp:/=i%"
set "imp=%imp:x=o%"
set "imp=%imp:W=u%"
echo "%imp:,= %"
exit /b
:tres
set str=%str:a=W%
set str=%str:e=+%
set str=%str:i=-%
set str=%str:o=x%
set str=%str:u=/%
echo %cr% %str:,= %
set "str=%cr% %str%"
exit /b
:tresd
shift
set "imp=%*"
set "imp=%imp:W=a%"
set "imp=%imp:+=e%"
set "imp=%imp:-=i%"
set "imp=%imp:x=o%"
set "imp=%imp:/=u%"
echo "%imp:,= %"
exit /b
Curioso cuando menos , y creo tiene mucho potencial este tipo de programacion para crear bichos jejejejejeje
Un saludo
Gracias por tu aporte! Alegra ver gente que usa su ingenio, y más en algo más limitado como es Batch... Se agradece un montón que sigas aportando...!!!
Además está muy bien el Script, digo, es estudiable, me servirá sin dudas...