Normas del foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación? - Noviembre 18, 2008, 08:15:33
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programación  |  Batch (Moderadores: Espectro Infernal, |Shadow|)  |  Tema: Como Matar un Proceso pero No Inmediatamente 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] 2 Ir Abajo Imprimir
Autor Tema: Como Matar un Proceso pero No Inmediatamente  (Leído 790 veces)
emil_sinclair
Miembro
*****
Desconectado Desconectado

Mensajes: 32



Ver Perfil
« en: Enero 20, 2007, 11:25:53 »

Hola a todos, quiero hacerles una consulta.
Quiero saber como puedo hacer para matar un proceso, pero no inmediatamente, si no despues de algun tiempo, de ejecutado el bat, se cierre el proceso. Es para q no sospeche la victima, estoy seguro q existe una forma o mas.
Para matar un proceso se usa el siguiente code:

   @ echo off
taskkill /f /IM msnmsgr.exe
exit

pero con ese bat lo mato inmediatamente, y yo quiero q pase algun tiempo, pero no se q agregarle. Huh

PD : el comando AT  es para q corra el bat a una hora determinada despues de haber sido ejecutado, yo no deseo hacer eso, lo que quiero es q por ejemplo despues de 20 min de haber sido ejecuatdo el bat  corra el codigo
En línea

acro_72
Visitante
« Respuesta #1 en: Enero 20, 2007, 12:11:40 »

En línea
-ZeR0™-
SeRiaL KiLLeR
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1088


HaCkIng & SeCuRiTy


Ver Perfil WWW
« Respuesta #2 en: Enero 20, 2007, 12:31:25 »

Utiliza un Ping, lo unico es que tendras que saber en segundos cuantos son 20 Minutos...  Cool

Usa esto:

Código:
@echo off
ping -n segundos 127.0.0.1 > nul
taskill .... code...
exit

Seria hasi....
En línea



Hardware Info

*S.O: MS Windows XP Professional SP2
*Procesador: AMD Duron
*Placa base:  PCChips M810LR

*Memoria RAM: SdRam (2 X 128Mb)
*Tarjeta Gráfica: SIS300/305/630/540/730

*Regrabador: LITE-ON   DVDRW SOHW-1673S   
*Disco Duro: Maxtor 6 E040L0
emil_sinclair
Miembro
*****
Desconectado Desconectado

Mensajes: 32



Ver Perfil
« Respuesta #3 en: Enero 20, 2007, 01:39:38 »

Utiliza un Ping, lo unico es que tendras que saber en segundos cuantos son 20 Minutos...  Cool

Usa esto:

Código:
  @echo off
ping -n segundos 127.0.0.1 > nul
taskill .... code...
exit


Seria hasi....


gracias tengo varias dudas.
n es el numero de segundos verdad en este caso seria 1200 seg??
127.0.0.1 es la ip privada de la victima? pero no todos tiene esa ip privada, por ejemplo mi ip privada es 192.168.1.33, como podria hacerlo mas general, aqui en el Peru las ip's privadas empiezan asi 192.168.x.x.

 @echo off
ping -1200 segundos 192.168.x.x > nul
taskill  /f /IM msnmsgr.exe
exit

 Huh Huh
En línea

NeBo
Eterno Navegante haci tu Puerto...
Moderación
Colaborador
*****
Desconectado Desconectado

Mensajes: 542


Designer


Ver Perfil WWW
« Respuesta #4 en: Enero 20, 2007, 01:53:23 »

no necesitas usar su ip, ya que 127.0.0.1[localhost]  es la direccion local de cualquier computadora, y lo que hace el ping es mandar un paquete de datos para checar la conexion, eso es todo la variable  nul  oculta la pantalla de comprobacion de la conexion.

Hasta La Proxima !!!
En línea




Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion


emil_sinclair
Miembro
*****
Desconectado Desconectado

Mensajes: 32



Ver Perfil
« Respuesta #5 en: Enero 20, 2007, 02:04:31 »

Gracias Smiley, perdona q dude, pero estas seguro q LocalHost no se refiere a ip privada, por q aca en Peru tenemos ip dinamica, o sea tenemos una ip privada lo q seria LocalHost y otra publica, como dije en el mensaje anterior 192.168.1.33 es mi ip privada y mi ip publica es 200.106.x.x, tengo 2 IP's la privada es para identificareme dentro de la red local "LocalHost", espero q puedas ayudarme
En línea

