Virtual Drive v 1.5 by :: SmartGenius ::

Iniciado por SmartGenius, 16 Agosto 2008, 17:24 PM

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

SmartGenius

Bueno, pensando en hacer una aplicacion que me permitiera proteger archivos en Windows pues pense en hacer una de Unidad Virtual pero que no fuese omo los demas...

Estuve un rato probando codigo hasta que encontre la forma de esconder los datos en una carpeta especial del sistema que solo es accesible desde MS-DOS o montando una unidad virtual, y pues en eso se basa el codigo...

El metodo lo he llamado "Credenciales" y es ideado por mi, y pues vean que ya es la version 1.5 con algunas mejoras como las gestion de varias unidades por cada usuario....

El codigo:

Código (DOS) [Seleccionar]

mode con cols=68
mode con lines=25
   @echo off
title Virtual Drive - by :: SmartGenius ::
color 0a
REM Gestor de Unidad Virtual Protegida
REM Proteccion Mediante Credenciales, metodo by SmartGenius
REM Las Credenciales Permiten Crear una Unidad Virtual
REM independiente para cada Usuario de la PC.

:load
cls
call :credencial
if not exist "%homedrive%\RECYCLER\%cred%\config.cfg" (goto first) else (goto menu)
exit

:menu
cls
echo.
echo  Token: %cred%
echo.
echo       ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo       º Gestor de Unidades Virtuales º
echo       ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo    Elija una Opcion:
echo.
echo   ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo   ³1³ ³ Abrir Unidad Virtual  ³  ³2³ ³ Cerrar Unidad...     ³
echo   ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo   ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo   ³3³ ³ Crear Unidad Nueva... ³  ³4³ ³ Eliminar Unidad...   ³
echo   ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo   ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo   ³5³ ³ Proteger Unidad...    ³  ³6³ ³ Ayuda ^& Informacion  ³
echo   ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
set /p pin=">> "
if %pin%==1 call :gestion open
if %pin%==2 call :gestion close
if %pin%==3 call :create
if %pin%==4 call :gestion delete
if %pin%==5 call :gestion lock
if %pin%==6 (goto help) else (goto menu)
exit

:gestion
cls
set funcion=%1
for /F "tokens=*" %%n in (%homedrive%\RECYCLER\%cred%\config.cfg) do (set num=%%n)
call :unis %num%
cls
echo.
echo.
echo  Unidades Virtuales: %num%
echo.
echo  Escoja una Unidad Virtual:
echo.
echo  %lin11%   %lin12%   %lin13%
echo  %uni1%   %uni2%   %uni3%
echo  %lin21%   %lin22%   %lin23%
echo.
set /p unidad=">> "
call :%funcion% %unidad%
goto :eof

:unis
set num=%1
set /a cont=%num%+1
:unis2
set /a cont=%cont%-1
for /F "tokens=*" %%l in (%homedrive%\RECYCLER\%cred%\vd00%cont%.tmf) do (set drive=%%l)
set drive=%drive: =:%
set uni%cont%=³%cont%³ ³ Unidad %drive% ³
set lin1%cont%=ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄ¿
set lin2%cont%=ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÙ
if %cont%==0 (goto :eof) else (goto unis2)

:credencial
for /R "%homepath%\Datos de programa\Microsoft\Credentials" %%i in (.) do (echo %%i>%temp%\cred.tmf)
for /F "tokens=7 delims=\" %%n in (%temp%\cred.tmf) do (set cred=%%n)
goto :eof

:first
call :credencial
cls
echo.
echo  Token: %cred%
echo.
echo  Aun no ha creado Ninguna Unidad Virtual
echo.
echo  Desea Crear Una ?? Si [S]  No [N]
echo.
set /p opc=">> "
if %opc%==n (echo.&echo  Gracias por Usar el Software...&echo.&pause&exit)
if %opc%==N (echo.&echo  Gracias por Usar el Software...&echo.&pause&exit)
md "%homedrive%\RECYCLER\%cred%\VD001"
echo 1 >%homedrive%\RECYCLER\%cred%\config.cfg
echo Z >%homedrive%\RECYCLER\%cred%\vd001.tmf
goto menu

