|
@@ -285,14 +285,18 @@ end:
|
|
|
memset(pCallData->szOriginalAddrData, 0, CALL_LEN);
|
|
|
if ( !ReadProcessMemory(hProc, (LPVOID)pCallData->dwOriginalAddr, pCallData->szOriginalAddrData, CALL_LEN, NULL) )
|
|
|
{
|
|
|
- //MessageBox(NULL, _T("读取内存失败"), _T("提示"),MB_OK);
|
|
|
+#ifdef _DEBUG
|
|
|
+ MessageBox(NULL, _T("读取内存失败"), _T("提示"),MB_OK);
|
|
|
+#endif
|
|
|
return FALSE;
|
|
|
}
|
|
|
|
|
|
// 将我们的Call地址指令写入目标地址;
|
|
|
if ( !WriteProcessMemory(hProc, (LPVOID)pCallData->dwOriginalAddr, pCallData->szMyCallData, CALL_LEN, NULL) )
|
|
|
{
|
|
|
- //MessageBox(NULL, _T("写入内存失败"), _T("提示"),MB_OK);
|
|
|
+#ifdef _DEBUG
|
|
|
+ MessageBox(NULL, _T("写入内存失败"), _T("提示"),MB_OK);
|
|
|
+#endif
|
|
|
return FALSE;
|
|
|
}
|
|
|
|
|
@@ -307,7 +311,9 @@ end:
|
|
|
// 将我们的Call地址指令写入目标地址;
|
|
|
if ( !WriteProcessMemory(GetCurrentProcess(), (LPVOID)pCallData->dwOriginalAddr, pCallData->szOriginalAddrData, CALL_LEN, NULL) )
|
|
|
{
|
|
|
- //MessageBox(NULL, _T("写入内存失败"), _T("提示"),MB_OK);
|
|
|
+#ifdef _DEBUG
|
|
|
+ MessageBox(NULL, _T("写入内存失败"), _T("提示"),MB_OK);
|
|
|
+#endif
|
|
|
return FALSE;
|
|
|
}
|
|
|
|
|
@@ -321,7 +327,9 @@ namespace Assist
|
|
|
{
|
|
|
void MyInitialFailed()
|
|
|
{
|
|
|
- //MessageBox(NULL, _T("MyInitialFailed"), _T("MyInitialFailed"), MB_OK);
|
|
|
+#ifdef _DEBUG
|
|
|
+ MessageBox(NULL, _T("MyInitialFailed"), _T("MyInitialFailed"), MB_OK);
|
|
|
+#endif
|
|
|
// 向服务端发送消息;
|
|
|
}
|
|
|
|
|
@@ -342,12 +350,25 @@ namespace Assist
|
|
|
|
|
|
void MyGo()
|
|
|
{
|
|
|
- CHAR szMsg[MAX_PATH];
|
|
|
DWORD dwElapsedAddr = 0x0052DF54;
|
|
|
DWORD dwSNAddr = dwEBP - 0x5D0;
|
|
|
+#ifdef _DEBUG
|
|
|
+ CHAR szMsg[MAX_PATH];
|
|
|
sprintf_s(szMsg, "MyGo耗时:%ldms, SN:%08X, %s", *(LPDWORD)dwElapsedAddr, dwSNAddr, (CHAR*)(*(LPDWORD)dwSNAddr));
|
|
|
MessageBoxA(NULL, szMsg, "MyGo", MB_OK);
|
|
|
- // 向服务器发送消息;
|
|
|
+#endif
|
|
|
+#pragma region 向服务器发送消息;
|
|
|
+ MSG_INFO msg;
|
|
|
+ // Go成功;
|
|
|
+ msg.byResult = TRUE;
|
|
|
+ _stprintf((TCHAR*)msg.byData, _T("%ld"), *(LPDWORD)dwElapsedAddr);
|
|
|
+
|
|
|
+ DATAHEADER head;
|
|
|
+ head.byMsgType = C2S_GO;
|
|
|
+ head.dwPackageLen = sizeof(DATAHEADER) + sizeof(MSG_INFO);
|
|
|
+
|
|
|
+ Utility::g_pPipeClient->SendPackage(head, msg);
|
|
|
+#pragma endregion
|
|
|
}
|
|
|
|
|
|
void __declspec(naked) Call_MyGo()
|
|
@@ -386,11 +407,12 @@ namespace Assist
|
|
|
|
|
|
void MyGoSN()
|
|
|
{
|
|
|
+#ifdef _DEBUG
|
|
|
CHAR szMsg[MAX_PATH];
|
|
|
DWORD dwSNAddr = dwEBP - 0x5D0;
|
|
|
- //_stprintf_s(szMsg, _T("MyGo %08X, %08X, %08X, %s"), dwEAX, dwSNAddr, DWORD(*(LPDWORD)dwSNAddr), (TCHAR*)(*(LPDWORD)dwSNAddr));
|
|
|
sprintf_s(szMsg, "MyGo %08X, %08X, %08X, %s", dwEAX, dwSNAddr, DWORD(*(LPDWORD)dwSNAddr), (CHAR*)(*(LPDWORD)dwSNAddr));
|
|
|
MessageBoxA(NULL, szMsg, "MyGoSN", MB_OK);
|
|
|
+#endif
|
|
|
// 向服务器发送消息;
|
|
|
}
|
|
|
|
|
@@ -430,7 +452,9 @@ namespace Assist
|
|
|
|
|
|
void MyGoSetCommunicationError()
|
|
|
{
|
|
|
+#ifdef _DEBUG
|
|
|
MessageBox(NULL, _T("MyGoSetCommunicationError"), _T("劫持"), MB_OK);
|
|
|
+#endif
|
|
|
// 向服务器发送消息;
|
|
|
}
|
|
|
|
|
@@ -470,7 +494,9 @@ namespace Assist
|
|
|
|
|
|
void MyGoCommunicationError()
|
|
|
{
|
|
|
+#ifdef _DEBUG
|
|
|
MessageBox(NULL, _T("MyGoCommunicationError"), _T("劫持"), MB_OK);
|
|
|
+#endif
|
|
|
// 向服务器发送消息;
|
|
|
}
|
|
|
|
|
@@ -515,13 +541,17 @@ namespace Assist
|
|
|
if ( AL == 0 )
|
|
|
{
|
|
|
bConnectStatus = FALSE;
|
|
|
+#ifdef _DEBUG
|
|
|
MessageBox(NULL, _T("连接失败"), _T("连接提示"), MB_OK);
|
|
|
+#endif
|
|
|
return FALSE;
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
bConnectStatus = TRUE;
|
|
|
+#ifdef _DEBUG
|
|
|
MessageBox(NULL, _T("连接成功"), _T("连接提示"), MB_OK);
|
|
|
+#endif
|
|
|
}
|
|
|
|
|
|
// 向服务器发送消息;
|
|
@@ -560,7 +590,9 @@ namespace Assist
|
|
|
{
|
|
|
// 产生异常,设置为未连接;
|
|
|
bConnectStatus = FALSE;
|
|
|
+#ifdef _DEBUG
|
|
|
MessageBox(NULL, _T("MyExternalExceptionE06D7363,重启异常待重启"), _T("提示"), MB_OK);
|
|
|
+#endif
|
|
|
// 向服务器发送消息;
|
|
|
::exit(0);
|
|
|
}
|
|
@@ -587,7 +619,9 @@ namespace Assist
|
|
|
void MyDisconnect()
|
|
|
{
|
|
|
bConnectStatus = FALSE;
|
|
|
+#ifdef _DEBUG
|
|
|
MessageBox(NULL, _T("MyDisconnect Function"), _T("MyDisconnect"), MB_OK);
|
|
|
+#endif
|
|
|
// 向服务器发送消息;
|
|
|
}
|
|
|
|
|
@@ -607,9 +641,9 @@ namespace Assist
|
|
|
{
|
|
|
// 备份寄存器;
|
|
|
__asm pushad;
|
|
|
-
|
|
|
+#ifdef _DEBUG
|
|
|
MessageBox(NULL, _T("Call_MyCheckFW"), _T("MyCheckFW"), MB_OK);
|
|
|
-
|
|
|
+#endif
|
|
|
__asm{
|
|
|
// 恢复寄存器;
|
|
|
popad;
|
|
@@ -625,8 +659,9 @@ namespace Assist
|
|
|
// 备份寄存器;
|
|
|
__asm pushad;
|
|
|
|
|
|
+#ifdef _DEBUG
|
|
|
MessageBox(NULL, _T("Call_MyCheckFWCommunicationError"), _T("MyCheckFWCommunicationError"), MB_OK);
|
|
|
-
|
|
|
+#endif
|
|
|
__asm{
|
|
|
// 恢复寄存器;
|
|
|
popad;
|