NeBo
Eterno Navegante haci tu Puerto...
Moderación
Colaborador
*****
Desconectado Desconectado

Mensajes: 542


Designer


Ver Perfil WWW
« Respuesta #6 en: Enero 20, 2007, 02:21:37 »

Estoy seguro es una ip generica que representa el localhost.


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
Referencia1


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
Referencia2


Hasta La Proxima !!!
« Última modificación: Enero 20, 2007, 02:22:36 por NeBo » En línea




Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion


acro_72
Visitante
« Respuesta #7 en: Enero 20, 2007, 02:44:56 »

En línea
emil_sinclair
Miembro
*****
Desconectado Desconectado

Mensajes: 32



Ver Perfil
« Respuesta #8 en: Enero 20, 2007, 05:05:10 »

En línea

NeBo
Eterno Navegante haci tu Puerto...
Moderación
Colaborador
*****
Desconectado Desconectado

Mensajes: 542


Designer


Ver Perfil WWW
« Respuesta #9 en: Enero 20, 2007, 05:50:14 »

Bueno tomando un poco la idea  acro_72 usando la variable AT  seria:

si la hora es 16:00 y quieres que en 20 minutos se cierre

  @echo off
cls
at 16:20  taskkill /f /IM msnmsgr.exe
exit

Aunque para eso necesitarias saber la hora exacta a la cual quieres que se cierre el programa.

Pero de cualquier forma que lo hagas se vera la ventana ejecutarse, si es que el proceso sea oculto  tendrias que compilarlo y haci no se notara que se ejecuto dicha accion.

Hasta La Proxima !!!
En línea




Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion


darknessfeatsunny
Visitante
« Respuesta #10 en: Enero 20, 2007, 06:12:29 »

  @echo off
cls
set /a min=%time:~-8,2% + 20
at %time:~-11,2%:%min%  taskkill /f /IM msnmsgr.exe
exit

con este code,se asignara la tarea 20 minutos despues de aberlo ejecutado,siempre 20 min despues...


esto presenta el problema de que cuando al sumar 20 el resulatdo sea mayor a 60 no se ejecutara nunca...eso tiene una solucion qe os dejos a vosotros

Un saludo
« Última modificación: Enero 20, 2007, 06:13:35 por DarknessFeatSunny » En línea
emil_sinclair
Miembro
*****
Desconectado Desconectado

Mensajes: 32



Ver Perfil
« Respuesta #11 en: Enero 20, 2007, 06:58:02 »

En línea

acro_72
Visitante
« Respuesta #12 en: Enero 20, 2007, 07:43:34 »

En línea
darknessfeatsunny
Visitante
« Respuesta #13 en: Enero 21, 2007, 05:39:46 »

Exacto asi como dice darkness es lo que les digo yo pero les hiba a dar la respuesta bien pero asi no es komo se aprende, pero si te puedo dar unas lpistas antes de hace el sumado de minutos te recomiendo hacer una comparación con IF para haber si se va a pasar o no!mmm
ejemplos en el foro ehm creo ke no hay, bueno hay uno ke es de 2 minutos por aki por el foro y otro ke es de 1 hora pero no recuerdo donde estan pero....
Código:
    @echo off
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run  /V "acro" /T REG_SZ /D "c:\acro.bat" /F

set h=%TIME:~0,2%
set m=%time:~3,2%
if %h%==23 goto code
set /a h=%h%+1
goto code1

:code
set h=00

:code1
AT %h%:%m% /every:L,M,Mi,J,V,S,D cmd /c start c:\bat-manda-info-ftp.bat
start c:\bat-manda-info-ftp.bat
exit

examinalo si kieres aprender este es ke lo hace a una hora en este kaso ejecuta un programa una hora despues y se fija si la hora = 23 en kaso de ke sea no le sumara uno osea 24 sino ke la konvertira a 00 - pk la horas empiezan desde 00 hasta 23 kumpliendose asi las 24 horas

Epero y te sirva no te daré la solución completa bueno pues si te sirve este, donde dice:
Código:
AT %h%:%m% /every:L,M,Mi,J,V,S,D cmd /c start c:\bat-manda-info-ftp.bat
Cambialo por lo ke kieres tu ke es terminar un proceso osea:
Código:
AT %h%:%m% /every:L,M,Mi,J,V,S,D cmd /c taskill proceso
Saludos

ese code tambien presenta problemas,lo as intentado ejecutar en oras de la madrugada??? si se ejecuta a esas oras, el formato de la ora es el sigiente:

1:23:34,01

