首页 > 修改教程 > GG修改器修改游戏要脚本吗_GG修改器脚本怎么弄
GG修改器修改游戏要脚本吗_GG修改器脚本怎么弄
  • gg修改器最新版
  • 大小:8.33MB版本:v3.00
  • 语言:简体中文系统:Android
绿色无毒,安全可靠!部分设备误报拦截请通过!

GG修改器修改游戏要脚本吗_GG修改器脚本怎么弄

作者:佚名 来源:网友分享 日期:2024-03-29 10:07:10

大家好,今天小编为大家分享关于GG修改器修改游戏要脚本吗_GG修改器脚本怎么弄的内容,赶快来一起来看看吧。

分析外挂样本一般的步骤

  1. 对外挂样本进行简单的信息分析。
  2. 分析还原外挂样本具体功能实现方式。
  3. 分析外挂样本的反检测功能。

1. 对外挂样本进行简单的信息分析

2.分析还原外挂样本具体功能实现方式

2.1 网络验证功能

功能:还原登陆验证向服务端请教的实现
参数:就是直接服务器的url就可以
*/

bool loginSendHttpData(CString url)
{
if(url.IsEmpty())
{
return false;
}

HINTERNET hInternet,hConnect,hRequest;
hInternet = (HINSTANCE)InternetOpenA(NULL, INTERNET_OPEN_TYPE_PRECONFIG, NULL,NULL,NULL);
if(!hInternet)
{
InternetCloseHandle(hInternet);
hInternet = NULL;
return false;
}

hConnect = (HINSTANCE)InternetConnectA(hInternet, url, INTERNET_DEFAULT_HTTPS_PORT, NULL, NULL, INTERNET_SERVICE_HTTP,0,0);
if(!hConnect)
{
if(hConnect)
InternetCloseHandle(hConnect);
if(hInternet)
InternetCloseHandle(hInternet);
}

hRequest = (HINSTANCE)HttpOpenRequestA(hConnect,"POST",url, "HTTP/1.1" ,NULL,NULL, INTERNET_FLAG_RELOAD|INTERNET_FLAG_NO_CACHE_WRITE,0);
bool ret= HttpSendRequestA(hRequest,0,0,0,0);
if(!hRequest)
{
if(hRequest)
InternetCloseHandle(hRequest);
if(hConnect)
InternetCloseHandle(hConnect);
if(hInternet)
InternetCloseHandle(hInternet);
}

return true;
}

2.2 外挂具体实现功能的前部分

  1. 就是通过WinExec启动notepad的程序。
  2. 启动程序后通过查找notepad程序的窗口类名Notepad获取进程id。
  3. 通过远程线程方式将真正的外挂模块QT模块注入到notepad程序里面
  4. 强制关闭掉外挂的主程序。
  5. 下图是ollydbg定位到外挂功能关键函数的主入口函数。

void startNotepad()
{
//启动notepad程序
WinExec("\system32\notepad.exe",SW_SHOW);
//通过窗口类名获取进程信息
HWND hWnd = FindWindowA(NULL, "Notepad");
DWORD dwPid = 0;
GetWindowThreadProcessId(hWnd, &dwPid);
//远程线程注入dll
InJectNotepad(dwPid, "QT.dll");
//强制关闭外挂程序
PostQuitMessage(WM_QUIT);
}

{
if (DllName.IsEmpty())
return false;

HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, processId);
if (hProcess == INVALID_HANDLE_VALUE)
return false;

LPVOID pszDllName = VirtualAllocEx(hProcess, NULL, 4096, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
if (NULL == pszDllName)
return false;

bool bRet = WriteProcessMemory(hProcess, pszDllName, DllName, MAX_PATH, NULL);
if(false == bRet)
return false;

HANDLE m_hInjecthread = CreateRemoteThread(hProcess, NULL,0, (LPTHREAD_START_ROUTINE)LoadLibraryA, pszDllName, NULL, NULL);
if (NULL == m_hInjecthread)
return false;

DWORD dw = WaitForSingleObject(m_hInjecthread, -1);
DWORD dwExitCode;
GetExitCodeThread(m_hInjecthread, &dwExitCode);
HMODULE m_hMod = (HMODULE)dwExitCode;
BOOL bReturn = VirtualFreeEx(hProcess, pszDllName, 4096, MEM_DECOMMIT);
if (NULL == bReturn)
return false;

CloseHandle(hProcess);
hProcess = NULL;

return true;
}

2.3 外挂具体实现功能的后部分

//遍历游戏进程名称获取的进程的pid
DWORD GetProcessId(CString pszProcessName)
{
HANDLE hProcess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);

if (INVALID_HANDLE_VALUE == hProcess)
{
return 0;
}

DWORD dwProcessId = 0;

PROCESSENTRY32 process32 = { 0 };
process32.dwSize = sizeof(PROCESSENTRY32);

BOOL bRetProcess = FALSE;
bRetProcess = Process32First(hProcess, &process32);

do
{
if (_tcscmp(pszProcessName, process32.szExeFile) == 0)
{
dwProcessId = process32.th32ProcessID;
break;
}

bRetProcess = Process32Next(hProcess, &process32);
} while (bRetProcess);
CloseHandle(hProcess);

return dwProcessId;
}

3.分析外挂样本的反检测功能

如何学习呢?有没有免费资料?

今天免费分享 免费分享!

以上大型逆向安全学习资料获取方式:

转发 !

转发 !

转发 !关注我 私信回复关键词:“ 逆向 ” 即可免费领取!

以上就是关于GG修改器修改游戏要脚本吗_GG修改器脚本怎么弄的全部内容,希望对大家有帮助。

相关文章

热门下载

大家还在搜