:open
set var=%1
if not exist "%homedrive%\RECYCLER\%cred%\vd00%var%.tmf" (echo.&echo  La Unidad Escogida no Existe&echo.&pause&goto menu)
for /F "tokens=*" %%m in (%homedrive%\RECYCLER\%cred%\vd00%var%.tmf) do (set drive=%%m)
set drive=%drive: =:%
if exist "%drive%" (echo.&echo  La Unidad se encuentra Activa&echo.&pause&start %drive%&goto menu)
if exist "%homedrive%\RECYCLER\%cred%\vd00%var%\password.cfg" (call :unlock %var%)
set ruta=%homedrive%\RECYCLER\%cred%\vd00%var%
subst "%drive%" "%ruta%"
ping -n 5 0.0.0.0>nul
start %drive%
goto :eof

:close
set letra=%1
for /F "tokens=*" %%m in (%homedrive%\RECYCLER\%cred%\vd00%letra%.tmf) do (set drive=%%m)
set drive=%drive: =:%
subst "%drive%" /D
echo.
echo  Unidad Bloqueada
echo.
pause
goto :eof

:lock
set virt=%1
if exist "%homedrive%\RECYCLER\%cred%\vd00%virt%\password.cfg" (call :unlock %virt%)
echo.
echo  Introduzca un Clave para Proteger la Unidad
echo.
set /p clave=">> "
echo %clave%>"%homedrive%\RECYCLER\%cred%\vd00%virt%\password.cfg"
attrib +h "%homedrive%\RECYCLER\%cred%\vd00%virt%\password.cfg"
echo  La Clave "%clave%" ha sido establecida Exitosamente.
echo.
pause
goto :eof

:unlock
set tip=%1
for /F "tokens=*" %%c in (%homedrive%\RECYCLER\%cred%\vd00%tip%\password.cfg) do (set word=%%c)
echo.
echo  La Unidad Virtual se Encuentra Protegida.
echo.
echo  Introduzca el Password:
echo.
set /p pass=">> "
if %pass%==%word% (goto :eof) else (echo.&echo  Clave Incorrecta&pause&goto menu)
goto :eof

:help
cls
echo.
echo  Bienvenido a la Ayuda del Programa
echo.
echo  La Primera vez que ejecuta la Utilidad, se crea la
echo  Unidad Virtual en la que se guardaran los archivos.
echo.
echo  El TOKEN es el Identificador de Seguridad del Usuario,
echo  y es diferente en cada Instalacion de Windows.
echo.
echo  Use la Unidad Virtual para guardar archivos y luego
echo  bloquee el acceso mediante la aplicacion.
echo.
echo  Puede crear un Maximo de 3 Unidades Virtuales por
echo  usuario.
echo.
echo  Si lo desea, puede establecer una contraseña para cada
echo  na de las Unidades Virtuales.
echo.
echo.
echo  Para dudas, comentarios y sugerencias favor contactar
echo  con el autor del Programa.
echo.
echo          :: SmartGenius, Corp. 2008 ::
echo.
pause
goto menu

:create
cls
echo.
echo  Token: %cred%
echo.
echo  Desea Crear Una Nueva Unidad Virtual?? Si [S]  No [N]
echo.
set /p opc=">> "
if %opc%==n (goto menu)
if %opc%==N (goto menu)
for /F "tokens=*" %%d in (%homedrive%\RECYCLER\%cred%\config.cfg) do (set num=%%d)
if %num%==3 (echo.&echo  No se permiten mas de 3 Unidades Virtuales&echo.&pause&goto menu)
set /a num=%num%+1
md "%homedrive%\RECYCLER\%cred%\vd00%num%"
echo %num% >%homedrive%\RECYCLER\%cred%\config.cfg
echo.
echo  Introduzca una Letra para Asignar a la Nueva Unidad:
echo.
set /p new=">> "
echo %new% >%homedrive%\RECYCLER\%cred%\vd00%num%.tmf
echo.
echo  Unidad Virtual %new% creada.
echo.
pause
goto menu

:delete
cls
set borrar=%1
echo.
echo  Token: %cred%
echo.
echo  Esta Seguro de quitar la Unidad Virtual?? Si [S]  No [N]
echo.
set /p opc=">> "
if %opc%==n (goto menu)
if %opc%==N (goto menu)
for /F "tokens=*" %%d in (%homedrive%\RECYCLER\%cred%\config.cfg) do (set num=%%d)
set /a num=%num%-1
del /f "%homedrive%\RECYCLER\%cred%\vd00%num%.tmf"
rd "%homedrive%\RECYCLER\%cred%\vd00%num%"
echo %num% >%homedrive%\RECYCLER\%cred%\config.cfg
echo.
echo  Unidad Virtual Eliminada.
echo.
pause
goto menu