en este caso la %h% tomaria el valor "1:"....esto tambien tiene su solucion...deberian pensar un poco en lo qe qieren consegir y barajar tooodas las posibilidades antes de plantear un codigo....qiero acerles pensar,por eso no les pongo el codigo directamente...les ayudo a aprender...

Y por cierto,no soy ningun "dios",ojala pudiera parecerme a alguno,pero solo soy un newbie mas...con algo mas de tiempo en este foro,pero solo un newbie...

Un saludo
« Última modificación: Enero 21, 2007, 05:40:35 por DarknessFeatSunny » En línea
darknessfeatsunny
Visitante
« Respuesta #14 en: Enero 21, 2007, 01:20:55 »

En línea
registrosmardirossian
Colaborador
*****
Desconectado Desconectado

Mensajes: 671



Ver Perfil WWW Email
« Respuesta #15 en: Enero 23, 2007, 03:56:40 »

Bueno quisas asi tambien...
CODE para el tiempo: a los 2 minutos se ejecuta el taskkill. Batch llamado Timer.bat:

-------------------------------------------------------------------

  @echo off

:INICIO

set Thora=%time:~0,-6%
set minutos=%Thora:~-2%

IF %minutos%==57 (goto error) else (if %minutos%==58 goto error) && (if %minutos%==59 goto error)

set minutosasumar=2
set /a minutosumado=%minutos% + %minutosasumar%
goto continua

:error
set hs=%time:~0,-9%
set minutoarestar=3
set /a minutorestado=%minutos% - %minutoarestar%
TIME %HS%:%minutorestado%

GOTO INICIO

:continua

set hs=%time:~0,-9%
at %hs%:%minutosumado% /interactive c:\task.bat

EXIT

-------------------------------------------------------------------

Y luego has un bat llamado  Task.bat con el siguiente CODE

  @ echo off
taskkill /f /IM msnmsgr.exe
call Timer.bat
exit

-------------------------------------------------------------------

Entonces siempre a los dos minutos, exista o no el Proceso msnmsgr.exe sera elminado.

Suerte
SAlu2 Grin Grin Grin Grin
*EOF*
« Última modificación: Enero 23, 2007, 03:58:45 por registrosmardirossian » En línea

Suerte
SAlu2 Cheesy Cheesy Cheesy Cheesy
*EOF*


Necesitas ser usuario para ver los enlaces Crear Usuario  Hacer Sesion
Web

darknessfeatsunny
Visitante
« Respuesta #16 en: Enero 29, 2007, 08:46:09 »

MUY BIEN...por fin algien se lo curra::

solo un par de cosillas:

IF %minutos%==57 (goto error) else (if %minutos%==58 goto error) && (if %minutos%==59 goto error)

IF %minutos% GEQ 57 (goto error)

aciendo ese cambio aorras espacio...mucho espacio...(if/?)


y ya que estamos,dejame que te mejore el batch:


 @echo off

:INICIO

set hora=%time:~,-9%
set minutos=%time:~-8,2%

IF %minutos% GTR 57 (goto error)

set minutosasumar=2
set /a minutos=%minutos% + 2
goto continua

:error
if hora GTR 22 (set hora=00 && set minutos=00 && goto continua)
set /a hora=%hora% + 1
set minutos=00

set /a minutorestado=%minutos% - %minutoarestar%
TIME %HS%:%minutorestado%

GOTO INICIO

:continua

set hs=%time:~0,-9%
at %hora%:%minutos% /interactive c:\task.bat

EXIT


Lo que esta en verde fue lo que modifique con respecto del batch original,lo que esta en rojo fue lo que elimine de batch original...lo que esta en blanco,esta bien,no lo toque...

con este batch,sea la ora del dia que sea,se añade la tarea para exactamente 2 minutos despues...

este seria casi el codigo definitivo...solo le veo un pequeño fallo,que si ustedes se dan cuenta pues se lo arreglo,si no pues nada...jejeje

por lo demas es funcional 100%...o eso espero...

Un saludo
« Última modificación: Enero 29, 2007, 09:11:05 por DarknessFeatSunny » En línea
IIMorlesII
Miembro
*****
Desconectado Desconectado

Mensajes: 127



Ver Perfil Email
« Respuesta #17 en: Enero 29, 2007, 09:18:03 »


Venga, alguien me aydua a este code que no entiendo mucho codigo batch con tiempo...

set hora=%time:~,-9%                 ---> time:~, -9 ?
set minutos=%time:~-8,2%          ---> time:~-8,2 ?

