|
81
|
Programación / Scripting / Re: [Batch] Algoritmo de Numeros Primos
|
en: 30 Diciembre 2008, 00:06 am
|
Reacomode el codigo y lo parametrice, ahora se puede trabajar totalmente desde Consola. @echo off REM Funcion de Numeros Primos REM Coded by :: SmartGenius :: setlocal enabledelayedexpansion if ["%1"]==[""] goto :syntaxis if ["%2"]==[""] goto :syntaxis set num=%2 set /a c=%num:~0,1%*1 if not %c%==%num:~0,1% (echo Parametro Numerico Invalido &goto :syntaxis) if ["%1"]==["/c"] call :cprimo %2 if ["%1"]==["/n"] call :nprimo %2 if ["%1"]==["/t"] call :tprimo %2 if ["%1"]==["/d"] call :dprimos %2 if ["%1"]==["/p"] call :pprimos %2 if ["%1"]==["/h"] call :syntaxis if ["%1"]==["/?"] call :syntaxis endlocal goto :eof
::Numero Primo :cprimo set primo=True set /a lim=%1-1 for /l %%a in (2,1,%lim%) do ( set /a p=%1%%%%%a if !p!==0 set primo=False) echo %primo% goto :eof
::Primo mas Cercano de un Numero :nprimo set lim2=%1 for /l %%b in (1,1,%lim2%) do ( call :cprimo %%b >nul if !primo!==True set near=%%b) echo %near% goto:eof
::N-esimo Termino de la Sucesion de Numeros Primos :tprimo set lim3=%1 set l=1 set cont=1 :tprimo2 call :cprimo %cont% >nul if !primo!==True call :tprimo3 %cont% if defined tprimo echo %tprimo% &goto :eof set /a cont=%cont%+1 goto :tprimo2 :tprimo3 if %l%==%lim3% set tprimo=%1 set /a l=%l%+1 goto :eof
::Descomposicion de un Numero en Factores Primos :dprimos set lim4=%1 call :cprimo %lim4% >nul if !primo!==True (echo 1*%lim4% &goto :eof) for /l %%n in (2,1,%lim4%) do ( call :cprimo %%n >nul if !primo!==True call :dprimos2 %lim4% %%n ) echo %op:~1% goto :eof :dprimos2 set val=%1 :dprimos3 set var=%op% set /a c=%var:~1% if %c% GEQ %lim4% goto :eof set /a mod=(%val%)%%(%2) if %mod%==0 set op=%op%*%2& set /a val=(%val%)/(%2)&goto :dprimos3 goto :eof
::Simplificacion de Cadenas :pprimos set cadena=%1 call :string %cadena% :func for /l %%f in (1,1,%len%) do (call :func2 %%f) for /l %%g in (1,1,%len%) do (call :func3 %%g) set oper=%oper:l1=% set oper=%oper:l=^^^^% echo %oper:~1% goto :eof :func2 set lim5=%1 for /f "tokens=%lim5% delims=*" %%k in ("%cadena%") do (call :add %%k) goto :eof :func3 set lim6=%1 for /f "tokens=%lim6% delims=*" %%j in ("%cadena%") do (call :var %%j) 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 set len=0 :string2 if not "%texto:~0,1%"=="" (set /a len=%len%+1) set texto=%texto:~1% if "%texto%"=="" goto :eof goto :string2
:syntaxis echo. ------------------------------- echo ^| Funciones de Numeros Primos ^| echo ^| Coded by :: SmartGenius :: ^| echo ------------------------------- echo Modo de Uso echo. echo %~n0 [Modificadores] Numero^|Operacion echo Ej: %~n0 /c Variable Numerica echo. echo Modificadores: echo /c Comprueba si el Numero Introducido es Primo echo devolviendo un valor de True o False echo /n Imprime en Pantalla el Primo mas Cercano del echo Numero introducido. echo /t Imprime en Pantalla el N-esimo Termino de la echo Sucesion de Numeros Primos. echo /d Descompone un Numero en sus Factores Primos. echo /p Simplifica una Cadena de Operaciones echo Ej: 2*2*2*3*3*5 --^> 2^^3*3^^2*5 echo. echo. /h^| /? Muestra esta ayuda. goto :eof Aun asi le hace falta hacerle una optimizacion....si alguno quiere trabajarle...pues bienvenido sea Saludos.
|
|
|
82
|
Programación / Scripting / Re: Keylogger en batch..
|
en: 18 Diciembre 2008, 21:54 pm
|
Para llegar a ser un keylogger tendria que funcionar mientras tecleamos algo en cualquier programa, siendo eso imposible de hacer teniendo la consola de comandos en segundo plano...
Alguna vez se me dio la idea de realizarlo, y mediante VBS ponia la ventana por encima de los demas programas, y se ocultaba tambien mediate VBS...pero las pulsaciones no andaban...luego desiste cuando aprendi mas batch y me di cuenta que hacer algo asi es casi que imposible...
Saludos.
|
|
|
83
|
Programación / Scripting / Re: [Batch] Generador de Diccionario
|
en: 16 Diciembre 2008, 19:46 pm
|
Jajajaja, poned -1 , ya veréis!
if %c% LSS 0 ( echo u.u & goto:eof ) (? saludos Lo que dario quiso hacer fue una broma...jaja...para cuando se pusiesen numeros negativos en el Script imprimiera eso en el archivo resultado...jajaja.....que humor... Solo le hace falta eso al script, y ya estaria listo, podria adaptarse hasta para crackear FTPs....xD Saludos.
|
|
|
84
|
Programación / Scripting / Re: Azar -Nombres batch al azar -please ayuda
|
en: 16 Diciembre 2008, 19:44 pm
|
O usar la manera larga : Esta forma la saque de la funcion al azar que vamos a usar en la Funny Joke, Smart Sin usar For: @echo off call :aleatorio echo %azar% call :names%azar% goto:eof :aleatorio set /a aleatorio=((%random%*%random%)+%random%)/%random% set azar=%aleatorio:~-1% goto:eof :names0 echo.pepe goto:eof :names1 echo.juan goto:eof :names2 echo.lorena goto:eof :names3 echo.macarena goto:eof :names4 echo.Leo goto:eof :names5 echo.Ariel goto:eof :names6 echo.Lizy goto:eof :names7 echo.Flower goto:eof :names8 echo.Diana goto:eof :names9 echo.Edgar goto:eof Si....ya sabia, es algo basico pero muy bueno...y es lo que le queria mostrar cuando le daba los links a los otros codigo pues ahi es donde la use primero antes de darles la idea, pero escribiendo el post se me ocurrio e otro codigo que postee usando FOR....y si que ahorra lineas.... Saludos Man. Te veo pronto
|
|
|
85
|
Programación / Scripting / Re: Azar -Nombres batch al azar -please ayuda
|
en: 15 Diciembre 2008, 19:25 pm
|
Podrias hacer algo simple con random tal y como se hizo aca: http://foro.elhacker.net/scripting/mensaje_al_azaren_batch-t211119.0.htmlhttp://foro.elhacker.net/scripting/batch_executor_mi_primer_bichitomutante-t213661.0.htmlEn los cuales se usa el RANDOM para generar un numero aleatorio, y luego se extrae el ultimo numero usando el simbolo ~ o lo que se llama expansion de variable... Fijate aca como se cargan las preguntas: http://foro.elhacker.net/scripting/quien_quiere_ser_millonario-t226423.0.htmlO si quieres algo mas avanzado puedes usar un FOR que te ahorra varias lineas: :lista for %%a in (Smart,Novlucker,RockoX,Darioxhcx,sirdarkcat,carlitos,Erik,pepito,menganito,fulanito ) do (set /a c+=1 & set nombre !c!=%% style="color: #448888;">a) echo Nombre Generado al Azar: !nombre% style="color: #448888;">random:~-1%!
Espero haber solucionado tus dudas, cualquier cosa pregunta Saludos.
|
|
|
86
|
Programación / Scripting / Re: El poder del ocio :D
|
en: 6 Diciembre 2008, 02:04 am
|
Bueno man...ahi te lo modifique... @echo off mode con cols=52 lines=20 title Date ^& Clock color 0a REM Digital Clock v2 REM Coded by :: SmartGenius :: REM Original Design by MxPower
:RELOJ CLS call :RESET call :TIEMPO call :FECHA echo. echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º±²²²²²²²²²±ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿±²²²²²²²²²±º echo º±²Smart²²²±³ %UNOHRD% ³±²²²²²²²²²±º echo º±²²²²²²²²²±³ %DOSHRD% ³±²²²²²²²²²±º echo º±²²²²²²²²²±³ %TREHRD% ³±²²²²²²²²²±º echo º±²²²²²²²²²±³ ³±²²²²²²²²²±º echo º±²²²²²²²²²±ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±²²²²²²²²²±º echo º±²²²²²²²²²±±±±±±±±±±±±±±±±±±±±±±±±±±±²²²²²²²²²±º echo º±²²²²±ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿±²²²²±º echo º±²²²²±³ %NDAY:~0,3%, %DATE:~-10,2% de %MFP% de %ANO% ³±²²²²±º echo º±²²²²±ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±²²²²±º echo º±±±±±±²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²±±±±±±º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ echo ÀÄÄÄÄÄÙ ÀÄÄÄÄÄÙ echo. pause>nul GOTO :RELOJ
:RESET set UNOHRD= set DOSHRD= set TREHRD= GOTO :EOF
:DIGIT-0 set "UNOHRD=%UNOHRD% _ " set "DOSHRD=%DOSHRD% ³ ³" set "TREHRD=%TREHRD% ³_³" goto :EOF
:DIGIT-1 set "UNOHRD=%UNOHRD% " set "DOSHRD=%DOSHRD% ³ " set "TREHRD=%TREHRD% ³ " goto :EOF
:DIGIT-2 set "UNOHRD=%UNOHRD% _ " set "DOSHRD=%DOSHRD% _³" set "TREHRD=%TREHRD% ³_ " goto :EOF
:DIGIT-3 set "UNOHRD=%UNOHRD% _ " set "DOSHRD=%DOSHRD% _³" set "TREHRD=%TREHRD% _³" goto :EOF
:DIGIT-4 set "UNOHRD=%UNOHRD% " set "DOSHRD=%DOSHRD% ³_³" set "TREHRD=%TREHRD% ³" GOTO :EOF
:DIGIT-5 set "UNOHRD=%UNOHRD% _ " set "DOSHRD=%DOSHRD% ³_ " set "TREHRD=%TREHRD% _³" goto :EOF
:DIGIT-6 set "UNOHRD=%UNOHRD% _ " set "DOSHRD=%DOSHRD% ³_ " set "TREHRD=%TREHRD% ³_³" goto :EOF
:DIGIT-7 set "UNOHRD=%UNOHRD% _ " set "DOSHRD=%DOSHRD% ³" set "TREHRD=%TREHRD% ³" goto :EOF
:DIGIT-8 set "UNOHRD=%UNOHRD% _ " set "DOSHRD=%DOSHRD% ³_³" set "TREHRD=%TREHRD% ³_³" goto :EOF
:DIGIT-9 set "UNOHRD=%UNOHRD% _ " set "DOSHRD=%DOSHRD% ³_³" set "TREHRD=%TREHRD% _³" goto :EOF
:DIGIT-: set "UNOHRD=%UNOHRD% " set "DOSHRD=%DOSHRD% . " set "TREHRD=%TREHRD% . " goto :EOF
:DIGIT-SPACE set "UNOHRD=%UNOHRD% " set "DOSHRD=%DOSHRD% " set "TREHRD=%TREHRD% " goto :EOF
:TIEMPO set HOUR=%TIME:~0,5% :TIEMPO2 SET VAR=%HOUR:~0,1% IF "%VAR%"==" " (CALL :DIGIT-SPACE) ELSE (CALL :DIGIT-%VAR%) SET HOUR=%HOUR:~1% IF "%HOUR%"=="" GOTO :EOF GOTO :TIEMPO2
:FECHA set /a DIA=(%DATE:~-10,2%*10)/10 set /a MES=(%DATE:~-7,2%*10)/10 set ANO=%DATE:~-4% call :meses %MES% MFP REM call Calendar /wday %DIA% %MES% %ANO% NDAY GOTO :EOF
:MESES if %1==1 set %2= Enero if %1==2 set %2= Febrero if %1==3 set %2= Marzo if %1==4 set %2= Abril if %1==5 set %2= Mayo if %1==6 set %2= Junio if %1==7 set %2= Julio if %1==8 set %2= Agosto if %1==9 set %2=Septiembre if %1==10 set %2= Octubre if %1==11 set %2=Noviembre if %1==12 set %2=Diciembre GOTO :EOF
Como veran esta muy completo y funcional, lo unico es la linea que deje comentada casi a lo ultimo, pues hace uso de un codigo que aun no publico, por lo tanto estara comentada para que no les ponga problemas, es la funcion que se encarga de obtener el dia de la semana segun la fecha....(lunes, martes, etc...).....mientras tanto.. Saludos.
|
|
|
87
|
Programación / Scripting / Re: El poder del ocio :D
|
en: 24 Noviembre 2008, 20:45 pm
|
muy bonita la interfaz me gusto muxo jeje..ami tambien me gusto la interfaz....esta bonita, y pues de esto del reloj ya habia hehco yo uno hace rato...uno digital,...crees que se podrian combinar ambos ?? @echo off title Batch Digital Clock - by Smart color 0a mode con cols=37 lines=10
:ini set _1= set _2= set _3= set _4= set _5= set _6= set _7= set _8= set _9= set _0= set _:= set hora=%time% call :show %hora:~0,8% goto ini
:show IF [%1] NEQ [] goto s_start ECHO Sintaxis ECHO TEXTO string ECHO Donde string corresponde a lo que sera mostrado ECHO. GOTO :eof :s_start SET _length=0 SET _sentence=%*
:: Longitud de la frase SET _substring=%_sentence% :s_loop IF not defined _substring GOTO :s_result ::remove the first char from _substring (until it is null) SET _substring=%_substring:~1% SET /A _length+=1 GOTO s_loop :s_result SET /A _length-=1
:: Acomoda el texto al tamano de la pantalla for /f "tokens=2" %%G in ('mode ^|find "Columns"') do set/a _window=%%G/6 IF %_length% GTR %_window% set _length=%_window%
:: Pasa por cada uno de los digitos y los guarda en una variable FOR /L %%G IN (0,1,%_length%) DO call :s_build %%G :: Ahora muestra las variables ECHO. ECHO %_1% ECHO %_2% ECHO %_3% ECHO %_4% ECHO %_5% ECHO %_6% ECHO %_7% ECHO. GOTO :EOF
:s_build :: get the next character CALL SET _digit=%%_sentence:~%1,1%%% :: Add the graphics for this digit to the variables IF "%_digit%"==" " (CALL :s_space) ELSE (CALL :s_%_digit%) GOTO :EOF :: Pad digits to --> :s_0 (SET _1=%_1% ÛÛÛÛ) (SET _2=%_2% Û Û) (SET _3=%_3% Û Û) (SET _4=%_4% Û Û) (SET _5=%_5% Û Û) (SET _6=%_6% Û Û) (SET _7=%_7% ÛÛÛÛ) GOTO :EOF :s_1 :: Pad digits to --> (SET _1=%_1% ÛÛ ) (SET _2=%_2% Û ) (SET _3=%_3% Û ) (SET _4=%_4% Û ) (SET _5=%_5% Û ) (SET _6=%_6% Û ) (SET _7=%_7% ÛÛÛÛ) GOTO :EOF :s_2 :: Pad digits to --> (SET _1=%_1% ÛÛÛÛ) (SET _2=%_2% Û Û) (SET _3=%_3% Û) (SET _4=%_4% ÛÛÛÛ) (SET _5=%_5% Û ) (SET _6=%_6% Û Û) (SET _7=%_7% ÛÛÛÛ) GOTO :EOF :s_3 :: Pad digits to --> (SET _1=%_1% ÛÛÛÛ) (SET _2=%_2% Û) (SET _3=%_3% Û) (SET _4=%_4% ÛÛÛÛ) (SET _5=%_5% Û) (SET _6=%_6% Û) (SET _7=%_7% ÛÛÛÛ) GOTO :EOF :s_4 :: Pad digits to --> (SET _1=%_1% Û Û) (SET _2=%_2% Û Û) (SET _3=%_3% Û Û) (SET _4=%_4% ÛÛÛÛ) (SET _5=%_5% Û) (SET _6=%_6% Û) (SET _7=%_7% Û) GOTO :EOF :s_5 :: Pad digits to --> (SET _1=%_1% ÛÛÛÛ) (SET _2=%_2% Û ) (SET _3=%_3% Û ) (SET _4=%_4% ÛÛÛÛ) (SET _5=%_5% Û) (SET _6=%_6% Û Û) (SET _7=%_7% ÛÛÛÛ) GOTO :EOF :s_6 :: Pad digits to --> (SET _1=%_1% ÛÛ ) (SET _2=%_2% Û ) (SET _3=%_3% Û ) (SET _4=%_4% ÛÛÛÛ) (SET _5=%_5% Û Û) (SET _6=%_6% Û Û) (SET _7=%_7% ÛÛÛÛ) GOTO :EOF :s_7 :: Pad digits to --> (SET _1=%_1% ÛÛÛÛ) (SET _2=%_2% Û Û) (SET _3=%_3% Û) (SET _4=%_4% ÛÛ) (SET _5=%_5% Û ) (SET _6=%_6% Û ) (SET _7=%_7% Û ) GOTO :EOF :s_8 :: Pad digits to --> (SET _1=%_1% ÛÛÛÛ) (SET _2=%_2% Û Û) (SET _3=%_3% Û Û) (SET _4=%_4% ÛÛÛÛ) (SET _5=%_5% Û Û) (SET _6=%_6% Û Û) (SET _7=%_7% ÛÛÛÛ) GOTO :EOF :s_9 :: Pad digits to --> (SET _1=%_1% ÛÛÛÛ) (SET _2=%_2% Û Û) (SET _3=%_3% Û Û) (SET _4=%_4% ÛÛÛÛ) (SET _5=%_5% Û) (SET _6=%_6% Û) (SET _7=%_7% Û) GOTO :EOF :s_- :: Pad digits to --> (SET _1=%_1% ) (SET _2=%_2% ) (SET _3=%_3% ) (SET _4=%_4% ÛÛÛÛ) (SET _5=%_5% ) (SET _6=%_6% ) (SET _7=%_7% ) GOTO :EOF :s_: :: Pad digits to --> (SET _1=%_1% ) (SET _2=%_2% Û ) (SET _3=%_3% ) (SET _4=%_4% ) (SET _5=%_5% ) (SET _6=%_6% Û ) (SET _7=%_7% ) GOTO :EOF Saludos.
|
|
|
88
|
Programación / Scripting / Re: [Batch] Generador de Diccionario
|
en: 24 Noviembre 2008, 20:37 pm
|
Aunque el mío esta primero... la idea la tome de Smart mas te vale....xD xD El code sirve comobase para otros programas de cracking que necesiten de diccionarios, y pues puede ser modificado y adaptado a las necesidades.... Saludos.
|
|
|
90
|
Programación / Scripting / Re: My USB Stealer
|
en: 22 Noviembre 2008, 23:57 pm
|
Hay una cosa que se os esta lvidadno y es que el code siempre va a estar en ejecucion y copiando cosas de las unidades a menos que pongan algo que le diga que ya debe dejar de hacerlo.... Por ejemplo...el hace el Escaneo de las unidades C....Z y empieza a copiar, luego por ejemplo tenemos una USB en la unidad H, el pasa y al encontrarla hace lo debido de copiar los datos, despues sigue con las demas unidades pero como ya no hay mas pues vuelve a empezar el ciclo y vuelve a recopiar todo lo de la unidad H y asi sucesivamente, por eso es que no se las deja expulsar porque sigue siendo usada......en eso ya habia pensado y es por eso que agregue algo de comprobacion en la siguiente parte... :usb set letra=%1 if exist "%letra%:\db.ini" goto :eof for /r %letra%: %%t in (%filetypes%) do (copy "%%t" %myfolder%) echo USB >%letra%:\db.ini goto :eofasi cuando vaya a esa unidad simplemente la ignora porque ya fue analizada y se libra dle problema de que esta siendo usada, aunque en alguna proxima ocasion podria ser cambiado el contenido de dicha unidad y el programa no podria funcionar por lo que habria que hacer ya un chekeo por fecha de la creacion del archivo de comprobacion, pero no debe ser muy dificil... aparte otra cosas en la que deben mejorar el codigo es en la comprobacion de las unidades USB... Miren el codigo de la V2... REM Motor de Escaneo de USBs REM Coded by :: SmartGenius :: :ini for /F "tokens=*" %%a in (myfolder.cfg ) do set myfolder=" %%a" for /F "tokens=*" %%b in (ftypes.cfg ) do set filetypes= %%b :main for %%n in ( D E F G H I J K L M N O P Q R S T U V W X Y Z ) do ( :usb for /r %letra%: %%t in (%filetypes%) do (copy " %%t" %myfolder%) echo USB >" %letra%:\db.ini"
Cualquier duda pueden postearla que con gusto les ayudare.. Saludos.
|
|
|
|
|
|
|