22.03.2014, 05:12
Primero que nada este es mi cуdigo..
Bueno como ven el cуdigo, funciona correctamente en sistemas operativos de 32 BITS, Pero en 64 Bits NO FUNCIONA! 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
gta_sa.exe *32
*32 ? dafack?
Como podria hacer para que detecte el proceso en ambos sistemas operativos? ayuda xD
Код:
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)
gta_sa.exe *32
*32 ? dafack?
Como podria hacer para que detecte el proceso en ambos sistemas operativos? ayuda xD