Jeff 6 anos atrás
pai
commit
380f99ce7a
2 arquivos alterados com 78 adições e 3 exclusões
  1. 1 1
      source/hook/WeChats/WeChats.cpp
  2. 77 2
      source/hook/hook/dllmain.cpp

+ 1 - 1
source/hook/WeChats/WeChats.cpp

@@ -64,7 +64,7 @@ BOOL CWeChatsApp::InitInstance()
 	vector<DWORD> vtPID = FindAllProcess(WECHAT);
 	if (vtPID.size() != 0 )
 	{
-		for (int i = 0; i < 10; i++)
+		for (int i = 0; i < 100; i++)
 		{
 			CInjection inject(*vtPID.begin(),szDllPath);
 			inject.InjectDynamicLibrary();

+ 77 - 2
source/hook/hook/dllmain.cpp

@@ -1,6 +1,79 @@
 // dllmain.cpp : 定义 DLL 应用程序的入口点。
 #include "stdafx.h"
 
+/************************************************************************/
+/*  函数:WriteTextLog[7/28/2016 IT];
+/*  描述:写文本日志;
+/*  参数:;
+/*  	[IN] :;
+/*  返回:void;
+/*  注意:;
+/*  示例:;
+/*
+/*  修改:;
+/*  日期:;
+/*  内容:;
+/************************************************************************/
+//void WriteTextLog(const TCHAR *format, ...)
+//{
+//	//static ThreadSection _critSection;
+//	//AutoThreadSection aSection(&_critSection);
+//	// 解析出日志路径;
+//	TCHAR szlogpath[MAX_PATH] = { 0 };
+//	static TCHAR szModulePath[MAX_PATH] = { 0 };
+//	static TCHAR szFna[MAX_PATH] = { 0 };
+//	if (szModulePath[0] == _T('\0'))
+//	{
+//		TCHAR szDrive[MAX_PATH] = { 0 };
+//		TCHAR szDir[MAX_PATH] = { 0 };
+//		TCHAR szExt[MAX_PATH] = { 0 };
+//		::GetModuleFileName(NULL, szModulePath, sizeof(szModulePath) / sizeof(TCHAR));
+//		_tsplitpath_s(szModulePath, szDrive, szDir, szFna, szExt);
+//		_tcscpy_s(szModulePath, szDrive);
+//		_tcscat_s(szModulePath, szDir);
+//	}
+//
+//	_stprintf_s(szlogpath, _T("%s%s.txt"), szModulePath, szFna);
+//
+//									 // 打开或创建文件;
+//	FILE *fp = NULL;
+//	if (_taccess(szlogpath, 0) != -1)
+//	{// 存在;
+//		fp = _tfopen(szlogpath, _T("a+"));
+//		// 移动到末尾;
+//		fseek(fp, 0, SEEK_END);
+//	}
+//	else
+//	{// 不存在;
+//		fp = _tfopen(szlogpath, _T("w+"));
+//	}
+//
+//	if ( fp == NULL )
+//		return;
+//
+//	// 格式化前设置语言区域;
+//	TCHAR* old_locale = _tcsdup(_tsetlocale(LC_CTYPE, NULL));
+//	_tsetlocale(LC_CTYPE, _T("chs"));//设定中文;
+//
+//	// 格式化日志内容;
+//	va_list		args = NULL;
+//	int			len = 0;
+//	TCHAR		*buffer = NULL;
+//	va_start(args, format);
+//	// _vscprintf doesn't count. terminating '\0'
+//	len = _vsctprintf(format, args) + 1;
+//	buffer = (TCHAR*)malloc(len * sizeof(TCHAR));
+//	_vstprintf_s(buffer, len, format, args);
+//	// 将日志内容输入到文件中;
+//	_ftprintf(fp, _T("%s%s \n"), CTime::GetCurrentTime().Format(_T("%Y-%m-%d %H:%M:%S ")), buffer);
+//
+//	// 关闭文件,释放资源并设置回原语言区域;
+//	free(buffer);
+//	fclose(fp);
+//	_tsetlocale(LC_CTYPE, old_locale);
+//	free(old_locale);//还原区域设定;
+//}
+
 BOOL APIENTRY DllMain( HMODULE hModule,
                        DWORD  ul_reason_for_call,
                        LPVOID lpReserved
@@ -9,14 +82,16 @@ BOOL APIENTRY DllMain( HMODULE hModule,
 	switch (ul_reason_for_call)
 	{
 	case DLL_PROCESS_ATTACH:
-		MessageBox(NULL, _T("dll已成功注入"), _T("注入"), MB_OK);
+		//MessageBox(NULL, _T("dll已成功注入"), _T("注入"), MB_OK);
+		//WriteTextLog(_T("dll已成功注入"));
 		break;
 	case DLL_THREAD_ATTACH:
 		break;
 	case DLL_THREAD_DETACH:
 		break;
 	case DLL_PROCESS_DETACH:
-		MessageBox(NULL, _T("dll已成功卸载"), _T("注入"), MB_OK);
+		//MessageBox(NULL, _T("dll已成功卸载"), _T("注入"), MB_OK);
+		//WriteTextLog(_T("dll已成功卸载"));
 		break;
 	default:
 		break;