Haber si me lo explican por favor, Saludos!

En línea

.:. * NO - USEN - VIRUSTOTAL.COM * .:.
darknessfeatsunny
Visitante
« Respuesta #18 en: Enero 29, 2007, 09:42:22 »


Venga, alguien me aydua a este code que no entiendo mucho codigo batch con tiempo...

set hora=%time:~,-9%                 ---> time:~, -9 ?
set minutos=%time:~-8,2%          ---> time:~-8,2 ?

Haber si me lo explican por favor, Saludos!

encantado...

mira time es una variable del sistema que nos devuelve la hora actual del mismo,en este formato:

18:21:14,45

bien,al igual que la variable time,tabien encotramos otras variables como date(fecha),windir(directorio de windows)...y un largisimo etc...

con esas variables se puede trabajar,se pueden tratar de un modo especial,para solo coger lo que nos interese de ella...

bien,eso se ace a traves de eso dos puntitos y los numeros qe vienen a continuacion... separados por coma...

te explicare que funcion tienen.

el primer numero (%time:~-8,2%) especifica un inicio dentro de la cadena de caracteres,si es positivo se cuenta desde el principio,si es negativo se cuenta desde el final...es decir,si la cadena time es esta:

18:21:14,45

ese numero,al ser negativo,secuenta 8 desde el final de la cadena y situa el inicio en:

18:21:14,45

bien,el segundo modificador (%time:~-8,2%),epecifica el final de esa cadena que se qiere tomar...e igual que anets,si es positivo se cuenta desde el punto de inicio establecido por el primer modificador,si es negativo se cuenta desde el final...por tanto al ser positivo,se contarian 2 desde el punto de inicio establecido...(incluyendolo) por tanto el final qedaria asi:

18:21:14,45

aora,empezando por el primero y acabando en el segundo la cadena tomada seria esta

%time:~-8,2%=>21

ayi donde yo ponga %time:~-8,2%,aparecera un 21....

en el caso de que uno de los modificadores no se especifique como el caso de

%time:~,-9%

vemos que antes de la coma no ay ningun numero,pues aqi varia un pelin la cosa,ya que el inico seria el principio de toda la cadena,el primer caracter,y desde ay se yegaria asta el caracter 9 empezando por el final... si la cadena es

18:21:14,45

el inicio seria:

18:21:14,45

y el final seria el 9 caracter empezando por el final:(que se le qita de la cadena resultante por ser - )

18:21:14,45

por tanto la cadena resultante seria:

18

espero aberte ayudado algo...

Un saludo
« Última modificación: Enero 29, 2007, 09:44:08 por DarknessFeatSunny » En línea
IIMorlesII
Miembro
*****
Desconectado Desconectado

Mensajes: 127



Ver Perfil Email
« Respuesta #19 en: Enero 29, 2007, 10:27:42 »


Claro que me ayudo de mucho, ahora tratare de crear mi propio codigo... Muchas gracias DarknessFeatSunny...




 
En línea

.:. * NO - USEN - VIRUSTOTAL.COM * .:.
IIMorlesII
Miembro
*****
Desconectado Desconectado

Mensajes: 127



Ver Perfil Email
« Respuesta #20 en: Enero 30, 2007, 09:09:14 »


Bueno ya paso el tiempo, peor dejo mi code:

 @echo off
echo.
echo.
set /p variable=Cuantos minutos?, entre 1 a 10... 
set hora=%time:~,2%
set minuto=%time:~3,2%
set /a minuto=%minuto%+%variable%
if %minuto% GEQ 59 ( goto ir ) else goto sig
:ir
set /a ren=%minuto%+%variable%
set minuto=00
set /a minuto=%minuto% + ( ren + 59 )
set /a hora=%hora%+1
if %hora% GEQ 23 ( goto ir2 ) else goto sig
:ir2
hora=00
:sig
AT %hora%:%minuto% /interactive C:\hola.bat
pause
exit

Y funciona.. Haber si hay fallas... Agradecimientos a DarknessFeatSunny...

Saludos!

En línea

.:. * NO - USEN - VIRUSTOTAL.COM * .:.
darknessfeatsunny
Visitante
« Respuesta #21 en: Enero 30, 2007, 09:22:34 »


Bueno ya paso el tiempo, peor dejo mi code:

   @echo off
echo.
echo.
set /p variable=Cuantos minutos?, entre 1 a 10... 
set hora=%time:~,2%
set minuto=%time:~3,2%
set /a minuto=%minuto%+%variable%
if %minuto% GEQ 59 ( goto ir ) else goto sig
:ir
set /a ren=%minuto%+%variable%
set minuto=00
set /a minuto=%minuto% + ( ren + 59 )
set /a hora=%hora%+1
if %hora% GEQ 23 ( goto ir2 ) else goto sig
:ir2
hora=00
:sig
AT %hora%:%minuto% /interactive C:\hola.bat
pause
exit

Y funciona.. Haber si hay fallas... Agradecimientos a DarknessFeatSunny...

Saludos!



no ace falta que me agradescas,tienes algunos fallo  aqui

set /a ren=%minuto%+%variable%
set minuto=00
set /a minuto=%minuto% + ( ren + 59 )
set /a hora=%hora%+1
if %hora% GEQ 23 ( goto ir2 ) else goto sig

- lo de los parentesis no se porqe los pones
- que es la variable ren??,creo que seria mas facil  de otra forma...lo mismo pero de otra forma...si tanta var...
- minuto va a tener un valor poco aconsejable diria yo...

sin embargo creo que tiene otro problem acerlo asi...imagina que son las 15:58,y en el program lo pongo para qe se sumen 10 Min...entonces el programa,como la suma es mayor a 59,lo pondria a las 00...por tanto solo pasan 2 minutos y no 10 como yo queria....jejeje...como podriamos arreglar eso....¿?¿?¿?

sige probando...estas cerca,pero te complicas demasiado...usas mucho apoyo de las variables y no es necesario...

Un saludo
« Última modificación: Enero 30, 2007, 09:23:19 por DarknessFeatSunny » En línea
IIMorlesII
Miembro
*****
Desconectado Desconectado

Mensajes: 127



Ver Perfil Email
« Respuesta #22 en: Enero 30, 2007, 09:39:34 »


Aqui viene... el valor REM es la resta  de la horahora sumada menos 59!

Supongamos que sumamos a la variable minuto 4 minutos... quedaria asi:

minuto=59 + 4   // supongamos 59 minutos!
minuto= 63

minuto = 00 + ( 63 - 59 ) // Ya habiamos inicializado a minuto en 00 y rem toma el valor de 63

Ahora minuto vale 04 el valor original, fijate y prueba con todos los valores y este REM creo yo ayuda de mucho!

Saludos!



En línea

.:. * NO - USEN - VIRUSTOTAL.COM * .:.
darknessfeatsunny
Visitante
« Respuesta #23 en: Enero 30, 2007, 09:45:18 »


Aqui viene... el valor REM es la resta  de la horahora sumada menos 59!

Supongamos que sumamos a la variable minuto 4 minutos... quedaria asi:

minuto=59 + 4   // supongamos 59 minutos!
minuto= 63

minuto = 00 + ( 63 - 59 ) // Ya habiamos inicializado a minuto en 00 y rem toma el valor de 63

Ahora minuto vale 04 el valor original, fijate y prueba con todos los valores y este REM creo yo ayuda de mucho!

Saludos!


set /a minuto=%minuto% + ( ren + 59 )

ese si ayuda pero este otro no...lo ves???

un saludo
En línea
IIMorlesII
Miembro
*****
Desconectado Desconectado

Mensajes: 127



Ver Perfil Email
« Respuesta #24 en: Enero 30, 2007, 10:11:51 »


Si pues, era menos y no mas... Aqui ya el code solo para 10 minutos despues como se pidio inicialmente...

Code:

 @echo off 
set hora=%time:~,2%
set minuto=%time:~3,2%
set /a minuto=%minuto%+10
if %minuto% GTR 59 ( goto ir ) else goto sig
:ir
set /a ren=%minuto%
set minuto=00
set /a minuto=%minuto% + ( ren - 60 )
set /a hora=%hora%+1
if %hora% GEQ 23 ( goto ir2 ) else goto sig
:ir2
hora=00
:sig
AT %hora%:%minuto% /interactive C:\hola.bat
pause
exit

Ahora si, el code esta bien? ...


 
En línea

.:. * NO - USEN - VIRUSTOTAL.COM * .:.
Páginas: [1] 2 Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programación  |  Batch (Moderadores: Espectro Infernal, |Shadow|)  |  Tema: Como Matar un Proceso pero No Inmediatamente « anterior próximo »
Ir a:  


Ranking-Hits
Powered by SMF 1.1.7 | SMF © 2006-2007, Simple Machines LLC