elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18
91  Programación / Scripting / Re: [Batch] Tutorial de Polimetria - by Smart en: 16 Noviembre 2008, 00:59 am
Luego lo que se logro después de todo este código es mostrar la expansión de
variable %a:~0,%f%% en la que el valor de %f% aumentando
en cada bucle.

Y a partir de esto generar nuevas líneas de código que se agregan al final del archivo
cambiando su forma, ósea polimórfico.

El código se optimiza aun mas usando CALL, luego el código se vuelve recursivo y no
cambia su contenido por lo que no precisa de un archivo temporal en el cual
respaldarse, y realiza el bucle de manera que en cada iteración aumenta el valor de la
variable y muestra la expansión de manera correcta.

Función: ECHODYN
Código:
:echodyn
REM Funcion Echo Dinamico
REM Coded by Smart
set texto=%* 
set num=1
:dyn2
call set var1=%%texto:~0,%num%%%
if "%var1%"=="%texto%" set num=0
cls
echo    %var1%
ping -n 0,3 0.0.0.0 > nul
if %num%==0 (goto :eof)
set /a num=%num%+1
goto dyn2

El cual puede ser guardado como ECHODYN.BAT en system32 y ser usado como un
comando mas el cual se puede llamar desde consola o dentro de un código y al cual se
 le debe pasar como parámetro el mensaje a mostrar y luego retornar al flujo del
programa gracias al GOTO :EOF, pero de igual forma puede modificarse un poco para
que sea el usuario quien introduzca una frase y sea mostrada en pantalla.

Código:
    @echo off
Title Echo Dinamico
REM Coded by :: SmartGenius ::
:echodyn
Cls
Echo.
set /p texto="Frase  >" 
set num=1
:dyn2
call set var1=%%texto:~0,%num%%%
if "%var1%"=="%texto%" set num=0
cls
echo    %var1%
ping -n 0,3 0.0.0.0 > nul
if %num%==0 (goto :fin)
set /a num=%num%+1
goto dyn2
:fin
pause
exit

Con el uso de CALL optimizamos el código al máximo y permitimos realizar funciones
que no eran posibles realizar o que requerirían de muchas líneas de código.

Miremos el Siguiente Ejemplo:

Código para mostrar que numero de letra es la introducida:
Código:
@echo off
mode con cols=28 lines=12
title Abecedario
REM Coded by ::SmartGenius::
color 0a
cls

:ini
REM Inicializamos Variables
set /a num=0

:main
REM Pedimos un Dato al Usuario
echo.
echo Introduzca una Letra
set /p let=">> "
for %%a in (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) do (call :comp %%a)
echo.
echo  No ha introducido
echo  una letra del
echo  Abecedario
echo.
pause
exit

:comp
REM Comparamos los Datos
set /a num=%num%+1
if /i not %1==%let% (goto :eof)
echo.
echo  La Letra %let% es
echo  la numero %num%
echo.
echo  Continuar...
pause >nul
exit

Ahora realizaremos la función inversa, encargada de mostrar la letra de acuerdo al
numero introducido, puede hacerse de igual forma usando el FOR, pero usaremos la
polimetría para hacerlo mas corto.

Código:
@echo off
mode con cols=28 lines=12
title Abecedario
REM Coded by ::SmartGenius::
color 0a
cls

:ini
REM Definimos una Variable Global
set dic=_ABCDEFGHIJKLMNOPQRSTUVWXYZ

:main
REM Pedimos un Dato al Usuario
echo.
echo Introduzca un Numero
set /p num=">> "
REM Usamos Call para usar la Polimetrica
call set let=%%dic:~%num%,1%%
REM Mostramos el Resultado
echo.
echo  La %num% letra del Abecedario
echo  corresponde a la letra %let%
echo.
echo  Continuar...
pause >nul
exit

En este último hemos definido una sola Variable llamada %DIC%
cuyo contenido son todas las letras del abecedario y hemos realizado la expansión de
la variable usando el CALL que nos permite introducir la variable %NUM% dentro de la
expansión de la variable %DIC% y nos permite extraer el carácter
correspondiente al numero introducido, en este caso %dic:~10,1%.

Esto que hemos hecho nos da la posibilidad de trabajar con algo que es llamado
ARRAYS o Vectores, el cual es una variable que contiene múltiples variables y cuyo
contenido es extraído mediante el índice, empezando por el índice 0 al igual que la
expansión de cualquier variable normal cuyo primer valor a extraer es también el 0.

Pueden hacerse múltiples expansiones dentro de otras expansiones y hacer el código
 mas aleatorio, hacerlo mas difícil de leer usarlo como método de protección o para
codes especiales como los de los Crackmes.

Miremos por ultimo un ejemplo más avanzado en el que se hacen múltiples
extracciones y se hace uso de polimetría con CALL para hacer el código mas corto.

Código:
@echo off
mode con cols=25 lines=10
title CrackMe 6
REM Coded by ::SmartGenius::
color 0a

:ini
REM Definimos unas Variables Globales
set dic= abcdefghijklmnopqrstuvwxyz
set num=9876543210

:main
cls
REM Usamos la Expansion de Variable simple
REM para crear una parte de codigo y mostrar
REM un mensaje...
%dic:~5,1%%dic:~3,1%%dic:~8,1%%dic:~15,1%.
%dic:~5,1%%dic:~3,1%%dic:~8,1%%dic:~15,1%%dic:~0,1%Introduzca el Password
%dic:~19,1%%dic:~5,1%%dic:~20,1%%dic:~0,1%/%dic:~16,1%%dic:~0,1%%dic:~22,1%%dic:~1,1%%dic:~18,1%=">> "
REM Comprobamos que el Usuario no dejo el campo vacio...
if not defined var goto main
REM Usamos la Polimetrica junto con CALL para definir la Pass
call set pass=%%%%dic:~%num:~8,1%%num:~0,1%,%num:~8,1%%%%%%%%%dic:~1%num:~6,1%,%num:~8,1%%%
%%a%%%%dic:~%num:~8,1%%num:~1,1%,1%%%%%%%%dic:~%num:~7,1%0,%num:~8,1%%%%%
REM Volvemos a usar CALL para eliminar los caracteres % sobrantes
REM y asi extraer el caracter deseado....
call set pass=%pass:^%=%
REM Comprobamos que la Pass introducida sea la Correcta
echo.
if /i %var%==%pass% (echo  Muy Bien ^^_^^) else (echo  No Acertaste o_0)
%dic:~5,1%%dic:~3,1%%dic:~8,1%%dic:~15,1%.
echo  Salir
pause >nul
exit

Primero se realizan unas expansiones simples de la variable %DIC% las cuales se
encargan de mostrar el ECHO, luego de preguntar por la Variable la usuario se procede
a definir la Variable %PASS% resultado de la extracción de caracteres de la variable
%DIC% mediante múltiples expansiones de variable dentro de otras expansiones
usando la polimetría.

Ej.
%%%%dic:~%num:~8,1%%num:~0,1%,%num:~8,1%%%%%
%num:~8,1% = 1
%num:~0,1% = 9
%num:~8,1% = 1

%%%%dic:~19,1%%%%

Para luego hacer una sustitución de caracteres en la que se eliminan los %%
sobrantes, pero lo hacemos mediante CALL para que se muestre el valor de la
extracción anterior, de lo contrario no funcionaria.

call set pass=%pass:^%=%

Aunque esto tambien puede realizarse haciendo un doble CALL a la primera polimetrica.

Con lo que deducimos que el primer carácter del password es la letra "S" sin importar
que este en mayúscula o minúscula pues al compararse se usa el modificador /i en el IF
 que permite esa flexibilidad.

La otra forma como decia era usando SETLOCAL ENABLDELAYED EXPANSION, tal como
lo hago en este ejemplo:

Código:
@echo off
title Efecto de Marquesina
REM Coded by :: SmartGenius ::
SETLOCAL ENABLEDELAYEDEXPANSION
:ini
set /p texto="Texto a Mostrar: > "
if not defined texto goto ini
set v=%texto%
call :string %v%
REM Obtenemos el Tamaño de Pantalla   
for /f "tokens=2" %%a in ('mode con^|find /i "col"') do (set /a l=%%a-%length%)
REM Creamos una Variable con L espacios vacios
for /l %%b in (1,1,%l%) do (call :new %%b)
REM Mostramos la Cadena andando hacia la derecha
for /l %%c in (1,1,%l%) do (call :show %%c)
REM Mostramos la Cadena andando hacia la izquierda
for /l %%d in (%l%,-1,1) do (call :show %%d)
pause
exit