La credencial es le Identificador de Usuario de WINDOWS, es diferente por cada usuario sea Normal, Invitado o Administrador por lo que varia su longitud de caracteres, y ademas tambien es diferente por cada Instalaciond e WINDOWS, la verdad que fue un gran logro y en eso se basa la proteccion..

Intenten guardar datos y luego cerrrar la unidad, despues de eso los buscan desde WINDOWS y no los encontrara, solo mientras la unidad este montada...

Se puede proteger la unidad, y crear otras dos mas para un total de 3 por usuario, pero no creo que se necesite mas de una...

Acepto sugerencias y ayuda, o comentarios...

Saludos.


carlitos.dll

Me gustó, no tenía idea qué se podían esconder archivos de esa forma.

dooque

#2

bue vamos a lo q queria decir:

Que piola q esta! te felicito!!

no soy muy ducho en batch (para no decir q no soy ducho jeje)asi que tengo q preguntar!

como haces para crear o cargar el Virtaul Driver de la unidad ?? como es la movida?? tienes alguna urlsobre el tema?? thanks!!

saludos!!
Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.  -- Kernighan

sirdarckcat

las unidades virtuales se crean con el comando subst

subst Y: ruta

y /D la borra

Saludos!!

SmartGenius

Master... me gustaria saber tu opinion acerca del metodo que expongo aqui, el de las credenciales...

y si acaso tienes una sugerencia o mejora de tu parte, me vendria bien.. ;D

Saludos.


sirdarckcat

jaja pues está bien, los virus de USB usan esta tecnica para protegerse.. es una friega jaja

Eazy

Esta bastante bueno, considerando que batch no es un lenguaje de PROGRAMACION. Te felicito amigo.
[/url]

sirdarckcat


SmartGenius

Cita de: Eazy en  3 Septiembre 2008, 09:44 AM
Esta bastante bueno, considerando que batch no es un lenguaje de PROGRAMACION. Te felicito amigo.

bueno pues yo si lo considero asi.... se pueden hacer muchas cosas...

de paso dejo la nueva version que esta mejorada y con los errores arreglados..

Virtual Drive v 2 Reloaded

Aqui les traigo el nuevo codigo de esta gran utilidad que he codeado... :D

He arreglado los bugs de las anteriores versiones, con respecto a la gestion de las
unidades virtuales, y he agregado nuevas funciones, ademas de mayor seguridad para
los datos en las unidades...


Destro de las mejoras esta el uso de CACLS para cerrar los datos, y tambien la posibilidad
de personalizar la unidad virtual...xD xD

Una vista previa de la personalizacion... xD


El fondo aqui: http://img221.imageshack.us/img221/5200/fondovd2bysmartnw3.jpg


y Aqui el codigo del programa...

@echo off
mode con cols=68 lines=25
title Virtual Drive v 2 Reloaded - by :: SmartGenius ::
color 0a
REM Gestor de Unidad Virtual Protegida
REM Proteccion Mediante Credenciales, metodo by SmartGenius
REM Las Credenciales Permiten Crear una Unidad Virtual
REM independiente para cada Usuario de la PC.

:load
cls
call :credencial
if not exist "%systemdrive%\RECYCLER\%cred%\config.cfg" (goto first) else (goto menu)
exit

:menu
cls
echo.
echo   Bienvenido %username%
echo.
echo       ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo       º Gestor de Unidades Virtuales º
echo       ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
echo    Elija una Opcion:
echo.
echo   ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo   ³1³ ³ Abrir Unidad Virtual  ³  ³2³ ³ Cerrar Unidad...     ³
echo   ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo   ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo   ³3³ ³ Crear Unidad Nueva... ³  ³4³ ³ Eliminar Unidad...   ³
echo   ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo   ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo   ³5³ ³ Proteger Unidad...    ³  ³6³ ³ Extras ^& Ayuda       ³
echo   ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
set /p pin=">> "
if %pin%==1 call :gestion open
if %pin%==2 call :gestion close
if %pin%==3 call :create
if %pin%==4 call :gestion delete
if %pin%==5 call :gestion lock
if %pin%==6 (goto other) else (goto menu)
exit

