Problema con mi code [SOLUCIONADO]

Iniciado por DameBanda, 28 Febrero 2011, 17:29 PM

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

DameBanda

Hola de nuevo...
Cuando había acabado el programa anterior se me ocurrió que podría cifrar el archivo dll con el user y el pass de mi programa...

Pero resulta que ya llevo modificado casi todo el instalador y gran parte del programa pero cuando llega la parte de logearse una vez introducidos el user y el pass me sale del programa como la otra vez sospecho que se pueda tratar de un fallo en la rutina o unas "" puesto que soy muy bruto con el code lo dejo lo mas ordenado posible (para mi) y si algún alma caritativa estuviese dispuesto a analizarlo y decirme que falla le estaría muy agradecido:

Código (dos) [Seleccionar]
@echo off
title Secret Files 2.0
color 2
set "medir=%programfiles%\SecretFiles"
goto ini
rem
rem -----inicio de subrutinas... subrutina capa3-----
rem
:ini
cls
if exist "%programfiles%\SecretFiles" (goto extract) else (goto install)
rem
rem -----subrutina opcional-----
rem
:install
cls
echo el programa se instalara al presionar una tecla
pause > null
echo instalando...
md "%medir%" > null
md "%medir%\Temp" > null
md "%medir%\Data" > null
copy /y %0 "%medir%\DataBaseViewer.bat" > null
echo carga lista 10 segundos para que los cambios surtan efecto
ping -n 10 localhost > null
pause
cd %medir%\Data
set /p iniusr=Seleccione su usuario para futuros accesos=
cls
cd "%medir%\Temp"
set proceso=%iniusr%
set resultado1=%iniusr:a=1%
set resultado2=%resultado1:b=-%
set resultado3=%resultado2:c=.%
set resultado4=%resultado3:d=\%
set resultado5=%resultado4:e=$%
set resultado6=%resultado5:f=;%
set resultado7=%resultado6:g=?%
set resultado8=%resultado7:h=[%
set resultado9=%resultado8:i=+%
set resultado10=%resultado9:j=)%
set resultado11=%resultado10:k=]%
set resultado12=%resultado11:l=!%
set resultado13=%resultado12:m=(%
set resultado14=%resultado13:n=@%
set resultado15=%resultado14:ñ=¿%
set resultado16=%resultado15:o=,%
set resultado17=%resultado16:p=4%
set resultado18=%resultado17:q=/%
set resultado19=%resultado18:r=_%
set resultado20=%resultado19:s={%
set resultado21=%resultado20:t=#%
set resultado22=%resultado21:u=¡%
set resultado23=%resultado22:v=}%
set resultado24=%resultado23:w=:%
set resultado25=%resultado24:x=2%
set resultado26=%resultado25:y=6%
set resultado27=%resultado26:z=9%
echo %resultado27% > userENC.dll
cls
set /p inipass=Seleccione su contraseña para futuros accesos=
cls
set proceso=%inipass%
set resultado1pass=%inipass:a=1%
set resultado2pass=%resultado1:b=-%
set resultado3pass=%resultado2:c=.%
set resultado4pass=%resultado3:d=\%
set resultado5pass=%resultado4:e=$%
set resultado6pass=%resultado5:f=;%
set resultado7pass=%resultado6:g=?%
set resultado8pass=%resultado7:h=[%
set resultado9pass=%resultado8:i=+%
set resultado10pass=%resultado9:j=)%
set resultado11pass=%resultado10:k=]%
set resultado12pass=%resultado11:l=!%
set resultado13pass=%resultado12:m=(%
set resultado14pass=%resultado13:n=@%
set resultado15pass=%resultado14:ñ=¿%
set resultado16pass=%resultado15:o=,%
set resultado17pass=%resultado16:p=4%
set resultado18pass=%resultado17:q=/%
set resultado19pass=%resultado18:r=_%
set resultado20pass=%resultado19:s={%
set resultado21pass=%resultado20:t=#%
set resultado22pass=%resultado21:u=¡%
set resultado23pass=%resultado22:v=}%
set resultado24pass=%resultado23:w=:%
set resultado25pass=%resultado24:x=2%
set resultado26pass=%resultado25:y=6%
set resultado27pass=%resultado26:z=9%
echo %resultado27pass% > passENC.dll
cls
echo procesando...
ping -n 5 localhost > nul
echo finalizando...
ping -n 2 localhost > nul
msg * programa instalado con exito
goto ini
rem
rem -----subrutina capa2-----
rem
:extract
cls
cd %medir%\Temp
echo seleccione usuario
set /p usr=
for /f "tokens=*" %%. in (userENC.dll) do (set db_userENC=%%.)
cls
set resultado1bUSR=%db_userENC:1=a%
set resultado2bUSR=%resultado1b:-=b%
set resultado3bUSR=%resultado2b:.=c%
set resultado4bUSR=%resultado3b:\=d%
set resultado5bUSR=%resultado4b:$=e%
set resultado6bUSR=%resultado5b:;=f%
set resultado7bUSR=%resultado6b:?=g%
set resultado8bUSR=%resultado7b:[=h%
set resultado9bUSR=%resultado8b:+=i%
set resultado10bUSR=%resultado9b:)=j%
set resultado11bUSR=%resultado10b:]=k%
set resultado12bUSR=%resultado11b:!=l%
set resultado13bUSR=%resultado12b:(=m%
set resultado14bUSR=%resultado13b:@=n%
set resultado15bUSR=%resultado14b:¿=ñ%
set resultado16bUSR=%resultado15b:,=o%
set resultado17bUSR=%resultado16b:4=p%
set resultado18bUSR=%resultado17b:/=q%
set resultado19bUSR=%resultado18b:_=r%
set resultado20bUSR=%resultado19b:{=s%
set resultado21bUSR=%resultado20b:#=t%
set resultado22bUSR=%resultado21b:¡=u%
set resultado23bUSR=%resultado22b:}=v%
set resultado24bUSR=%resultado23b::=w%
set resultado25bUSR=%resultado24b:2=x%
set resultado26bUSR=%resultado25b:6=y%
set resultado27bUSR=%resultado26b:9=z%
echo %resultado27bUSR% > user.dll
for /f "tokens=*" %%. in (user.dll) do (set db_user==%%.)
del user.dll
cls
echo introduzca contraseña
set /p pass=
for /f "tokens=*" %%. in (passENC.dll) do (set db_passENC==%%.)
cls
set resultado1bPASS=%db_passENC:1=a%
set resultado2bPASS=%resultado1b:-=b%
set resultado3bPASS=%resultado2b:.=c%
set resultado4bPASS=%resultado3b:\=d%
set resultado5bPASS=%resultado4b:$=e%
set resultado6bPASS=%resultado5b:;=f%
set resultado7bPASS=%resultado6b:?=g%
set resultado8bPASS=%resultado7b:[=h%
set resultado9bPASS=%resultado8b:+=i%
set resultado10bPASS=%resultado9b:)=j%
set resultado11bPASS=%resultado10b:]=k%
set resultado12bPASS=%resultado11b:!=l%
set resultado13bPASS=%resultado12b:(=m%
set resultado14bPASS=%resultado13b:@=n%
set resultado15bPASS=%resultado14b:¿=ñ%
set resultado16bPASS=%resultado15b:,=o%
set resultado17bPASS=%resultado16b:4=p%
set resultado18bPASS=%resultado17b:/=q%
set resultado19bPASS=%resultado18b:_=r%
set resultado20bPASS=%resultado19b:{=s%
set resultado21bPASS=%resultado20b:#=t%
set resultado22bPASS=%resultado21b:¡=u%
set resultado23bPASS=%resultado22b:}=v%
set resultado24bPASS=%resultado23b::=w%
set resultado25bPASS=%resultado24b:2=x%
set resultado26bPASS=%resultado25b:6=y%
set resultado27bPASS=%resultado26b:9=z%
echo %resultado27bPASS > pass.dll
for /f "tokens=*" %%. in (pass.dll) do (set db_pass==%%.)
del pass.dll
goto comp
rem
rem -----subrutina capa 3-----
rem
:comp
cls
if %db_user%==%usr% (goto comp2) else (goto flogon)
rem
rem -----subrutina capa 3-----
rem
:comp2
cls
if %db_pass%==%pass% (goto ok) else (goto flogon)
rem
rem ---subrutina capa 3-----
rem
:ok
cls
goto menu
rem
rem -----subrutina capa 2-----
rem
:menu
cls
echo.
echo MENU INTERACTIVO
echo.
pause
exit
rem
rem -----subrutina opcional-----
rem
:flogon
cls
echo usuario o contraseña incorrectos...
pause
goto ini


Yo ya he buscado el fallo por todos lados pero se me resiste...
Un saludo y que tengan un buen día.
P.D. Lo de subrutina y capa es una manera que tengo yo de clasificar las etiquetas en scripting...
"Amarillo, pensó" Douglas Adams




[img]http:/

xassiz~

Código (dos) [Seleccionar]

for /f "tokens=*" %%. in (pass.dll) do (set db_pass==%%.)

La asignación es con un solo signo igual.

Procura encerrar las variables entre comillas:
Código (dos) [Seleccionar]

set "db_pass=%%."


Lo mismo en los if:
Código (dos) [Seleccionar]
if "%db_user%"=="%usr%" (goto comp2) else (goto flogon)

Y muchos cls y goto son innecesarios.


Saludos!

leogtz

Modifica el título del mensaje a algo que haga alusión a tu duda o cerraré el mensaje.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

DameBanda

ok siento no haberlo hecho antes...   :-\
"Amarillo, pensó" Douglas Adams




[img]http:/