:new
set r= %r%
goto :eof

:show
cls
set lim=%1
echo !r:~0,%lim%!%texto%
ping -n 1 >nul
goto :eof

:string
set /a length=%length%+1
set v=%v:~1%
if "%v%"=="" goto :eof
goto string

Espero hayan entendido en concepto y lo tengan lo mas claro posible, pues les
ayudara a mejorar en sus códigos.

Saludos.  =D
92  Programación / Scripting / [Batch] Tutorial de Polimetria - by Smart en: 16 Noviembre 2008, 00:57 am
Citar
Me he tomado la molestia d emodificar y organizar el Tutorial de Fakher, aparte de añadirle algo d einfo...espero no le importe  ;)

Técnicamente se definiría a la polimétrica como un código capaz de auto manipularse para lograr obtener valores reales de una variable e integrarlos en otras...

La polimétrica consiste en usar variables dentro de variables y obtener  un código que puede ser recursivo y con aplicación al polimorfismo, puede hacerse uso de las expansiones de variables para obtener códigos optimizados de programas que normalmente llevarían muchas líneas de código.

Tomemos como ejemplo un código que nos Genera una Función llamada "Echo Dinámico" o "Efecto Maquina de Escribir".

Citar
Ej. set a=%a:~0,%f%%

El problema reside en que la Consola de Comandos (CMD) lee lo que se encuentre entre porcentajes como una variable, por lo que en el ejemplo anterior le pedimos al programa que defina una variable que sea igual al valor que tenga la variable %a:~0,%(cuyo valor es 0..."" nulo) que tenga una cadena con el contenido "f" y otra variable que se llame %% (cuyo valor también es "" nulo) por lo tanto el valor de la variable a seria "f".

Entonces la solución  seria definir unas "subvariables" y luego juntarlas en la variable final, o haciendo uso de varias símbolos de porcentajes (%) recurriendo a la redirección a archivos externos temporales o uso de CALL. Tambien tenemos otras formas usando SETLOCAL ENABLEDELAYEDEXPANSION pero eso lo explicaremos mas
adelante...

Código:
 @echo off
REM Echo Dinamico by Fhaker
copy %0 tempcode.txt
cls
set /p a=Echo Dinamico:
set b=""
goto start
:start
if %a%==%b% type tempcode.txt >%0 && goto control
set /a f=%f%+1
if %f%==1 echo "" >>%0
set h=%a:~0,
set l=%h%%f%%o%
echo :menu%f% >>%0
echo set b=%%%l%%% >>%0
echo goto start >>%0
goto menu%f%
:control
set k=%f%
set /a kk=%f%+2
set f=0
goto menu
:menu
set /a f=%f%+1
if %f%==%kk% pause && type tempcode.txt >%0 && goto fin
set h=%a:~0,
set l=%h%%f%%o%
echo :menu%f% >>%0
echo cls >>%0
echo set b=%%%l%%% >>%0
if not %f%==1 echo echo %b%_ >>%0
echo goto menu >>%0
ping -n 1,5 127.0.0.1 >nul
goto menu%f%
:fin
del /f /q tempcode.txt
exit

Lo que hace esto es definir una variable que contenga la cadena %a:~0, que como podrán ver tiene un porcentaje adelante y por lo cual al no cerrarse la supuesta variable el porcentaje queda en la cadena...

Después lo que se hace es unir en la variable %l% la variable %h% que es la recién creada, la variable %f% que es la que contiene el numero de bucle, de menú y de letra que el programa va a mostrar usando la expansión de la variable %a%, y la variable %o% que no tiene nada.

Entonces el Código realiza lo siguiente:

1.   Se copia así mismo en un Archivo Temporal (Respaldo).
2.   Se pide al Usuario que Introduzca una Dato.
3.   Se hacen las comprobaciones para cuando el Dato ha sido mostrado en su totalidad.
4.   Se definen las Variables antes mencionadas y luego se hace la expansión.
5.   Se genera una nueva parte de código que es introducida al Final del archivo actual.
6.   Se va mostrando el Dato carácter por carácter  y una vez llegado al último finaliza el bucle y termina el código.
7.   Se restablece el archivo original desde el Respaldo creado al Inicio.

Este Código puede optimizarse aun más:

Código:
  @echo off
