Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Silkroad Online > SRO Private Server > SRO PServer Guides & Releases
You last visited: Today at 03:52

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Release] Bypassing most servers hardware limit

Discussion on [Release] Bypassing most servers hardware limit within the SRO PServer Guides & Releases forum part of the SRO Private Server category.

Closed Thread
 
Old   #1
 
elite*gold: 0
Join Date: Sep 2017
Posts: 8
Received Thanks: 8
Smile [Release] Bypassing most servers hardware limit

I saw so many servers using methods of HWID protection which can be bypassed redicolously easy.

Here is source code I would like to share with you.

* Requirements *

Little bit of brain.
A computer, or a high-performance toaster.




And... something that can compile this.

common.h:

Code:
#ifndef HG_COMMON
#define HG_COMMON

#pragma comment(lib, "detours.lib")

#define _CRT_SECURE_NO_WARNINGS

#include <Windows.h>
#include <iostream>

#endif


apihook.h:
Code:
#ifndef HG_APIHOOK
#define HG_APIHOOK
#include "common.h"


class apihook
{
public:
	static void Init(bool randomVolSerial, bool randomMac);
private:
	static void SetupVolumeSerialHook();
	static void SetupMacAddrHook();
};
#endif
apihook.cpp:
Code:
#include "apihook.h"
#include "detours\detours.h"
#include <IPHlpApi.h>

#pragma comment(lib, "iphlpapi.lib")

//-----------------------------------

typedef BOOL (WINAPI * pGetVolumeInformationA)(
	LPCSTR lpRootPathName,
	LPSTR lpVolumeNameBuffer,
	DWORD nVolumeNameSize,
	LPDWORD lpVolumeSerialNumber,
	LPDWORD lpMaximumComponentLength,
	LPDWORD lpFileSystemFlags,
	LPSTR lpFileSystemNameBuffer,
	DWORD nFileSystemNameSize);

typedef BOOL (WINAPI* pGetVolumeInformationW)(
	LPCTSTR lpRootPathName,
	LPTSTR lpVolumeNameBuffer,
	DWORD nVolumeNameSize,
	LPDWORD lpVolumeSerialNumber,
	LPDWORD lpMaximumComponentLength,
	LPDWORD lpFileSystemFlags,
	LPTSTR lpFileSystemNameBuffer,
	DWORD nFileSystemNameSize);

typedef DWORD (WINAPI* pGetAdaptersInfo)(
	PIP_ADAPTER_INFO pAdapterInfo,
	PULONG pOutBufLen);


//-----------------------------------
//Handles etc

HMODULE hKernel32;
HMODULE hIphlpapi;

pGetVolumeInformationA p_origGetVolumeInformationA;
pGetVolumeInformationW p_origGetVolumeInformationW;
pGetAdaptersInfo p_origGetAdaptersInfo;


void apihook::Init(bool randomVolSerial, bool randomMac)
{
	srand(time(NULL));

	hKernel32 = GetModuleHandleA("Kernel32.dll");
	hIphlpapi = GetModuleHandleA("Iphlpapi.dll");

	if(randomVolSerial) apihook::SetupVolumeSerialHook();
	if(randomMac) apihook::SetupMacAddrHook();
}

//-----------------------------------
//Volume serial hooks
//Just see typedef 
BOOL WINAPI MyGetVolumeInformationA(LPCTSTR lpRootPathName,LPTSTR lpVolumeNameBuffer,DWORD nVolumeNameSize,LPDWORD lpVolumeSerialNumber,LPDWORD lpMaximumComponentLength,LPDWORD lpFileSystemFlags,LPTSTR lpFileSystemNameBuffer,DWORD nFileSystemNameSize)
{
	BOOL res = p_origGetVolumeInformationA(lpRootPathName, lpVolumeNameBuffer, nVolumeNameSize, lpVolumeSerialNumber, lpMaximumComponentLength, lpFileSystemFlags, lpFileSystemNameBuffer, nFileSystemNameSize);
	std::cout << "MyGetVolumeInformationA -> Old serial " << *lpVolumeSerialNumber << std::endl;

	DWORD newSerial = GetTickCount() + rand();

	std::cout << "MyGetVolumeInformationA -> New serial " << newSerial << std::endl;

	*lpVolumeSerialNumber = newSerial;
	return res;
}

