Dim p As New ProcessStartInfo
p.FileName = DirectorioGTA & "\gta_sa.exe"
p.Arguments = "-c -n " & Nickname.Text & " -h 198.27.70.146 -p 7777"
p.WorkingDirectory = DirectorioGTA
Process.Start(p)
'----------proceso iniciado & a continuacion inyectaremos el DLL de sa-mp ---------------'
Dim TargetProcess As Process() = Process.GetProcessesByName("gta_sa")
'la funcion de arriba obtiene el proceso del gta, pero no funciona en sistemas operativos de 64 bits :('
TargetProcessHandle = OpenProcess(PROCESS_CREATE_THREAD Or PROCESS_VM_OPERATION Or PROCESS_VM_WRITE, False, TargetProcess(0).Id)
pszLibFileRemote = DirectorioGTA & "\samp.dll"
pfnStartAddr = GetProcAddress(GetModuleHandle("Kernel32"), "LoadLibraryA")
TargetBufferSize = 1 + Len(pszLibFileRemote)
Dim Rtn As Integer
Dim LoadLibParamAdr As Integer
LoadLibParamAdr = VirtualAllocEx(TargetProcessHandle, 0, TargetBufferSize, MEM_COMMIT, PAGE_READWRITE)
Rtn = WriteProcessMemory(TargetProcessHandle, LoadLibParamAdr, pszLibFileRemote, TargetBufferSize, 0)
CreateRemoteThread(TargetProcessHandle, 0, 0, pfnStartAddr, LoadLibParamAdr, 0, 0)
Nose porquй, parece que la funciуn Process.GetProcessesByName("gta_sa") no detecta el proceso en sistemas operativos de 64 bits, me fije por teamviewer en la pc de un amigo y en su pc de 64 bits dice
ayuda xD
|
Creo que no hay GTA SA 64 bits, hasta ahora solo eh visto 32 bits. En realidad esto no importa ya que los programas compilados en 32 bits pueden ser ejecutados en sistemas 64 bits.
Mi cliente lo compilo en 32 bits y mi sistema operativo es 64 bits y funciona perfectamente, el "gta_sa.exe *32" solo es para que sepas que el programa que se esta ejecutando es 32 bits, ami me pasa en muchos programas o juegos en 32 bits. Un saludo. |
Como haces tu para inyectar el samp.dll al gta_sa.exe? necesito ayuda :c
|
Pero entonces porque el Process.GetProcessesByName("gta_sa") no detecta el gta_sa.exe en sistemas de 64 bits?
Como haces tu para inyectar el samp.dll al gta_sa.exe? necesito ayuda :c |