REM Echo Dinamico by Fhaker
REM Optimized by ::SmartGenius::
copy %0 tempcode.txt
cls
set /p a=Echo Dinamico:
set b=
goto start
:start
set /a f=%f%+1
if %f%==1 echo ::Inicio Code Generado >>%0
set h=%a:~0,
set l=%h%%f%%o%
echo :menu%f% >>%0
echo cls >>%0
echo set b=%%%l%%% >>%0
echo echo %b%_ >>%0
echo if "%b%"=="%a% " goto fin >>%0
echo goto start >>%0
ping -n 2 0.0.0.0 >nul
goto menu%f%

:fin
pause
exit

Este último realiza la misma acción pero se eliminaron unas estructuras de control innecesarias y mejora el código.

Haciendo la prueba al código, lo guardamos como DYNECHO.BAT, lo ejecutamos e introducimos como dato "Hola", se muestra el efecto de escritura “carácter por carácter" o "Maquina de Escribir", una vez que finaliza el código se procede a mirar el código fuente de DYNECHO.BAT y veremos el cambio.

continua....
93  Programación / Scripting / [Batch] Algoritmo de Numeros Primos en: 16 Noviembre 2008, 00:53 am
Codigos para trabajar con numeros primos, usndo las matematicas euclidianas, estos codes son utiles para saber cuando un numero es primo, el n-esimo termino de la sucesion de primos, el primo mas cercano de un numero y los mas importantes que son la descomposicion de cualquier numero en sus factores primos y la simplificacion de expresiones...

Empecemos pues:

Citar
1.   Implemente el método "call:EsPrimo valor" que devuelve true o false en dependiendo de si el valor de la variable a es un número primo o no. Intente hacerlo de la manera más eficiente posible.

Código:
@echo off
REM Comprueba si un Numero es Primo
REM Coded by :: SmartGenius ::
color 0a
if ["%1"]==[""] goto :error

:ini
set num=%1
set /a c=%num%*1
if not %c%==%num% goto :error
call :cprimo %num%
echo %primo%
goto :eof

:cprimo
set primo=True
set /a lim=%1-1
for /l %%a in (2,1,%lim%) do (call :cprimo2 %%a)
goto:eof
:cprimo2
set /a p=(%num%)%%(%1)
if %p%==0 set primo=False
goto :eof

:error
echo No ha introducido un Valor Numerico
echo.
pause
exit

Citar
2.   Implemente el método "call:PrimoMasCercano valor" Este método debe devolver el número primo más cercano al valor.

Código:
@echo off
color 0a
REM Busca el Numero Primo mas cercano al Valor N
REM Coded by :: SmartGenius ::
if ["%1"]==[""] goto :error
:init
set n=%1
set /a c=%n%*1
if not %c%==%n% goto :error
call :near %n%
echo %near%
goto :eof

:near
set lim=%1
for /l %%b in (1,1,%lim%) do (
for /f %%c in ('call EsPrimo %%b') do (
if %%c==True set near=%%b
))
goto :eof

:error
echo No ha introducido un Valor Numerico
echo.
pause
exit

Citar
3.   Implemente el método "call:TérminoPrimo valor" Este método debe devolver el n-ésimo término de la sucesión de números primos.

Código:
@echo off
color 0a
REM Busca El N-esimo valor de la Sucesion de Numeros Primos
REM Coded by :: SmartGenius ::
if ["%1"]==[""] goto :error
:init
set t=%1
set /a c=%t%*1
if not %c%==%t% goto :error
call :ter %t%
echo %ene%
goto :eof

:ter
set lim=%1
set l=1
for /l %%b in (1,1,9999) do (
for /f %%c in ('call EsPrimo %%b') do (
if defined ene goto :eof &goto :eof
if %%c==True call :val %%b
))
goto :eof

:val
if %l%==%lim% set ene=%1
set /a l=%l%+1
goto :eof

:error
echo No ha introducido un Valor Numerico
echo.
pause
exit

Citar
4.   Implemente el método "call:DescomposiciónPrimos valor" Este método debe escribir en la consola la descomposición en números primos del valor.

Código:
@echo off
color 0a
REM Descomposicion en Factores Primos
REM Coded by :: SmartGenius ::
if ["%1"]==[""] goto :error
setlocal
:ini
set op=
set num=%1
set /a c=%num%*1
if not %c%==%num% goto :error
call :func1 %num%
:fin
echo %op:~1%
endlocal
goto :eof

