elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Corriendo una aplicacion desde .Net !!
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Corriendo una aplicacion desde .Net !!  (Leído 1,960 veces)
TrashAmbishion


Desconectado Desconectado

Mensajes: 756


Ver Perfil
Corriendo una aplicacion desde .Net !!
« en: 27 Febrero 2020, 05:42 am »

Hola,

Existe alguna forma de saber cuando un juego cargo completamente sus librerías ?

Saludos


En línea

ThunderCls


Desconectado Desconectado

Mensajes: 455


Coder | Reverser | Gamer


Ver Perfil WWW
Re: Corriendo una aplicacion desde .Net !!
« Respuesta #1 en: 27 Febrero 2020, 14:23 pm »

Puedes saber en un momento determinado que librerias tiene en memoria un proceso, luego necesitas saber si las que tiene en ese momento son todas las que se supone que deba cargar. Lo primero lo puedes hacer enumerando cada modulo en el proceso (OpenProcess/EnumProcessModules). Para lo segundo te podrias hacer hacer un listado de todas las librerias que carga el proceso en su ejecucion como base de comparacion
Saludos


En línea

-[ "…I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/
**Aincrad**


Conectado Conectado

Mensajes: 668



Ver Perfil WWW
Re: Corriendo una aplicacion desde .Net !!
« Respuesta #2 en: 27 Febrero 2020, 21:39 pm »


Como te dijo el buen compañero @ThunderCls , lista los modulos , o tambien el numero de modulos que ha cargado el juego y asi lo comparas.

aqui te dejo una funcion simple que hize :

Código
  1. Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As UInt32, ByVal bInheritHandle As Int32, ByVal dwProcessId As UInt32) As IntPtr
  2.  
  3.        Public Shared Function GetProcessModules(ByVal Process_Name As String) As String
  4.            Dim DataS As New StringBuilder
  5.            Dim pc As Process() = Process.GetProcessesByName(Process_Name)
  6.  
  7.            Dim hndProc As IntPtr = OpenProcess(&H2 Or &H8 Or &H10 Or &H20 Or &H400, 1, CUInt(pc(0).Id))
  8.            If hndProc = IntPtr.Zero Then
  9.                Return "Error"
  10.            End If
  11.  
  12.            Dim ModulesCount As Integer = pc(0).Modules.Count - 1
  13.            For index As Integer = 0 To ModulesCount
  14.                DataS.Append(pc(0).Modules(index).FileName & vbNewLine)
  15.            Next
  16.  
  17.            Return DataS.ToString
  18.        End Function

Con esta funcion listas los modulos (librerias) de un proceso, el primer modulo siempre es el proceso como tal se le denomina el MainModule vendria siendo el .exe, los demas son las librerias.

Modo de empleo :

Código
  1. TextBox1.Text = GetProcessModules("nombredelProcesoDeljuego")

asi obtienes la lista de librerias que Emplea el juego , podes hacer una comparacion , pero soy el unico que piensa que lo que estas intentando hacer es inutil? digo un proceso carga rapidamente todas sus librerias al iniciar y no tarda mas de 4s .

En línea



ThunderCls


Desconectado Desconectado

Mensajes: 455


Coder | Reverser | Gamer


Ver Perfil WWW
Re: Corriendo una aplicacion desde .Net !!
« Respuesta #3 en: 28 Febrero 2020, 01:10 am »

No das mucho detalle de lo que intentas hacer, pero como dijo **Aincrad**, debes tener en cuenta que una vez que un proceso carga una libreria y usa la funcion que necesita, la libera de memoria, por lo que es muy poco probable que en el punto que hagas el listado de modulos obtengas absolutamente todas las librerias que el proceso ha usado o usara en el futuro. Repito, no se lo que intentas hacer, pero puedo decir un par de ideas

1- Lanzar tu aplicacion como debugger del juego y depurarlo a tu gusto (WaitForDebugEvent/ContinueDebugEvent)
2- Inyectarte en el proceso justo antes de que se cargue completamente (ejecute su ep) y hacer hook en LoadLibrary

Saludos

En línea

-[ "…I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Crear .exe desde una aplicacion
Programación Visual Basic
Deka_10 7 2,615 Último mensaje 8 Diciembre 2006, 15:37 pm
por ~~
Ejecutar *.bat con parametros desde aplicación en VB 6.0
Programación Visual Basic
hellfire99 3 9,010 Último mensaje 9 Diciembre 2009, 14:22 pm
por xkiz ™
[Ayuda] Corriendo desde compilador
Programación Visual Basic
Miseryk 2 1,744 Último mensaje 19 Agosto 2010, 21:36 pm
por BlackZeroX
Ejecutar desde PHP una aplicación GUI
GNU/Linux
SnakeDrak 2 2,662 Último mensaje 24 Octubre 2010, 23:05 pm
por SnakeDrak
Ayuda para mantener una aplicacion corriendo 24 horas
GNU/Linux
Haiki 1 2,146 Último mensaje 22 Febrero 2018, 16:51 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines