|
@@ -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;
|