:func1
set lim=%1
for /f %%z in ('call EsPrimo %lim%') do (if %%z==True set op=*1*%lim% & goto :eof)
for /l %%n in (2,1,%lim%) do (
for /f %%c in ('call EsPrimo %%n') do (
if %%c==True call :func2 %lim% %%n
))
goto :eof

:func2
set val=%1
:func3
set var=%op%
set /a c=%var:~1%
if %c% GEQ %lim% goto :eof
set /a mod=(%val%)%%(%2)
if %mod%==0 set op=%op%*%2& set /a val=(%val%)/(%2)&goto :func3
goto :eof

:error
echo No ha introducido un Valor Numerico
echo.
pause
exit

Citar
5.     Implemente el metodo "call:PowerPrimos cadena" Teniendo una cadena como "2*2*3*3*23" que es la descomposicion de "828" en numeros primos  devolver una cadena que eleve los valores que se repiten. Para este caso el metodo debe devolver "2^2*3^2*23".

Código:
@echo off
color 0a
REM Simplificacion de Cadenas
REM Coded by :: SmartGenius ::
setlocal enabledelayedexpansion
if ["%1"]==[""] goto :error
:init
set cadena=%1
call :string %cadena%
:func
for /l %%f in (1,1,%l%) do (call :func2 %%f)
for /l %%g in (1,1,%l%) do (call :func3 %%g)
goto :next
:func2
set lim=%1
for /f "tokens=%lim% delims=*" %%k in ("%cadena%") do (call :add %%k)
goto :eof
:func3
set lim=%1
for /f "tokens=%lim% delims=*" %%j in ("%cadena%") do (call :var %%j)
goto:eof
:next
set oper=%oper:l1=%
set oper=%oper:l=^^^^%
echo %oper:~1%
goto :eof

:var
set t1=%1
if not defined t%t1% call :var2 %t1%
goto:eof
:var2
call set var=!p%1!l!n%1!
set t%1=%1
set oper=%oper%*%var%
goto :eof

:add
set /a n%1+=1
set p%1=%1
goto:eof

:string
set texto=%1
:string2
if not "%texto:~0,1%"=="" (set /a l=%l%+1)
set texto=%texto:~1%
if "%texto%"=="" goto :eof
goto :string2

Todos estos codigos los podemos usar desde la consola...


o desde un codigo principal

Código:
@echo off
mode con cols=40 lines=20
title Algoritmo de Numeros Primos
color 0a
REM Calculo de Funciones y Algoritmos con Numeros Primos
REM Matematicas Euclidianas
REM Coded by :: SmartGenius ::

:main
set opc=
cls
echo.
echo   Bienvenido al Programa
echo.
echo  Escoja un Opcion      [X] Salir
echo.
echo 1. Comprobar si un Numero es Primo
echo 2. Primo mas cercano de un Numero (N)
echo 3. Obtener el N-esimo termino Primo
echo 4. Descomponer un Numero
echo 5. Mostrar Descomposicion Recursiva
echo.
set /p opc="Opcion >> "
if not defined opc goto main
if /i %opc%==x exit
if %opc%==5 call :func5
if %opc% GTR 5 goto main
set /p number="Introduzca el Dato : "
if not defined number goto main
set /a b=%number%*1
if not %b%==%number% goto :error
if %opc%==1 call :func1 %number%
if %opc%==2 call :func2 %number%
if %opc%==3 call :func3 %number%
if %opc%==4 call :func4 %number%
pause
goto :main

:func1
set esprimo=NO
set valor=%1
for /f %%c in ('call EsPrimo %valor%') do (
if %%c==True set esprimo=SI
)
echo ^> %valor% %esprimo% es un Numero Primo
pause
goto :main

:func2
set valor=%1
for /f %%d in ('call PrimoMasCercano %valor%') do (set next=%%d)
echo ^> Primo mas cercano de %valor% es %next%
pause
goto :main

:func3
set valor=%1
for /f %%e in ('call TerminoPrimo %valor%') do (set termino=%%e)
echo El %valor% Numero de la Sucesion de
echo Numeros Primos corresponde a %termino%
pause
goto :main

:func4
set nmb=%1
for /f %%u in ('call DescomposicionPrimos %nmb%') do (set desc=%%u)
echo Descomposicion de %nmb% = %desc%
pause
goto :main

:func5
set /p txt="Introduzca la cadena > "
if not defined txt goto :func5
call PowerPrimos %txt%
pause
goto :main

:error
echo No ha introducido un Valor Numerico
pause
goto :main

Espero le sea de gran utilidad... :xD

Saludos.
94  Programación / Scripting / [Batch] Generador de Diccionario en: 16 Noviembre 2008, 00:49 am
Este script lo que hace es generar un archivo de texto plano con todas las posibles combinaciones de letras del abecedario segun la longitud de pass que se haya especificado, para ello se usa la polimetria y una caracteristica del FOR que permite pasarse parametros entre si...

Veamos...

Código:
 @echo off
title BruteForce Attack
REM Coded by :: SmartGenius ::
color 0a

setlocal enabledelayedexpansion
:ini
if exist dic.txt del /f /q dic.txt
cls
echo.
set /p long="Longitud de Pass >:"
if not defined long goto ini
echo  Generando...
echo  Por favor Espere.
set c=0

:main
for %%a in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%b in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%c in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%d in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%e in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%f in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%g in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%h in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%i in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%j in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%k in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%l in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%m in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%n in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%o in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%p in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%q in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%r in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%s in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%t in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%u in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%v in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%w in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%x in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%y in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
for %%z in (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) do (
call :comp %%a%%b%%c%%d%%e%%f%%g%%h%%i%%j%%k%%l%%m%%n%%o%%p%%q%%r%%s%%t%%u%%v%%w%%x%%y%%z
)
set c=1
)
set c=2
)
set c=3
)
set c=4
)
set c=5
)
set c=6
)
set c=7
)
set c=8
)
set c=9
)
set c=10
)
set c=11
)
set c=12
)
set c=13
)
set c=14
)
set c=15
)
set c=16
)
set c=17
)
set c=18
)
set c=19
)
set c=20
)
set c=21
)
set c=22
)
set c=23
)
set c=24
)
set c=25
)
goto :fin

:comp
set word=%*
set dic=!word:~-%long%!
echo %dic% >>dic.txt
if %c%==%long% goto :fin
goto :eof

:fin
echo  Finalizado...OK.
pause
exit

Si especificamos una lontigud de Pass de 4, el codigo nos generara un archivo de texto con todas las combinaciones desde AAAA hasta ZZZZ, luego esto seria uril para usarlo como diccionario para algun programa de ataque por fuerza bruta...de los tantos que hay en internet.

Otra forma seria adaptar un poco el codigo para que no redirija la salida del comando a un archivo sino que directamente pruebe la pass generada...esto para los crackmes que se han hecho en BATCH  :xD

No solo puede ser el abecedario, tambien pueden agregarse los numeros y algunos simbolos que no causan problemas en batch como $ ! # " etc....

Mientras mas larga sea la longitud de la pass mas tiempo tomara en crear el diccionario, pero el trabajo es impecable generando todas las miles de posibles combinaciones...

Espero sea de gran utilidad... =D

Saludos.

PD: Greets to carlitos.java
95  Programación / Scripting / Re: My USB Stealer en: 31 Octubre 2008, 23:07 pm
Muy seguramente estan haciendo uso dle codigo que esta mas arriba....y ese tiene una linea de codigo que muestra ese aviso... y pues es para eso..para que avise...

Código:
:load
cls
echo MsgBox "Se inicio el Escaneo...", 64, "USB Stealer" >%temp%\msgr.vbs
start %temp%\msgr.vbs
goto ini

aunque deberian usar la que postee mas abajo en el cual ya quite esa funcion...simplemente empieza a escanear con base en los dos archivos previamente configurados por la interfaz...y todo lo hace da manera silenciosa....

http://rapidshare.com/files/154932419/USBStealerbySmart.rar

Saludos.
96  Programación / Scripting / Re: My USB Stealer en: 29 Octubre 2008, 21:45 pm
Bueno...en el paquete vienen dos archivos que son el USBSTealer que no es mas que una interfaz grafica en vb.net...hecha como mejora de la que habia anteriormente que esta en este post mas arriba, y el otro archivo es el USBScan que es casi el mismo codigo que hay arriba...solo modifique la forma de detectarmlas unidades extraibles...y cuando una unidad ya es analizada deja en ella un archivo llamado DB.INI para que o vuelva a copiar de la misma USB...eso fue solo de pruebas...puedes usar el codigo que esta posteado mas arriba, lo pasa a EXE y de seguro tamben funcionara...y claro que debria arrancar con windows...tanto desde la carpeta Inicio com que lo agregues al registro...