:gestion
cls
set funcion=%1
set lin11= &set lin12= &set lin13=
set lin21= &set lin22= &set lin23=
set uni1= &set uni2= &set uni3= &set drive=
for /F "tokens=*" %%n in (%systemdrive%\RECYCLER\%cred%\config.cfg) do (set num=%%n)
call :unis %num%
echo.
echo.
echo  Unidades Virtuales: %num%
echo.
echo  Escoja una Unidad Virtual:
echo.
echo  %lin11%   %lin12%   %lin13%
echo  %uni1%   %uni2%   %uni3%
echo  %lin21%   %lin22%   %lin23%
echo.
set /p unidad=">> "
call :%funcion% %unidad%
goto :eof

:unis
set val=%1
for /l %%k in (0,1,3) do (
if exist "%systemdrive%\RECYCLER\%cred%\vd00%%k.tmf" (
for /F "tokens=1" %%l in (%systemdrive%\RECYCLER\%cred%\vd00%%k.tmf) do (
set uni%%k=³%%k³ ³ Unidad %%l ³
set lin1%%k=ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄ¿
set lin2%%k=ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÙ
)
)
)
goto :eof

:credencial
for /R "%appdata%\Microsoft\Credentials" %%a in (.) do (echo %%a>%temp%\cred.tmf)
for /F "tokens=7 delims=\" %%b in (%temp%\cred.tmf) do (set cred=%%b)
goto :eof

:first
call :credencial
cls
echo.
echo  TOKEN: %cred%
echo.
echo  Bienvenido %username%
echo.
echo  Aun no ha creado Ninguna Unidad Virtual
echo.
echo  Debe escoger la opcion de Crear Unidad
echo  Virtual en el Menu Principal...
echo.
ping -n 4 0.0.0.0 >nul
echo 0 >%systemdrive%\RECYCLER\%cred%\config.cfg
goto menu

:open
set var=%1
if not exist "%systemdrive%\RECYCLER\%cred%\vd00%var%.tmf" (echo.&echo  La Unidad Escogida no Existe&echo.&pause&goto menu)
for /F "tokens=*" %%m in (%systemdrive%\RECYCLER\%cred%\vd00%var%.tmf) do (set drive=%%m)
set unidad=%drive:~0,1%:
if exist "%unidad%" (echo.&echo  La Unidad se encuentra Activa&echo.&pause&start %unidad%&goto menu)
if exist "%systemdrive%\RECYCLER\%cred%\vd00%var%.cfg" (call :unlock %var%)
set ruta=%systemdrive%\RECYCLER\%cred%\vd00%var%
cacls "%ruta%" /e /p Todos:f>nul
subst "%unidad%" "%ruta%"
echo  Por Favor espere...
ping -n 5 0.0.0.0>nul
start %unidad%
goto :eof

:close
set letra=%1
for /F "tokens=*" %%m in (%systemdrive%\RECYCLER\%cred%\vd00%letra%.tmf) do (set drive=%%m)
set unidad=%drive:~0,1%:
set ruta=%systemdrive%\RECYCLER\%cred%\vd00%letra%
subst "%unidad%" /D
cacls "%ruta%" /e /d Todos>nul
echo.
echo  Unidad Bloqueada
echo.
pause
goto :eof

:lock
set virt=%1
if exist "%systemdrive%\RECYCLER\%cred%\vd00%virt%\password.cfg" (call :unlock %virt%)
echo.
echo  Introduzca un Clave para Proteger la Unidad
echo.
set /p clave=">> "
echo %clave%>"%systemdrive%\RECYCLER\%cred%\vd00%virt%\password.cfg"
echo Protected>"%systemdrive%\RECYCLER\%cred%\vd00%virt%.cfg"
attrib +h "%systemdrive%\RECYCLER\%cred%\vd00%virt%\password.cfg"
echo  La Clave "%clave%" ha sido establecida Exitosamente.
echo.
pause
goto :eof

:unlock
set tip=%1
for /F "tokens=*" %%c in (%systemdrive%\RECYCLER\%cred%\vd00%tip%\password.cfg) do (set word=%%c)
echo.
echo  La Unidad Virtual se Encuentra Protegida.
echo.
echo  Introduzca el Password:
echo.
set /p pass=">> "
if %pass%==%word% (goto :eof) else (echo.&echo  Clave Incorrecta&pause&goto menu)
goto :eof

