|
11271
|
Programación / Scripting / Re: Ayuda VBS, por favor!!!!
|
en: 10 Mayo 2012, 12:24 pm
|
Hola de nuevo, El % De CPU no es lo mismo que el CPUTIME, Lo digo por el code de Delphi, Aunque puedes obtener el %CPU con esta operación: TotalProcessRuntime / CpuTime / 100EDITO: Y otra cosa, No te recomiendo nada que las comprobaciones se hagan cada X milisegundos... Por dios, ¿Quieres reventar el PC? xD, Deja segundos de margen.
No es exactamente lo que pides, Pero aquí tienes: :: By Elektro H@cker :: :: Este code comprueba cuantos ciclos (Tiempo de CPU) se han utilizado desde el inicio del proceso. Si el ciclo de tiempo es superior al máximo permitido, Mata el proceso. :: PD: Hay un POSIBLE margen de error de tiempo de 10 segundos debido a que es el lapsus de tiempo (Delay) que tarda en actualizarse TASKLIST internamente. :: :: :: :: CONFIGURACIÓN :: :: Program=El nombre del proceso a comprobar. :: MAX_CPU_Activity_Time=HORAS:MINUTOS:SEGUNDOS Set "Max_CPU_Activity_Time=00:10:00" :: Delay=El tiempo de espera entre comprobación, En segundos. :: :::::::::::::::::::::::::::::::::::::::::::::::: :Check Tasklist /FI "CPUTIME gt %Max_CPU_Activity_Time%" | Find /I " %PROGRAM%" 1 >NUL Taskkill /F /T /IM " %PROGRAM%" 1 >NUL || Echo Error al intentar cerrar el proceso: %PROGRAM%... Ping -n %DELAY% Localhost 1 >NUL)
También te puedo hacer la comprobación basada en el consumo de RAM: :: By Elektro H@cker :: :: Este code comprueba la memoria que está usando un proceso. Si la memoria usada es inferior a la mínima memoria permitida, Mata el proceso. :: PD: Hay un POSIBLE margen de error de tiempo de 10 segundos debido a que es el lapsus de tiempo (Delay) que tarda en actualizarse TASKLIST internamente. :: :: :: :: CONFIGURACIÓN :: :: Program=El nombre del proceso a comprobar. :: Minimum_Memory_Usage=El mínimo uso de memoria permitido, En kilobytes. Set "Minimum_Memory_Usage=10000" :: Delay=El tiempo de espera entre comprobación, En segundos. :: :::::::::::::::::::::::::::::::::::::::::::::::: :Check Tasklist /FI "MEMUSAGE lt %Minimum_Memory_Usage%" | Find /I "%PROGRAM%" Taskkill /F /T /IM " %PROGRAM%" 1 >NUL || Echo Error al intentar cerrar el proceso: %PROGRAM%... Ping -n %DELAY% Localhost 1 >NUL)
También puedes comprobar todo esto y muchas más cosas que tasklist no permite, Usando " WMIC Process". Salu2.
|
|
|
11274
|
Programación / Scripting / Re: [Reto Batch] VIRUS HELLO !!
|
en: 10 Mayo 2012, 10:54 am
|
Algun dia hare los retos para demostrar que no se requiere saber mucho batch para hacer muchas cosas, Este reto es fácil y Batch también, en menos de 30 lineas se puede simplificar, Y los comandos necesarios ya los dije, vamos!  Digo esto porque algunos se asustan (yo a veces tambien xD) cuando ven codigos que hace Elektro xDD con cosas en otro idioma parece xDD Yo nunca me puse una medalla de " Maestro/Genio de Batch"  , Que quede claro! xD, Aunque si que considero que conozco el 99% acerca de Batch, Pero cualquiera puede conocerlo a la perfección y hacer buenos codes si lo estudia CON GANAS, No hay demasiado que aprender y en eso tienes razón $Edu$. Salu2.
|
|
|
11275
|
Programación / Scripting / Re: [DUDA] ¿Cómo ocultar la flechita resultante al modificar un txt en batch? URGE!!
|
en: 9 Mayo 2012, 15:57 pm
|
solo necesito que lo metas en algun sitio, porque no quiero cargarme tu obra, porfi...  Setlocal enabledelayedexpansion Set /A Line=0 For /F "Tokens=*" %%# in ('type file.txt') Do ( del %TEMP%\tempfile.txt ECHO %%#>"%TEMP%\tempfile.txt" FOR %%? IN ("%TEMP%\tempfile.txt") DO ( SET /A longitud=%%~z? - 2 ) If !longitud! GTR 2 (Set /A Line+=1&& echo !Line!. %%#) ) Set /A Line=0 Como dije, Solo necesitas cambiar el valor de la variable "LINE" a "0", Antes, o despues de haber mostrado las lineas. Salu2
|
|
|
11276
|
Programación / Scripting / Re: [Reto Batch] VIRUS HELLO !!
|
en: 9 Mayo 2012, 15:35 pm
|
No podes poner que esos nombres "aleatorios" empiecen con "elektroH" quedando por ejemplo: "elektroH54657.bat" , "elektroH423489.bat" Asi luego haces la continuacion de este reto que seria la vacuna para este virus. Y tambien ayuda para cuando anden probando sus codigos, que se les haria un caos con tantos .bats, y si van programando la vacuna en paralelo, podran eliminar los bats para seguir haciendo pruebas sin "ensuciar" la pc xD
Bueno, Las pruebas se pueden hacer en un directorio que contenga 2 subcarpetas (CD "CARPETA TEST..."), Así no se ensucia. La vacuna sería muy fácil aun con nombres aleatorios, Solo hay que buscar parte del código del bat que hagan con "TYPE + FIND", En todos los bats del pc, Y si encuentra alguna coincidencia pues elimina ese bat con "DEL" XD. Salu2!
|
|
|
11277
|
Programación / Scripting / Re: [Reto Batch] Melt ($Edu$)
|
en: 9 Mayo 2012, 15:31 pm
|
De ultima si nadie puede hacerlo bien subo la solucion para el que la quiera mirar y el que la mejore se gana el punto si asi lo quiere Elektro Ok es tu reto, Como quieras, Pero súbela a pastebin porfavor xD (Ya sabes q hay mucho copión) Salu2
|
|
|
11278
|
Programación / Scripting / Re: Retos Batch 2.0
|
en: 9 Mayo 2012, 15:24 pm
|
Aquí pueden comentar todo lo que quieran, sus dudas, avances o soluciones acerca del siguiente reto: Reto Nº 13 Nombre: Virus HELLO !! ( Elektro H@cker) Discusión: http://foro.elhacker.net/scripting/reto_batch_virus_hello-t361115.0.html Dificultad: 5/10 Objetivo: Crea un bat que cumpla estas funciones: - El bat se debe autocopiar a si mismo en TODAS las carpetas y subcarpetas del PC.
- Cada vez que se crea una copia, La copia debe tener un nombre distinto al Bat original, Un nombre aleatorio, Para que séa más dificil de localizar las copias y eliminarlas.
- Cada copia debe tener el atributo de archivo OCULTO y SOLO LECTURA
- Cada copia debe tener los privilegios de usuario DENEGADOS A LA ELIMINACIÓN para impedir que el archivo se elimine facilmente.
- Se debe crear una taréa programada o una clave de registro en el sistema que ejecute CADA COPIA al iniciar sesión en la cuenta de ese usuario.
- Cada copia solamente debe mostrar un mensaje de ECHO **** y el comando Pause, NO DEBE VOLVER A AUTOCOPIARSE cuando se ejecute la taréa.
- Con lo cual nos quedará un bonito inicio de sesión  que ejecutará unas +15.000 copias de un bat dificil de borrar para un usuario novato. PD: La intención de este reto es que aprendan a usar comandos muy importantes!. Indicaciones: Las carpetas que necesiten privilegios de admin no tiene importancia. Pistas: Comandos: SET /?, FOR /? /?, SCHT???S, REG ???, A??RIB, ?CACLS, ????OWN. Ejemplo: Solución: Pedir por mensaje privado
|
|
|
11279
|
Programación / Scripting / [Reto Batch] VIRUS HELLO !!
|
en: 9 Mayo 2012, 15:19 pm
|
Aquí pueden comentar todo lo que quieran, sus dudas, avances o soluciones acerca del siguiente reto: Reto Nº 13 Nombre: Virus HELLO !! ( Elektro H@cker) Dificultad: 5/10 Objetivo: Crea un bat que cumpla estas funciones: - El bat se debe autocopiar a si mismo en TODAS las carpetas y subcarpetas del PC.
- Cada vez que se crea una copia, La copia debe tener un nombre distinto al Bat original, Un nombre aleatorio, Para que séa más dificil de localizar las copias y eliminarlas.
- Cada copia debe tener el atributo de archivo OCULTO y SOLO LECTURA
- Cada copia debe tener los privilegios de usuario DENEGADOS A LA ELIMINACIÓN para impedir que el archivo se elimine facilmente.
- Se debe crear una taréa programada o una clave de registro en el sistema que ejecute CADA COPIA al iniciar sesión en la cuenta de ese usuario.
- Cada copia solamente debe mostrar un mensaje de ECHO **** y el comando Pause, NO DEBE VOLVER A AUTOCOPIARSE cuando se ejecute la taréa.
- Con lo cual nos quedará un bonito inicio de sesión  que ejecutará unas +15.000 copias de un bat dificil de borrar para un usuario novato. PD: La intención de este reto es que aprendan a usar comandos muy importantes!. Indicaciones: Las carpetas que necesiten privilegios de admin no tiene importancia. Pistas: Comandos: SET /?, FOR /? /?, SCHT???S, REG ???, A??RIB, ?CACLS, ????OWN. Ejemplo: Solución: Pedir por mensaje privado
|
|
|
|
|
|
|