Pequeño problema en un script de batch

Iniciado por [Arg] $triker;, 17 Febrero 2016, 23:29 PM

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

[Arg] $triker;

La cuestión es que me pidieron que hiciera un virus falso disimulándolo con un hack de League of Legends. El problema se produjo en uno de los subcomponentes de un módulo cuya función es mostrar una serie de mensajes. Lo que falla es el sistema que se encarga de esperar cierto tiempo antes de mostrar el siguiente mensaje (que es básicamente todo menos las primeras 5 líneas y los comandos ECHO, TITLE y COLOR)
Nótese que conozco el comando TIMEOUT, pero intento no usarlo porque muestra diálogos ("Esperando x segundos, presione Ctrl+C para omitir...") lo cual arruinaría la credibilidad del módulo entero.
Código (DOS) [Seleccionar]

@echo off
mode con cols=60 lines=5
:start
title Hack LoL 1.42.109
color f9
cls
echo.
echo.
echo    Entrando en la base de datos de League of Legends...
set restore=1
set time=400
goto delay
:1
cls
echo.
echo.
echo  Acceso permitido. Saboteando sistema de atribs jugador...
set restore=2
set time=400
goto delay
:2
cls
echo.
echo.
echo             Preparando archivos del hack...
set restore=3
set time=300
goto delay
:3
cls
echo.
echo.
echo             Aplicando hack "vida infinita"...
set restore=4
set time=500
goto delay
:4
title Ventana Misteriosa
color 0c
cls
echo.
echo.
echo      En serio pensaste que esto era un hack de LoL?
set restore=5
set time=200
goto delay
:5
cls
echo.
echo.
echo                        Bueno...
set restore=6
set time=100
goto delay
:6
cls
echo.
echo.
echo                          No.
set restore=7
set time=100
goto delay
:7
start extrarealism.exe
start irlcounter.exe
exit
::-------------------------------------------------
:delay
set tick=0
:delay1
set /a tick=%tick% + 1
if %tick%==%time% goto %restore%
goto delay1

Tengan en cuenta que el rendimiento de la computadora víctima es significativamente mayor que el de la mía (8GB RAM vs 2GB RAM), por lo tanto los comandos que ejecuta la CMD se ejecutan rapidísimo.
El problema es el siguiente: La tasa de ascenso de la variable "tick" es mucho mayor debido a lo explicado en el párrafo anterior, y como el script está programado para mostrar el mensaje siguiente cuando "tick" llegue a "time", en la computadora víctima los mensajes se muestran tan rápido que no da tiempo a leer siquiera.
Tengo otras variantes de sistemas de este tipo, pero no funciona la mayoría y hay uno solo que funciona pero es muy inestable (no lo incluyo para no hacer demasiado largo el post, pero si lo quieren pídanmelo).
Lo que necesito es que alguien que tenga un poco de energía mental y no le haya explotado el cerebro como a mí brinde una variante funcional que no dependa del rendimiento del sistema.
Gracias por su esfuerzo mental de antemano.
8Noobs - Comunidad para todos y todas, sin importar sus conocimientos en informática.

--> Unirse a 8Noobs <--

Eleкtro

#1
Cita de: EagleStrike en 17 Febrero 2016, 23:29 PMNótese que conozco el comando TIMEOUT, pero intento no usarlo porque muestra diálogos ("Esperando x segundos, presione Ctrl+C para omitir...") lo cual arruinaría la credibilidad del módulo entero.

Puedes redireccionar el output:
(Timeout.exe /T 5)1>Nul

Y como alternativa del comando TimeOut, puedes utilizar Ping:
(ping.exe 127.0.0.1 -n 6)1>Nul

saludos!








[Arg] $triker;

Por Dios. Me acabás de hacer sentir como un pelotudo total :P
No puedo creer que esa era la solución a un problema que me consumió horas y horas de esfuerzo y una explosión cerebral.

Muchas gracias
8Noobs - Comunidad para todos y todas, sin importar sus conocimientos en informática.

--> Unirse a 8Noobs <--