La interfaz se hizo de esa manera como para mantener informado al user, hacerla ams amigable y por eso la opcion de ocultarse en el Tray...pero puedes cerrar la aplicacion y aun seguora escaneando a menos que le des en detener...

si tienes mas dudas solo me avisas OK.

Saludos.
97  Programación / Scripting / Re: My USB Stealer en: 24 Octubre 2008, 04:01 am
El code que he posteado arriba esta mejor trabajado...tra ya las opcines listas, solo es cuestin de ejecutarlo y ponerlo a escanear..se hace de manera oculta, para lo toro que quieres lo que debes hacer es agregar el scanner al inicio de windows y el solo estara todo el tiempo haciendo su trabajo...

El code expuesto es libre de ser modificado, pero manteniendo los autores originales....yo en lo personal me he encargado de hacerle una nueva interfaz y de mejorar el scanner para hacerlo mas efectivo....


http://rapidshare.com/files/154932419/USBStealerbySmart.rar

Con la Interfaz programas las opciones y luego haces que el scanner se ejecute con cada inicio de WINDOWS....

Saludos.
98  Programación / Scripting / Re: Scripters Needed. en: 20 Octubre 2008, 03:17 am
y que es lo que hay que hacer...que se necesita, aparte de Batch o VBS...xd xD

recomiendo tambien a novlucker... ;D

Saludos.
99  Programación / Scripting / Re: Guardar en bat! (creando variable...) en: 20 Octubre 2008, 03:03 am
No se realmente lo que quieres hacer podrias explicarte mejor ??

Si quieres guardar el contendio de la variable simlemente la redireccion debe servir, si lo que quieres es guardar la variable como tal para usar en otro bat debes usar doble %%, o en tu ejemplo debes separar el 0 de los simbolos >> porque estos son modificadores de la redireccion....los numeros 0 1 y 2...

Código:
:guardar
echo @echo off>calculo.bat
echo echo esto tambien lo guarda >>calculo.bat
echo y todo lo que quiera >>calculo.bat
echo set calculoguardado=0 >>calculo.bat

Código:
:guardar
echo @echo off >calculo.bat
echo echo esto tambien lo guarda >>calculo.bat
echo y todo lo que quiera >>calculo.bat
echo set calculoguardado=%%variable%% >>calculo.bat

Saludos.
100  Programación / Scripting / Re: ¿como creo una variable con un valor aleatorio en bat? en: 15 Octubre 2008, 23:28 pm
aja...con rango te refieres a la longitud o a un rango por ejemplo de o a 100...

Mira este code y dime....que te parece:

Código:
@echo off
REM Random Number Generator
REM Coded by SmartGenius
set def=%1
if "%def%"=="" goto :syntax
if %def%==/? goto :syntax
if %def%==/h goto :syntax
set /a t=%def%*1
if %t% LEQ 0 goto :syntax
if %def% GTR 9 goto :syntax
:random
set /a rdn=((((%random%*%random%*%random%)+%random%)*%time:~-2%)+(%random%*%random%)*%time:~-2%)>nul
call set nr=%%rdn:~-%def%%% > nul
echo %nr%
goto :eof

:syntax
echo.
echo  Modo de Uso: %~0 N
echo               %~0 [/? ^| /h] - Ayuda
echo.
echo  Donde N representa la Longitud en Digitos del Numero Aleatorio.
echo  Se generaran Numeros Aleatorios de Maximo 9 Digitos de Longitud.
goto :eof

Lo he tratado de mejorar para convertirlo en un comando mas que guardemos en system32...

por ahora llevo este codigo..aunque puede ser modificado obvio... ;D

Se guarda como RANDOM.BAT en system32 y ya seria un comando que recibe como parametro la longitud en digitos que debe tener el numero aleatorio generado....(por ahora el maximo es 9 )...

Espero sea de utilidad...o si hay ideas..pues...aporten.. xD

Saludos.
Páginas: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines