XCEBypass
unknown
c_cpp
2 years ago
3.8 kB
17
Indexable
#include <windows.h>
#include <string>
int main(void)
{
std::string f_path("System\\CurrentControlSet\\Enum\\PCI");
HKEY hkResult;
DWORD errcode1 = RegOpenKeyEx(HKEY_LOCAL_MACHINE, (LPCSTR)f_path.c_str(), 0, KEY_ALL_ACCESS, &hkResult);
if (ERROR_SUCCESS != errcode1) {
printf("Unable to open registry key. Error code = %d\n", errcode1);
exit(1);
}
TCHAR achKey[256];
TCHAR nchKey[256];
DWORD cbName;
DWORD cSubKeys = 0;
int MAX_KEY_LENGTH = 1024;
RegQueryInfoKey(hkResult, NULL, NULL, NULL, &cSubKeys, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
if (cSubKeys > 0){
for (int a = 0; a < cSubKeys; a++){
cbName = MAX_KEY_LENGTH;
DWORD errcode2 = RegEnumKeyEx(hkResult, a, achKey, &cbName, NULL, NULL, NULL, NULL);
if (errcode2 == ERROR_SUCCESS){
std::string s_path = f_path + "\\" + achKey;
HKEY sub_hkResult;
DWORD errcode3 = RegOpenKeyEx(HKEY_LOCAL_MACHINE, (LPCSTR)s_path.data(), 0, KEY_ALL_ACCESS, &sub_hkResult);
if (ERROR_SUCCESS == errcode3) {
DWORD nSubKeys = 0;
RegQueryInfoKey(sub_hkResult, NULL, NULL, NULL, &nSubKeys, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
if (nSubKeys > 0){
for (int b = 0; b < nSubKeys; b++){
DWORD errcode4 = RegEnumKeyEx(sub_hkResult, b, nchKey, &cbName, NULL, NULL, NULL, NULL);
if (errcode2 == ERROR_SUCCESS){
std::string t_path = s_path + "\\" + nchKey;
HKEY f_hkResult;
DWORD errcode4 = RegOpenKeyEx(HKEY_LOCAL_MACHINE, (LPCSTR)t_path.data(), 0, KEY_ALL_ACCESS, &f_hkResult);
if (ERROR_SUCCESS == errcode4) {
DWORD bufsize = 0;
if (ERROR_SUCCESS != RegQueryInfoKey(f_hkResult, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &bufsize, NULL, NULL)) {
continue;
}
LPBYTE buf = new BYTE[bufsize];
DWORD query_errcode = RegQueryValueEx(f_hkResult, TEXT("ClassGUID"), NULL, NULL, buf, &bufsize);
if (ERROR_SUCCESS == query_errcode) {
if (strcmp((char*)buf, "{4d36e972-e325-11ce-bfc1-08002be10318}") == 0) {
std::string new_friendly_name = "BypassXCError###390023";// change this to random value
DWORD set_errcode = RegSetValueEx(f_hkResult, TEXT("FriendlyName"), 0, REG_SZ, (LPBYTE)new_friendly_name.data(), new_friendly_name.size());
if (ERROR_SUCCESS == set_errcode) {
printf("Bypass Success :)\n\n");
}
else {
printf("Bypass Error :(\n\n");
}
break;
}
}
}
RegCloseKey(f_hkResult);
}
}
}
}
RegCloseKey(sub_hkResult);
}
}
}
RegCloseKey(hkResult);
getchar();
return 0;
}Editor is loading...
Leave a Comment