:help
cls
echo.
echo  Bienvenido a la Ayuda del Programa
echo.
echo  El TOKEN es el Identificador de Seguridad del Usuario,
echo  y es diferente en cada Instalacion de Windows.
echo.
echo  Use la Unidad Virtual para guardar archivos y luego
echo  bloquee el acceso mediante la aplicacion.
echo.
echo  Puede crear un Maximo de 3 Unidades Virtuales por
echo  usuario.
echo.
echo  Si lo desea, puede establecer una contraseña para cada
echo  na de las Unidades Virtuales.
echo.
echo  De igual manera cuenta con varias opciones para que
echo  personalice la Unidad Virtual.
echo.
echo  Para dudas, comentarios y sugerencias favor contactar
echo  con el autor del Programa.
echo.
echo          :: SmartGenius, Corp. 2008 ::
echo.
pause
goto menu

:create
cls
echo.
echo  Token: %cred%
echo.
echo  Desea Crear Una Nueva Unidad Virtual?? Si [S]  No [N]
echo.
set /p opc=">> "
if %opc%==n (goto menu)
if %opc%==N (goto menu)
for /F "tokens=*" %%d in (%systemdrive%\RECYCLER\%cred%\config.cfg) do (set num=%%d)
if %num%==3 (echo.&echo  No se permiten mas de 3 Unidades Virtuales&echo.&pause&goto menu)
set /a num=%num%+1
md "%systemdrive%\RECYCLER\%cred%\vd00%num%"
echo %num% >%systemdrive%\RECYCLER\%cred%\config.cfg
echo.
echo  Introduzca una Letra para Asignar a la Nueva Unidad:
echo.
set /p new=">> "
echo %new% >%systemdrive%\RECYCLER\%cred%\vd00%num%.tmf
echo.
echo  Unidad Virtual %new% creada.
echo.
pause
goto menu

:delete
cls
set num=%1
echo.
echo  Token: %cred%
echo.
echo  Esta Seguro de quitar la Unidad Virtual?? Si [S]  No [N]
echo.
set /p opc=">> "
if %opc%==n (goto menu)
if %opc%==N (goto menu)
cacls "%systemdrive%\RECYCLER\%cred%\vd00%num%.tmf" /e /p Todos:f>nul
del /f "%systemdrive%\RECYCLER\%cred%\vd00%num%.tmf"
rd /s /q "%systemdrive%\RECYCLER\%cred%\vd00%num%"
for /F "tokens=*" %%h in (%systemdrive%\RECYCLER\%cred%\config.cfg) do (set tot=%%h)
set /a abc=%tot%-1
echo %abc% >%systemdrive%\RECYCLER\%cred%\config.cfg
echo.
echo  Unidad Virtual Eliminada.
echo.
pause
goto menu

:other
cls
echo.
echo.
echo  Que desea hacer ??
echo.
echo ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³1³ ³ Personalizar la Unidad Virtual ³
echo ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³2³ ³ Ver la Ayuda del Programa      ³
echo ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo ³3³ ³ Volver al Menu Principal...    ³
echo ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
set /p nvc=">> "
if %nvc%==1 goto personalize
if %nvc%==2 goto help
if %nvc%==3 (goto menu) else (goto other)


:personalize
cls
echo.
echo  Los cambios deben realizarse con la unidad abierta
echo  y se haran efectivos la proxima vez que abra la
echo  Unidad Virtual.
echo.
echo  Escoja una Opcion:
echo.
echo   ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo   ³1³ ³ Definir Fondo  ³  ³2³ ³ Color de Letra  ³
echo   ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo   ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿  ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo   ³3³ ³ Quitar Fondo.. ³  ³4³ ³ Volver al menu  ³
echo   ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ  ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo.
set /p opc=">> "
if %opc%==1 call :gestion wall
if %opc%==2 call :gestion color
if %opc%==3 call :gestion delwall
if %opc%==4 (goto menu) else (goto personalize)