//-----------------------------------
//Volume serial hooks
//Just see typedef 
BOOL WINAPI MyGetVolumeInformationW(LPCTSTR lpRootPathName, LPTSTR lpVolumeNameBuffer, DWORD nVolumeNameSize, LPDWORD lpVolumeSerialNumber, LPDWORD lpMaximumComponentLength, LPDWORD lpFileSystemFlags, LPTSTR lpFileSystemNameBuffer, DWORD nFileSystemNameSize)
{
	BOOL res = p_origGetVolumeInformationW(lpRootPathName, lpVolumeNameBuffer, nVolumeNameSize, lpVolumeSerialNumber, lpMaximumComponentLength, lpFileSystemFlags, lpFileSystemNameBuffer, nFileSystemNameSize);
	
	std::cout << "MyGetVolumeInformationW -> Old serial " << *lpVolumeSerialNumber << std::endl;

	//Override
	DWORD newSerial = GetTickCount() + rand();

	std::cout << "MyGetVolumeInformationW -> New serial " << newSerial << std::endl;

	*lpVolumeSerialNumber = newSerial;
	return res;
}

void apihook::SetupVolumeSerialHook()
{
	p_origGetVolumeInformationA = (pGetVolumeInformationA)GetProcAddress(hKernel32, "GetVolumeInformationA");
	p_origGetVolumeInformationW = (pGetVolumeInformationW)GetProcAddress(hKernel32, "GetVolumeInformationW");

	DetourTransactionBegin();
	DetourAttach(&(PVOID&)p_origGetVolumeInformationA, MyGetVolumeInformationA);
	DetourTransactionCommit();

	DetourTransactionBegin();
	DetourAttach(&(PVOID&)p_origGetVolumeInformationW, MyGetVolumeInformationW);
	DetourTransactionCommit();

	
	std::cout << "Volume serial number hook initialized" << std::endl;
}

DWORD WINAPI MyGetAdaptersInfo(PIP_ADAPTER_INFO pAdapterInfo, PULONG pOutBufLen)
{
	DWORD res = p_origGetAdaptersInfo(pAdapterInfo, pOutBufLen);
	
	//BYTE_IP_ADAPTER_INFO::Address
	for(int i = 0; i < 8; i++)
		pAdapterInfo->Address[i] = rand() % 0xFF;

	std::cout << "MyGetAdaptersInfo -> Address override" << std::endl;
	return res;
}


void apihook::SetupMacAddrHook()
{
	p_origGetAdaptersInfo = (pGetAdaptersInfo)GetProcAddress(hIphlpapi, "GetAdaptersInfo");

	DetourTransactionBegin();
	DetourAttach(&(PVOID&)p_origGetAdaptersInfo, MyGetAdaptersInfo);
	DetourTransactionCommit();

	std::cout << "MAC address hook initialized" << std::endl;
}

hwfck.cpp:

Code:
#include "common.h"
#include "apihook.h"

BOOL WINAPI DllMain(HMODULE module, DWORD callReason, LPVOID reserved)
{
	switch(callReason)
	{
		case DLL_PROCESS_ATTACH:
			{
				DisableThreadLibraryCalls(module);

				AllocConsole();
				freopen("CONOUT$", "w", stdout);

				std::cout << "hwfck init" << std::endl;
				
				apihook::Init(true, true);
			}
			break;
	}

	return TRUE;
}
The point of this is to demonstrate how hooking those commonly used WinAPI functions is.

Good luck.


#27.09.2017
Added hook on GetVolumeInformationA
XinEkorn is offline  
Thanks
7 Users
Old 09/15/2017, 22:31   #2

 
SubZero**'s Avatar
 
elite*gold: 0
Join Date: Apr 2017
Posts: 986
Received Thanks: 456
nice
SubZero** is offline  
Old 09/15/2017, 22:40   #3
 
elite*gold: 0
Join Date: Aug 2017
Posts: 19
Received Thanks: 1
looks good
GMDarkNight is offline  
Old 09/15/2017, 23:55   #4
 
elite*gold: 0
Join Date: Sep 2017
Posts: 8
Received Thanks: 8
I will release compiled dll once my IDE setup is done.


