Post: GTA_V ONLINE_SCRIPT_MOD_BYPASS by Bucho
04-27-2015, 05:50 PM #1
bunbun888
Do a barrel roll!
(adsbygoogle = window.adsbygoogle || []).push({}); You must login or register to view this content.
    
#pragma warning(disable:4996)
#include <windows.h>
#include <stdio.h>
#include <string>
#include <psapi.h>
#include <stdint.h>
using namespace std;


DWORD64 GetModuleBase(HANDLE hProc, string &sModuleName)
{



HMODULE *hModules;
hModules = 0;
char szBuf[50];
DWORD cModules = 0;
DWORD64 dwBase = 0;

EnumProcessModules(hProc, hModules, 0, &cModules);
hModules = new HMODULE[cModules / sizeof(HMODULE)];

if (EnumProcessModules(hProc, hModules, cModules / sizeof(HMODULE), &cModules)) {
for (int i = 0; i < cModules / sizeof(HMODULE); i++) {
if (GetModuleBaseName(hProc, hModules[i], szBuf, sizeof(szBuf))) {
if (sModuleName.compare(szBuf) == 0) {
dwBase = (DWORD64)hModules[i];
break;
}
}
}
}

delete[] hModules;

return dwBase;
}


void bypass_online()
{
__int64 Address = GetModuleBase(GetCurrentProcess(), string("GTA5.exe"));
INT i, p;
CHAR *MemoryBuff = new CHAR[512];
int ok = 0;
HANDLE hProcess = GetCurrentProcess();
BYTE bytes[] = { 0x48, 0x8B, 0x88, 0x10, 0x01, 0x00, 0x00 };
BYTE bytes2[] = { 0x4C, 0x8D, 0x8A, 0xC4, 0x00, 0x00, 0x00 };
BYTE jmp[] = { 0xEB, 0x1B };
BYTE nop2[] = { 0x90, 0x90 };
int count = 0;
int adc = 0;
for (int i = 0; i < 0x9FFF9840; i++)
{
ReadProcessMemory(hProcess, (LPVOID)Address, (LPVOID)MemoryBuff, 512, NULL);
for (p = 0; p < 512; p++)
{
Address++;
MemoryBuff++;
if (ok == 0)
{
if (memcmp(MemoryBuff, bytes, 7) == 0)
{
count++;
if (count == 2)
{
WriteProcessMemory(hProcess, (LPVOID)(Address + 0x2D), nop2, 2, 0);
ok = 1;
count = 0;
}
}
}
if (ok == 1)
{
if (adc == 0)
{
Address = GetModuleBase(GetCurrentProcess(), string("GTA5.exe"));
adc = 1;
}

if (memcmp(MemoryBuff, bytes2, 7) == 0)
{
count++;
if (count == 4)
{
WriteProcessMemory(hProcess, (LPVOID)(Address -0x27Cool Man (aka Tustin), jmp, 2, 0);
goto endfunc;
}
}
}

}
MemoryBuff = MemoryBuff - 512;
}
endfunc:;
}

//if u use alex's script hook it.

void ScriptMain()
{
bypass_online();//this function bypass create_vehicle and other function. and fix to crash when change animal of model in online
}
Last edited by bunbun888 ; 04-28-2015 at 02:05 AM.

The following user thanked bunbun888 for this useful post:

lwick
05-23-2015, 10:11 AM #38
txwh11
Haxor!
Originally posted by bunbun888 View Post
You must login or register to view this content.
    
#pragma warning(disable:4996)
#include <windows.h>
#include <stdio.h>
#include <string>
#include <psapi.h>
#include <stdint.h>
using namespace std;


DWORD64 GetModuleBase(HANDLE hProc, string &sModuleName)
{



HMODULE *hModules;
hModules = 0;
char szBuf[50];
DWORD cModules = 0;
DWORD64 dwBase = 0;

EnumProcessModules(hProc, hModules, 0, &cModules);
hModules = new HMODULE[cModules / sizeof(HMODULE)];

if (EnumProcessModules(hProc, hModules, cModules / sizeof(HMODULE), &cModules)) {
for (int i = 0; i < cModules / sizeof(HMODULE); i++) {
if (GetModuleBaseName(hProc, hModules[i], szBuf, sizeof(szBuf))) {
if (sModuleName.compare(szBuf) == 0) {
dwBase = (DWORD64)hModules[i];
break;
}
}
}
}

delete[] hModules;

return dwBase;
}


void bypass_online()
{
__int64 Address = GetModuleBase(GetCurrentProcess(), string("GTA5.exe"));
INT i, p;
CHAR *MemoryBuff = new CHAR[512];
int ok = 0;
HANDLE hProcess = GetCurrentProcess();
BYTE bytes[] = { 0x48, 0x8B, 0x88, 0x10, 0x01, 0x00, 0x00 };
BYTE bytes2[] = { 0x4C, 0x8D, 0x8A, 0xC4, 0x00, 0x00, 0x00 };
BYTE jmp[] = { 0xEB, 0x1B };
BYTE nop2[] = { 0x90, 0x90 };
int count = 0;
int adc = 0;
for (int i = 0; i < 0x9FFF9840; i++)
{
ReadProcessMemory(hProcess, (LPVOID)Address, (LPVOID)MemoryBuff, 512, NULL);
for (p = 0; p < 512; p++)
{
Address++;
MemoryBuff++;
if (ok == 0)
{
if (memcmp(MemoryBuff, bytes, 7) == 0)
{
count++;
if (count == 2)
{
WriteProcessMemory(hProcess, (LPVOID)(Address + 0x2D), nop2, 2, 0);
ok = 1;
count = 0;
}
}
}
if (ok == 1)
{
if (adc == 0)
{
Address = GetModuleBase(GetCurrentProcess(), string("GTA5.exe"));
adc = 1;
}

if (memcmp(MemoryBuff, bytes2, 7) == 0)
{
count++;
if (count == 4)
{
WriteProcessMemory(hProcess, (LPVOID)(Address -0x27Cool Man (aka Tustin), jmp, 2, 0);
goto endfunc;
}
}
}

}
MemoryBuff = MemoryBuff - 512;
}
endfunc:;
}

//if u use alex's script hook it.

void ScriptMain()
{
bypass_online();//this function bypass create_vehicle and other function. and fix to crash when change animal of model in online
}


dear dude,can u give me a Native's bypass code?.. love u . so much...
05-23-2015, 10:12 AM #39
txwh11
Haxor!
Originally posted by lovemf View Post
thank you for repay

i change the source text chinese,so must be unicode.how can i edit the source?

sorry my bad english. thank you again.




dude, i hate u ... about ur Sourse at 3DM... many things r lost.. - -..

hahaha.. can u Add my QQ, or i add u?.. dude?
05-23-2015, 05:36 PM #40
iLuiis
Who’s Jim Erased?
I had the same problem haha but thankfully I had a lot of free time so I figured it out
06-01-2015, 08:03 PM #41
idilyK
Gobble
Just a big Thank You !

I've just tested this on my Mod Menu and it works perfectly ! I'll release my menu in many days, i'll credit you in the description. Winky Winky
06-02-2015, 06:22 AM #42
bunbun888
Do a barrel roll!
Originally posted by idilyK View Post
Just a big Thank You !

I've just tested this on my Mod Menu and it works perfectly ! I'll release my menu in many days, i'll credit you in the description. Winky Winky


Haha! Nice work! Good luck!!
06-03-2015, 12:50 AM #43
haccel
Gobble
Awesome if this works dude! I had to clean it up a bit to get it working though. I'll test online when I get back home.

Will this give me insta ban if I go online? I only want to shoot some money bags to my bank in an invite only room :p

    void bypass_online()
{
HANDLE hProcess = GetCurrentProcess();
__int64 origAddress = GetModuleBase(hProcess, string("GTA5.exe")), Address = origAddress;
CHAR *MemoryBuff = new CHAR[512], *BuffStart = MemoryBuff;
int ok = 0;
BYTE bytes[] = { 0x48, 0x8B, 0x88, 0x10, 0x01, 0x00, 0x00 };
BYTE bytes2[] = { 0x4C, 0x8D, 0x8A, 0xC4, 0x00, 0x00, 0x00 };
BYTE jmp[] = { 0xEB, 0x1B };
BYTE nop2[] = { 0x90, 0x90 };
int count = 0;
int adc = 0;
int patched = 0, resetAddress = 0;
SIZE_T sBytes = 0, p = 0;
do
{
ReadProcessMemory(hProcess, (LPVOID)Address, (LPVOID)MemoryBuff, 512, &sBytes);
for (p = 0; patched == 0 && resetAddress == 0 && p < sBytes; p++, Address++, MemoryBuff++)
{
if (ok == 0)
{
if (memcmp(MemoryBuff, bytes, 7) == 0)
{
if (++count == 2)
{
WriteProcessMemory(hProcess, (LPVOID)(Address + 0x2D), nop2, 2, 0);
ok = 1;
count = 0;
}
}
}
if (ok == 1)
{
if (adc == 0)
{
resetAddress = 1;
adc = 1;
}
else if (memcmp(MemoryBuff, bytes2, 7) == 0)
{
if (++count == 4)
{
WriteProcessMemory(hProcess, (LPVOID)(Address -0x27Cool Man (aka Tustin), jmp, 2, 0);
patched = 1;
}
}
}
}
MemoryBuff = BuffStart;

if (resetAddress == 1)
{
Address = origAddress;
resetAddress = 0;
}
}
while (patched == 0 && sBytes > 0);

delete [] MemoryBuff;
}
06-03-2015, 01:03 AM #44
Zemanez
I am error
Originally posted by haccel View Post
Awesome if this works dude! I had to clean it up a bit to get it working though. I'll test online when I get back home.

Will this give me insta ban if I go online? I only want to shoot some money bags to my bank in an invite only room :p

    void bypass_online()
{
HANDLE hProcess = GetCurrentProcess();
__int64 origAddress = GetModuleBase(hProcess, string("GTA5.exe")), Address = origAddress;
CHAR *MemoryBuff = new CHAR[512], *BuffStart = MemoryBuff;
int ok = 0;
BYTE bytes[] = { 0x48, 0x8B, 0x88, 0x10, 0x01, 0x00, 0x00 };
BYTE bytes2[] = { 0x4C, 0x8D, 0x8A, 0xC4, 0x00, 0x00, 0x00 };
BYTE jmp[] = { 0xEB, 0x1B };
BYTE nop2[] = { 0x90, 0x90 };
int count = 0;
int adc = 0;
int patched = 0, resetAddress = 0;
SIZE_T sBytes = 0, p = 0;
do
{
ReadProcessMemory(hProcess, (LPVOID)Address, (LPVOID)MemoryBuff, 512, &sBytes);
for (p = 0; patched == 0 && resetAddress == 0 && p < sBytes; p++, Address++, MemoryBuff++)
{
if (ok == 0)
{
if (memcmp(MemoryBuff, bytes, 7) == 0)
{
if (++count == 2)
{
WriteProcessMemory(hProcess, (LPVOID)(Address + 0x2D), nop2, 2, 0);
ok = 1;
count = 0;
}
}
}
if (ok == 1)
{
if (adc == 0)
{
resetAddress = 1;
adc = 1;
}
else if (memcmp(MemoryBuff, bytes2, 7) == 0)
{
if (++count == 4)
{
WriteProcessMemory(hProcess, (LPVOID)(Address -0x27Cool Man (aka Tustin), jmp, 2, 0);
patched = 1;
}
}
}
}
MemoryBuff = BuffStart;

if (resetAddress == 1)
{
Address = origAddress;
resetAddress = 0;
}
}
while (patched == 0 && sBytes > 0);

delete [] MemoryBuff;
}


1.26 comes with an anti-cheat which detects the scripthook and any injected ASI mods so chances are - yes. Wouldn't be surprised if there's another ban wave next week when the new DLC is out.
06-03-2015, 01:23 AM #45
haccel
Gobble
Originally posted by Zemanez View Post
1.26 comes with an anti-cheat which detects the scripthook and any injected ASI mods so chances are - yes. Wouldn't be surprised if there's another ban wave next week when the new DLC is out.


Ah yeah thanks, thought that may be the case. This seems to noop something and patch another instruction so it doesn't seem much to bypass any other checks. Time to learn the x84 instruction set Gasp

Anyone know of a good (free) 64 bit exe disassembler? What's olly 64 like these days? Was a bit unstable last I used it (years ago).
06-03-2015, 03:18 PM #46
Zemanez
I am error
Originally posted by haccel View Post
Ah yeah thanks, thought that may be the case. This seems to noop something and patch another instruction so it doesn't seem much to bypass any other checks. Time to learn the x84 instruction set Gasp

Anyone know of a good (free) 64 bit exe disassembler? What's olly 64 like these days? Was a bit unstable last I used it (years ago).


Free - don't think any (good) one exists.

Paid (torrent available) - IDA Pro.

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo