This value will lead you to the correct area to do the text search for xingcode and xem . (0x0041CBF0)
Below is code for the console application to bypass xingcode you just need to update the value above when you find it . It will be the second xem from the top .
So to be clear open your bumped AVA with olly hit control g enter the value (0x0041CBF0). When that search is done right click and (search for all text strings . This will open a new window . In that window find the second xem from the top . Then replace the value in the code i provided . You're welcome though the heart beat should be still up so you will get kicked within 5 minutes (Disconnected)
You will look for the vale 55 right above 8BEC
[IMG][/IMG]
Code:
#include <Windows.h>
#include <iostream>
#include <tlhelp32.h>
#include <stdio.h>
using namespace std;
DWORD GetProcessId(const TCHAR* lpProcessName)
{
DWORD dwProcessId = 0;
PROCESSENTRY32 entry;
entry.dwSize = sizeof(PROCESSENTRY32);
HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
if (snapshot != INVALID_HANDLE_VALUE)
{
if (Process32First(snapshot, &entry))
{
do
{
if (_wcsicmp(entry.szExeFile, lpProcessName) == 0)
{
dwProcessId = entry.th32ProcessID;
break;
}
} while (Process32Next(snapshot, &entry));
}
CloseHandle(snapshot);
}
return dwProcessId;
}
void suspend(DWORD processId)
{
HANDLE hThreadSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);
THREADENTRY32 threadEntry;
threadEntry.dwSize = sizeof(THREADENTRY32);
if (hThreadSnapshot != INVALID_HANDLE_VALUE)
{
if (Thread32First(hThreadSnapshot, &threadEntry))
{
do
{
if (threadEntry.th32OwnerProcessID == processId)
{
HANDLE hThread = OpenThread(THREAD_ALL_ACCESS, FALSE, threadEntry.th32ThreadID);
if (hThread)
{
SuspendThread(hThread);
CloseHandle(hThread);
}
}
} while (Thread32Next(hThreadSnapshot, &threadEntry));
}
CloseHandle(hThreadSnapshot);
}
}
int main(int argc, TCHAR* argv[])
{
HANDLE h = GetStdHandle( STD_OUTPUT_HANDLE );
SetConsoleTextAttribute(h,FOREGROUND_RED | FOREGROUND_INTENSITY );
SetConsoleTitle(TEXT("MPGH Xigncode Bypass"));
cout << "XingCode3 ByPass for AVA" << endl;
DWORD dwProcessId;
while (!(dwProcessId = GetProcessId(TEXT("AVA.exe"))))
Sleep(1);
cout << "Searching for Xingcode!" << endl;
SetConsoleTextAttribute(h,FOREGROUND_GREEN | FOREGROUND_INTENSITY );
HANDLE hProcess = OpenProcess(PROCESS_VM_READ | PROCESS_VM_WRITE | PROCESS_VM_OPERATION, FALSE, dwProcessId);
if (hProcess)
{
cout << "Xingcode is Located..." << endl;
SetConsoleTextAttribute(h,FOREGROUND_RED | FOREGROUND_INTENSITY );
const DWORD dwLocationOfFunction = 0x0041CBF0; //Update this value
INT Offsets;
BYTE FirstByte;
DWORD dwOldProtection;
while (!ReadProcessMemory(hProcess, (LPVOID)dwLocationOfFunction, &FirstByte, sizeof(FirstByte), NULL) || FirstByte != 0x55 )
{
if (GetLastError() == ERROR_ACCESS_DENIED)
cout << "ERROR_ACCESS_DENIED" << endl;
Sleep(1);
}
//cout << "Bypassing Xingcode" << endl;
SetConsoleTextAttribute(h,FOREGROUND_GREEN | FOREGROUND_INTENSITY );
const BYTE ByteToWrite = 0xc3;
BOOL bSuccess = VirtualProtectEx(hProcess, (LPVOID)dwLocationOfFunction, sizeof(FirstByte), PAGE_EXECUTE_READWRITE, &dwOldProtection);
if (bSuccess)
bSuccess = WriteProcessMemory(hProcess, (LPVOID)dwLocationOfFunction, &ByteToWrite, sizeof(ByteToWrite), NULL);
CloseHandle(hProcess);
if (bSuccess)
cout << "Xingcode Bypassed Successfully... Have Fun... " << endl;
}
cin.get();
return 0;
}
- - - Updated - - -
If you have success with the bypass i can also help you with pointers in ava its pretty easy .