Quote:
Originally Posted by ZΞDStorm View Post
I Smell that someone get banned from elitepvpers & He backs again
@Thread, Good job
Interesting. Why would anyone do that ? That sounds strange to me.
XinEkorn is offline  
Thanks
1 User
Old 09/16/2017, 14:55   #5
 
elite*gold: 0
Join Date: Jun 2011
Posts: 13
Received Thanks: 12
Futuristic liked it
megatronx1 is offline  
Old 09/17/2017, 01:50   #6
 
slaintrax200's Avatar
 
elite*gold: 3
Join Date: Jun 2008
Posts: 551
Received Thanks: 166
i wish i could understand all i see is codes xD
slaintrax200 is offline  
Old 09/17/2017, 07:53   #7
 
sigel123456789's Avatar
 
elite*gold: 0
Join Date: Sep 2015
Posts: 327
Received Thanks: 54
Quote:
Originally Posted by slaintrax200 View Post
i wish i could understand all i see is codes xD
+1

any video tut ?
sigel123456789 is offline  
Old 09/17/2017, 12:10   #8
 
slaintrax200's Avatar
 
elite*gold: 3
Join Date: Jun 2008
Posts: 551
Received Thanks: 166
yeah would be nice for video tut
slaintrax200 is offline  
Old 09/17/2017, 18:24   #9
 
xxnukertube's Avatar
 
elite*gold: 0
Join Date: May 2010
Posts: 578
Received Thanks: 166
Quote:
Originally Posted by slaintrax200 View Post
yeah would be nice for video tut
must u use brain.exe
xxnukertube is offline  
Old 09/17/2017, 19:12   #10
 
slaintrax200's Avatar
 
elite*gold: 3
Join Date: Jun 2008
Posts: 551
Received Thanks: 166
Quote:
Originally Posted by xxnukertube View Post
must u use brain.exe
u got one?
slaintrax200 is offline  
Old 09/17/2017, 19:47   #11
 
sigel123456789's Avatar
 
elite*gold: 0
Join Date: Sep 2015
Posts: 327
Received Thanks: 54
Quote:
Originally Posted by xxnukertube View Post
must u use brain.exe
i hate those guys who act like prof,,, retarded
sigel123456789 is offline  
Old 09/17/2017, 21:05   #12
 
xxnukertube's Avatar
 
elite*gold: 0
Join Date: May 2010
Posts: 578
Received Thanks: 166
Quote:
Originally Posted by sigel123456789 View Post
i hate those guys who act like prof,,, retarded
I too
I have my motivation for say it to him.
xxnukertube is offline  
Old 09/17/2017, 21:40   #13
 
slaintrax200's Avatar
 
elite*gold: 3
Join Date: Jun 2008
Posts: 551
Received Thanks: 166
Quote:
Originally Posted by xxnukertube View Post
I too
I have my motivation for say it to him.
runing server on vps baning people for nothing also +100 fake number good brain.exe
slaintrax200 is offline  
Old 09/18/2017, 00:09   #14

 
MeGaMaX's Avatar
 
elite*gold: 1537
Join Date: Sep 2006
Posts: 1,085
Received Thanks: 2,346
Here, i made vs2010 project extract and compile or use the per-compiled dll located in the release folder.
Attached Files
File Type: rar HWHOOK.rar (5.83 MB, 262 views)
MeGaMaX is offline  
Thanks
3 Users
Old 09/18/2017, 15:07   #15
 
elite*gold: 0
Join Date: Apr 2014
Posts: 575
Received Thanks: 114
Quote:
Originally Posted by MeGaMaX. View Post
Here, i made vs2010 project extract and compile or use the per-compiled dll located in the release folder.
Is this the DLL to bypass the hwid limit?
bandit100 is offline  
Closed Thread

Tags
bypass, hwid


Similar Threads Similar Threads
[Release] Bypass PC Limit for most servers using Elamidas' dll
08/31/2023 - SRO PServer Guides & Releases - 32 Replies
Hello, As we have seen, there are some people running around with Elamidas' DLL file thinking they're some sort of geniuses and that they got the HWID limit system figured out. I have created a version of that DLL that can bypass Elamidas' HWID limit in 9/2014, but I kept it as a secret for the sake of some dear friends such as LastThief. Today, I decided to release that modified DLL file. How to use? -Rename the dll file to whatever the current DLL name is, and play.



All times are GMT +2. The time now is 03:52.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.