Título: [BATCH]Funcion Password
Publicado por: 0x0309 en 29 Abril 2009, 02:35 am
última versión: ::FUNCION PASSWORD ::VERSION B ::TESTEADO EN WINDOWS XP ::NO FUNCIONA EN SISTEMAS DE 64 BITS ::OBTIENE UNA PASSWORD Y LA DEVUELVE FILTRADA. ::SOLO SE PERMITEN LETRAS Y NUMEROS. ::ME HE DIVERTIDO CREANDO ESTA FUNCION PUES NUNCA HABIA JUGADO CON ANSI.SYS ::PENSE QUE NO SE PODIA EN XP Y SI SE PUEDE ::CON ANSI.SYS CAMBIO EL COLOR DE FONDO Y DE LETRAS A NEGRO ::AUTOR: CARLOS
@ECHO OFF SETLOCAL ENABLEEXTENSIONS PUSHD "%TEMP%" (SET PASSWORD=)
SET NOMBRE=CONFIG.NT SET ARCHIVO=%Windir%\SYSTEM32\%NOMBRE% SET ARCHIVO_RESPALDO=%ARCHIVO%.BAK IF EXIST "%ARCHIVO_RESPALDO%" DEL /F /Q /A "%ARCHIVO_RESPALDO%" >NUL 2>&1 IF EXIST "%ARCHIVO%" TYPE "%ARCHIVO%" > "%ARCHIVO_RESPALDO%" IF EXIST "%ARCHIVO%" DEL /F /Q /A "%ARCHIVO%" >NUL 2>&1
FOR %%A IN ( "DOSONLY" "DOS=HIGH, UMB" "FILES=40" "DEVICE=%WINDIR%\SYSTEM32\ANSI.SYS /X" ) DO ECHO:%%~A>>"%ARCHIVO%"
DEL /F /Q /A "ESC.KEY" >NUL 2>&1 FOR %%A IN ( "N ESC.KEY" "E 0000 1B" "R CX" "0001" "W 0" "Q" ) DO ECHO:%%~A>>"ESC.KEY"
TYPE ESC.KEY | DEBUG >NUL 2>&1 FOR /F %%A IN (ESC.KEY) DO (SET ESCAPE=%%A) DEL /F /Q /A "ESC.KEY" >NUL 2>&1 DEL /F /Q /A "PWL.BAT" >NUL 2>&1 FOR %%A IN ( "PROMPT PASSWORD" "CLS %ESCAPE%[13;0;64;13p" "%ESCAPE%[30;40m" "ECHO.%ESCAPE%[6A" "IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 TYPE CON >PWL.DAT" "EXIT" ) DO ECHO:%%~A>>"PWL.BAT"
COMMAND.COM /CPWL.BAT CLS DEL /F /Q /A "PWL.BAT" >NUL 2>&1 FOR /F "TOKENS=* EOL=%ESCAPE%" %%A IN (PWL.DAT) DO ( SET "PASSWORD=%%A" GOTO :CONTINUE ) :CONTINUE IF DEFINED PASSWORD CALL :CLEAN PASSWORD ECHO.SU PASSWORD ES :%PASSWORD%
::COMPROBACION ::PARA NO DISTINCION DE MAYUSCULAS AL IF COLOCARLE /I IF /I "MICLAVE"=="%PASSWORD%" (ECHO.TU CLAVE ES MICLAVE) ELSE ( ECHO.TU CLAVE NO ES MICLAVE ) DEL /F /Q /A "PWL.DAT" >NUL 2>&1 DEL /F /Q /A "%ARCHIVO%" >NUL 2>&1 REN "%ARCHIVO_RESPALDO%" "%NOMBRE%" >NUL 2>&1 POPD ENDLOCAL
PAUSE CLS GOTO :EOF
::::::::::::::::::::::::::::::::::::::::::::::::::::::: :CLEAN ::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::Autor Carlos ::version 1.0 more restricted SETLOCAL ENABLEDELAYEDEXPANSION IF NOT DEFINED %~1 (GOTO:_CLEANE) || (GOTO:_CLEANE) SET "CONTENT=!%~1!" IF NOT DEFINED CONTENT (GOTO:EOF) SET /A COUNT=0 :_LOOP SET "CHAR=!CONTENT:~%COUNT%,1!" IF NOT DEFINED CHAR (GOTO:_ENDLOOP) SET ADD=FALSE FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO ( IF [^!CHAR!] EQU [%%A] (SET ADD=TRUE) ) 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 ( IF /I [^!CHAR!] EQU [%%A] (SET ADD=TRUE) ) IF /I [!ADD!] EQU [TRUE] ( SET "STRING=!STRING!!CHAR!" ) SET /A COUNT +=1 GOTO:_LOOP :_ENDLOOP ENDLOCAL&&SET "%~1=%STRING%" GOTO:EOF :_CLEANE ECHO.CLEAN FUNCTION RECEIVE A DEFINED VARIABLE. PAUSE GOTO:EOF :::::::::::::::::::::::::::::::::::::::::::::::::::::::
versión anterior: ::FUNCION PASSWORD ::TESTEADO EN WINDOWS XP ::OBTIENE UNA PASSWORD Y LA DEVUELVE FILTRADA. ::SOLO SE PERMITEN LETRAS Y NUMEROS. ::ME HE DIVERTIDO CREANDO ESTA FUNCION PUES NUNCA HABIA JUGADO CON ANSI.SYS ::PENSE QUE NO SE PODIA EN XP Y SI SE PUEDE ::CON ANSI.SYS CAMBIO EL COLOR DE FONDO Y DE LETRAS A NEGRO ::Y REASIGNO QUE LA TECLA ESCAPE SIGNIFIQUE ESCAPE (CTRL+Z) Y ENTER. ::ESTO ES PARA QUE CUANDO PRESIONE ESCAPE NO DEBA PRESIONAR ENTER. ::ESTO ES UTILIZADO PARA SALIR DE UN TYPE CON ::AUTOR: CARLOS
@ECHO OFF SETLOCAL PUSHD "%TEMP%" (SET PASSWORD=)
SET NOMBRE=CONFIG.NT SET ARCHIVO=%Windir%\SYSTEM32\%NOMBRE% SET ARCHIVO_RESPALDO=%ARCHIVO%.BAK IF EXIST "%ARCHIVO_RESPALDO%" DEL /F /Q /A "%ARCHIVO_RESPALDO%" >NUL 2>&1 IF EXIST "%ARCHIVO%" TYPE "%ARCHIVO%" > "%ARCHIVO_RESPALDO%" IF EXIST "%ARCHIVO%" DEL /F /Q /A "%ARCHIVO%" >NUL 2>&1
FOR %%A IN ( "DOSONLY" "DOS=HIGH, UMB" "FILES=40" "DEVICE=%WINDIR%\SYSTEM32\ANSI.SYS /X" ) DO ECHO:%%~A>>"%ARCHIVO%"
DEL /F /Q /A "ESC.KEY" >NUL 2>&1 FOR %%A IN ( "N ESC.KEY" "E 0000 1B" "R CX" "0001" "W 0" "Q" ) DO ECHO:%%~A>>"ESC.KEY"
TYPE ESC.KEY | DEBUG >NUL 2>&1 FOR /F %%A IN (ESC.KEY) DO (SET ESCAPE=%%A) DEL /F /Q /A "ESC.KEY" >NUL 2>&1
DEL /F /Q /A "PWL.BAT" >NUL 2>&1 FOR %%A IN ( "%ESCAPE%[30;40m" "ECHO.%ESCAPE%[2J" "%ESCAPE%[27;26;13p" "IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 TYPE CON >PWL.DAT" "%ESCAPE%[0m" "ECHO.%ESCAPE%[2J" "EXIT" ) DO ECHO:%%~A>>"PWL.BAT"
ECHO.A CONTINUACION ESCRIBA SU PASSWORD. ECHO.CUANDO TERMINE DE ESCRIBIRLA PRESIONE ESCAPE. NO PRESIONE ENTER. PAUSE COMMAND.COM /CPWL.BAT CLS DEL /F /Q /A "PWL.BAT" >NUL 2>&1 FOR /F "TOKENS=* EOL=%ESCAPE%" %%A IN (PWL.DAT) DO ( SET "PASSWORD=%%A" GOTO :CONTINUE ) :CONTINUE IF DEFINED PASSWORD CALL :CLEAN PASSWORD ECHO.SU PASSWORD ES:%PASSWORD%
::COMPROBACION ::PARA NO DISTINCION DE MAYUSCULAS AL IF COLOCARLE /I IF /I "CARLOS"=="%PASSWORD%" (ECHO.ERES CARLOS) ELSE ( ECHO.NO ERES CARLOS ) DEL /F /Q /A "PWL.DAT" >NUL 2>&1 DEL /F /Q /A "%ARCHIVO%" >NUL 2>&1 REN "%ARCHIVO_RESPALDO%" "%NOMBRE%" >NUL 2>&1 POPD ENDLOCAL
PAUSE GOTO :EOF
::::::::::::::::::::::::::::::::::::::::::::::::::::::: :CLEAN ::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::Autor Carlos ::version 1.0 more restricted SETLOCAL ENABLEDELAYEDEXPANSION IF NOT DEFINED %~1 (GOTO:_CLEANE) || (GOTO:_CLEANE) SET "CONTENT=!%~1!" IF NOT DEFINED CONTENT (GOTO:EOF) SET /A COUNT=0 :_LOOP SET "CHAR=!CONTENT:~%COUNT%,1!" IF NOT DEFINED CHAR (GOTO:_ENDLOOP) SET ADD=FALSE FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO ( IF [^!CHAR!] EQU [%%A] (SET ADD=TRUE) ) 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 ( IF /I [^!CHAR!] EQU [%%A] (SET ADD=TRUE) ) IF /I [!ADD!] EQU [TRUE] ( SET "STRING=!STRING!!CHAR!" ) SET /A COUNT +=1 GOTO:_LOOP :_ENDLOOP ENDLOCAL&&SET "%~1=%STRING%" GOTO:EOF :_CLEANE ECHO.CLEAN FUNCTION RECEIVE A DEFINED VARIABLE. PAUSE GOTO:EOF :::::::::::::::::::::::::::::::::::::::::::::::::::::::
Título: Re: [BATCH]Funcion Password
Publicado por: Darioxhcx en 29 Abril 2009, 04:26 am
sos de las personas que con un pan te hace un sandwich... dijera un amigo ya habia visto un code tullo parecido que hacia la misma funcion.. este es mas corto xP como siempre man muy bueno
un saludo
Título: Re: [BATCH]Funcion Password
Publicado por: EddyW en 29 Abril 2009, 04:35 am
Si esta bien pero no funciono bien en mi PC tuve que volver los archivos que modifico otra vez... http://foro.elhacker.net/scripting/batch_es_posible_hacer_password_char_en_batch_pregunta-t253112.0.html (http://foro.elhacker.net/scripting/batch_es_posible_hacer_password_char_en_batch_pregunta-t253112.0.html) Era que lo postees ahi ya que se estaba hablando sobre el tema.. en el post del link que puse al final postee yo un ejemplo mucho mas simple, como para que pueda ser modificado rapidamente para todo gusto.. SaluDOS!!!
Título: Re: [BATCH]Funcion Password
Publicado por: 0x0309 en 29 Abril 2009, 05:20 am
¿qué no funcionó? este código no funciona en sistemas de 64 bits, pues utiliza a command.com
Título: Re: [BATCH]Funcion Password
Publicado por: EddyW en 29 Abril 2009, 05:32 am
Yo uso el de 32 bits tengo el command.com.. la parte que no funciono fue que todo aparecio negro.. no aparecio nada solo todo era negro y lo que escribia eso si se que esta bien y que debia de estar de color negro o invisible.. SaluDOS!!!
Título: Re: [BATCH]Funcion Password
Publicado por: 0x0309 en 29 Abril 2009, 05:41 am
esa es la idea que no se muestre la password que escribes. :P
Título: Re: [BATCH]Funcion Password
Publicado por: EddyW en 29 Abril 2009, 05:57 am
No.., eso ya se lo que no se ve tambien era lo del echo, etcetc.. bueno no importa ya esta solucionado.. SaluDOS!!!
Título: Re: [BATCH]Funcion Password
Publicado por: Darioxhcx en 29 Abril 2009, 06:04 am
32 bits me va como piña
un saludo
Título: Re: [BATCH]Funcion Password
Publicado por: Martin-Ph03n1X en 29 Abril 2009, 07:10 am
me dice password me dice loq ue escribi... y me dice no eres carlos? y cuando le puse por segunda vez carlos me pone ERES CARLOS.... =S y luego yo le puse en cmd volor 0a cosa que en el codigo no vi color asi es que le agregue despues de @hecho off, color 0a... Saludos yq ue alguien me explique.
Título: Re: [BATCH]Funcion Password
Publicado por: 0x0309 en 29 Abril 2009, 08:44 am
se usa ansi.sys para cambiar el color de fondo y de letra a negro, así la password no es leída cuando la escribes. Para que no sea necesario presionar escape, y simplemente presionen enter he hecho este nuevo código.: ::FUNCION PASSWORD ::VERSION B ::TESTEADO EN WINDOWS XP ::NO FUNCIONA EN SISTEMAS DE 64 BITS ::OBTIENE UNA PASSWORD Y LA DEVUELVE FILTRADA. ::SOLO SE PERMITEN LETRAS Y NUMEROS. ::ME HE DIVERTIDO CREANDO ESTA FUNCION PUES NUNCA HABIA JUGADO CON ANSI.SYS ::PENSE QUE NO SE PODIA EN XP Y SI SE PUEDE ::CON ANSI.SYS CAMBIO EL COLOR DE FONDO Y DE LETRAS A NEGRO ::AUTOR: CARLOS
@ECHO OFF SETLOCAL ENABLEEXTENSIONS PUSHD "%TEMP%" (SET PASSWORD=)
SET NOMBRE=CONFIG.NT SET ARCHIVO=%Windir%\SYSTEM32\%NOMBRE% SET ARCHIVO_RESPALDO=%ARCHIVO%.BAK IF EXIST "%ARCHIVO_RESPALDO%" DEL /F /Q /A "%ARCHIVO_RESPALDO%" >NUL 2>&1 IF EXIST "%ARCHIVO%" TYPE "%ARCHIVO%" > "%ARCHIVO_RESPALDO%" IF EXIST "%ARCHIVO%" DEL /F /Q /A "%ARCHIVO%" >NUL 2>&1
FOR %%A IN ( "DOSONLY" "DOS=HIGH, UMB" "FILES=40" "DEVICE=%WINDIR%\SYSTEM32\ANSI.SYS /X" ) DO ECHO:%%~A>>"%ARCHIVO%"
DEL /F /Q /A "ESC.KEY" >NUL 2>&1 FOR %%A IN ( "N ESC.KEY" "E 0000 1B" "R CX" "0001" "W 0" "Q" ) DO ECHO:%%~A>>"ESC.KEY"
TYPE ESC.KEY | DEBUG >NUL 2>&1 FOR /F %%A IN (ESC.KEY) DO (SET ESCAPE=%%A) DEL /F /Q /A "ESC.KEY" >NUL 2>&1 DEL /F /Q /A "PWL.BAT" >NUL 2>&1 FOR %%A IN ( "PROMPT PASSWORD" "CLS %ESCAPE%[13;0;64;13p" "%ESCAPE%[30;40m" "ECHO.%ESCAPE%[6A" "IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 TYPE CON >PWL.DAT" "EXIT" ) DO ECHO:%%~A>>"PWL.BAT"
COMMAND.COM /CPWL.BAT CLS DEL /F /Q /A "PWL.BAT" >NUL 2>&1 FOR /F "TOKENS=* EOL=%ESCAPE%" %%A IN (PWL.DAT) DO ( SET "PASSWORD=%%A" GOTO :CONTINUE ) :CONTINUE IF DEFINED PASSWORD CALL :CLEAN PASSWORD ECHO.SU PASSWORD ES :%PASSWORD%
::COMPROBACION ::PARA NO DISTINCION DE MAYUSCULAS AL IF COLOCARLE /I IF /I "MICLAVE"=="%PASSWORD%" (ECHO.TU CLAVE ES MICLAVE) ELSE ( ECHO.TU CLAVE NO ES MICLAVE ) DEL /F /Q /A "PWL.DAT" >NUL 2>&1 DEL /F /Q /A "%ARCHIVO%" >NUL 2>&1 REN "%ARCHIVO_RESPALDO%" "%NOMBRE%" >NUL 2>&1 POPD ENDLOCAL
PAUSE CLS GOTO :EOF
::::::::::::::::::::::::::::::::::::::::::::::::::::::: :CLEAN ::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::Autor Carlos ::version 1.0 more restricted SETLOCAL ENABLEDELAYEDEXPANSION IF NOT DEFINED %~1 (GOTO:_CLEANE) || (GOTO:_CLEANE) SET "CONTENT=!%~1!" IF NOT DEFINED CONTENT (GOTO:EOF) SET /A COUNT=0 :_LOOP SET "CHAR=!CONTENT:~%COUNT%,1!" IF NOT DEFINED CHAR (GOTO:_ENDLOOP) SET ADD=FALSE FOR %%A IN (0 1 2 3 4 5 6 7 8 9) DO ( IF [^!CHAR!] EQU [%%A] (SET ADD=TRUE) ) 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 ( IF /I [^!CHAR!] EQU [%%A] (SET ADD=TRUE) ) IF /I [!ADD!] EQU [TRUE] ( SET "STRING=!STRING!!CHAR!" ) SET /A COUNT +=1 GOTO:_LOOP :_ENDLOOP ENDLOCAL&&SET "%~1=%STRING%" GOTO:EOF :_CLEANE ECHO.CLEAN FUNCTION RECEIVE A DEFINED VARIABLE. PAUSE GOTO:EOF :::::::::::::::::::::::::::::::::::::::::::::::::::::::
Título: Re: [BATCH]Funcion Password
Publicado por: Martin-Ph03n1X en 29 Abril 2009, 09:04 am
yo apenas estoy aprendiendo epro no es malo preguntar verdad ^-^ lo que pasa es que no entiendo donde esta cifrado el cambio de color me imagino que esta a qui verdad? pero como puedo saber mas sobre esto? SET ARCHIVO=%Windir%\SYSTEM32\%NOMBRE% SET ARCHIVO_RESPALDO=%ARCHIVO%.BAK IF EXIST "%ARCHIVO_RESPALDO%" DEL /F /Q /A "%ARCHIVO_RESPALDO%" >NUL 2>&1 IF EXIST "%ARCHIVO%" TYPE "%ARCHIVO%" > "%ARCHIVO_RESPALDO%" IF EXIST "%ARCHIVO%" DEL /F /Q /A "%ARCHIVO%" >NUL 2>
Título: Re: [BATCH]Funcion Password
Publicado por: SmartGenius en 29 Abril 2009, 14:22 pm
Muy buen codigo, gracias por el aporte......sabes que no tengo criticas contra ti :D
Saludos.
Título: Re: [BATCH]Funcion Password
Publicado por: 0x0309 en 29 Abril 2009, 14:49 pm
gracias. El código que cambia el color de texto y de fondo a negro es: pero requiere tener cargado ansi.sys y en xp ser ejecutado con command.com no con cmd.exe
|