[BATCH][Aporte] Minimotor polimorfico Basico

Iniciado por CodeRed, 22 Mayo 2020, 07:52 AM

0 Miembros y 1 Visitante están viendo este tema.

CodeRed

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

.:Xx4NG3LxX:.

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...
"Quizá Batch no sea un lenguaje de programación, pero no obstante deja de ser útil. Asi que no anden diciendo «Que ganas de perder el tiempo»"