Ayuda con VB.NET: Inyectando samp.dll al gta_sa.exe
#1

Primero que nada este es mi cуdigo..

Код:
        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)
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
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 2 Guest(s)