Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Segadorfelix en 12 Diciembre 2012, 04:53 am



Título: [BATCH]Hallar ubicacion de un programa que se este ejecutando
Publicado por: Segadorfelix en 12 Diciembre 2012, 04:53 am
Me pregunto, ¿como saber la ubicación de un programa que se esta ejecutando, mediante batch?; tasklist no da la información.
Si no se puede en batch,¿se puede en VBS?

Gracias.


Título: Re: [BATCH]Hallar ubicacion de un programa que se este ejecutando
Publicado por: Eleкtro en 12 Diciembre 2012, 09:11 am
Tanto en Batch como en VBS como en cualquier otro lenguaje de scripting xD, usando WMIC.exe y/o WMI (En batch es necesario usar el executable, claro...)


Batch:
Código
  1. :: Todos los procesos
  2. wmic process get name,ExecutablePath /format:list

Código
  1. :: El proceso "CMD.exe"
  2. wmic process where name="cmd.exe" get ExecutablePath


VBS:
Código
  1. ' Todos los procesos
  2. strComputer = "."
  3. Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  4. Set colItems = objWMIService.InstancesOf("Win32_Process")
  5. For Each objItem In colItems
  6.    Wscript.Echo (objItem.Name & vbnewline & objItem.ExecutablePath)
  7. Next

Código
  1. ' El proceso "CMD.exe"
  2. strComputer = "."
  3. Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
  4. Set colProcess = objWMIService.ExecQuery("Select * from Win32_Process " & "Where Name = 'cmd.exe'")
  5. For Each objProcess in colProcess
  6.    Wscript.Echo (objProcess.Name & vbnewline & objProcess.ExecutablePath)
  7. Next


Título: Re: [BATCH]Hallar ubicacion de un programa que se este ejecutando
Publicado por: Segadorfelix en 12 Diciembre 2012, 15:37 pm
Wow :o, gracias EleKtro H@cker , no sabia que wmic podía hacer eso.
¿Donde hay mas información sobre wmic?, he visto algunos script con esa función pero no he encontrado nada que describa correctamente el uso de "wmic".


Título: Re: [BATCH]Hallar ubicacion de un programa que se este ejecutando
Publicado por: Eleкtro en 12 Diciembre 2012, 16:32 pm
EDITO: WMIC es muy fácil de usar, solo tienes que aprenderte el nombre de las distintos "alias" y sus propiedades para saber los datos que puedes obtener, por ejemplo para listar las propiedades del "alias" OS:
Código
  1. wmic os get /format:list



WMIC:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa394531%28v=vs.85%29.aspx
http://ss64.com/nt/wmic.html


WMI:
http://msdn.microsoft.com/es-es/library/windows/desktop/aa394572%28v=vs.85%29.aspx

En "CodeProject" hay un source de VB.NET que te muestra todo lo que puedes hacer con WMI,
También existen scripts que sirven de ejemplo, te muestran todas las capacidades de WMIC y WMI, solo hay que buscar en Google...

Saludos


Título: Re: [BATCH]Hallar ubicacion de un programa que se este ejecutando
Publicado por: Segadorfelix en 12 Diciembre 2012, 19:41 pm
Gracias por las paginas, voy averiguar un poco mas sobre wmic, es que hay comandos útiles de los que casi no se habla, como wmic, runas, regini, debug(aunque en parte sea mas de ASM), ftp, etc.