:wall
set letra=%1
for /F "tokens=*" %%m in (%systemdrive%\RECYCLER\%cred%\vd00%letra%.tmf) do (set drive=%%m)
set unidad=%drive:~0,1%:
attrib -h -a "%unidad%\desktop.ini"
attrib -h -a "%unidad%\fondo.cfg"
del /f "%unidad%\desktop.ini">nul
del /f "%unidad%\fondo.cfg">nul
cls
echo.
echo  Seleccione o arrastre aqui una Imagen
echo  para configurarla como fondo
echo.
set /p img=">> "
copy /y %img% "%unidad%\fondo.cfg">nul
echo [{BE098140-A513-11D0-A3A4-00C04FD706EC}]>>"%unidad%\desktop.ini"
echo IconArea_Image=fondo.cfg >>"%unidad%\desktop.ini"
echo IconArea_Text=0x000000>>"%unidad%\desktop.ini"
attrib +h "%unidad%\desktop.ini">nul
attrib +h "%unidad%\fondo.cfg">nul
echo.
echo  Imagen establecida con Exito.
echo.
pause
goto personalize

:color
set letra=%1
for /F "tokens=*" %%m in (%systemdrive%\RECYCLER\%cred%\vd00%letra%.tmf) do (set drive=%%m)
set unidad=%drive:~0,1%:
attrib -h -a "%unidad%\desktop.ini"
del /f "%unidad%\desktop.ini">nul
cls
echo.
echo.
echo  Aqui se definen los colores para
echo  la letra o fuente de los nombres
echo  de archivo y carpetas...
echo.
echo   ÚÄ¿ ÚÄÄÄÄÄÄÄ¿  ÚÄ¿ ÚÄÄÄÄÄÄÄ¿ ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿
echo   ³1³ ³ Azul  ³  ³2³ ³ Rojo  ³ ³3³ ³ Amarillo.. ³
echo   ÀÄÙ ÀÄÄÄÄÄÄÄÙ  ÀÄÙ ÀÄÄÄÄÄÄÄÙ ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo   ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄÄ¿  ÚÄ¿ ÚÄÄÄÄÄÄÄÄÄ¿
echo   ³4³ ³ Fucsia.. ³  ³5³ ³ Negro   ³
echo   ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÄÙ  ÀÄÙ ÀÄÄÄÄÄÄÄÄÄÙ
echo.
set /p vc=">> "
if %vc%==1 set color=ff0000
if %vc%==2 set color=0000ff
if %vc%==3 set color=00ffff
if %vc%==4 set color=ff00ff
if %vc%==5 set color=000000
echo [{BE098140-A513-11D0-A3A4-00C04FD706EC}]>>"%unidad%\desktop.ini"
echo IconArea_Image=fondo.cfg >>"%unidad%\desktop.ini"
echo IconArea_Text=0x%color% >>"%unidad%\desktop.ini"
attrib +h "%unidad%\desktop.ini"
echo.
echo  Color de Fuente. OK
echo.
pause
goto personalize

:delwall
set letra=%1
for /F "tokens=*" %%m in (%systemdrive%\RECYCLER\%cred%\vd00%letra%.tmf) do (set drive=%%m)
set unidad=%drive:~0,1%:
cls
echo.
echo.
echo  Esta seguro que desea Eliminar el Fondo...
echo.
echo   Si [S]    No [N]
echo.
set /p var=">> "
if %var%==s (attrib -h -a "%unidad%\desktop.ini" & del /f "%unidad%\desktop.ini" & echo.&echo  Se elimino el fondo con Exito&echo.&pause&goto personalize)
if %var%==S (attrib -h -a "%unidad%\desktop.ini" & del /f "%unidad%\desktop.ini" & echo.&echo  Se elimino el fondo con Exito&echo.&pause&goto personalize)
if %var%==n (echo.&echo  No se elimino...&echo.&pause&goto personalize)
if %var%==N (echo.&echo  No se elimino...&echo.&pause&goto personalize) else (goto main)




Comparenlo con la version anterior y notaran la mejoras... ;D


Lo unico que haria falta es mejorar la ayuda :D , es que soy malo para eso,
y tambien que la contraseña sea cifrada, de resto el programa trabaja perfectamente..


Si tienen alguna sugerencia para hacer, o un comentario pues bienvenidos sean...

Saludos.  ;) ;)


sirdarckcat

está muy bonita la interfase :P
si a alguien no le llegara a funcionar, chequen la codificación :¬¬