-
大小: 285KB文件类型: .zip金币: 2下载: 0 次发布日期: 2021-06-02
- 语言: 其他
- 标签: SetWindows Hook WH_CBT
资源简介
SetWindowsHookEx 64位,或32位,不同,需要编译各自的库、SetWindowsHookEx 64位,或32位,不同,需要编译各自的库、

代码片段和文件信息
// Log.cpp: implementation of the Log class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “Log.h“
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
#pragma warning(disable:4996)
//#if (defined(_UNICODE) || defined(_MBCS))
//#error Cannot compile with multibyte/wide character support
//#endif
const int Log::ToDebug = 1;
const int Log::ToFile = 2;
const int Log::ToConsole = 4;
const static int LINE_BUFFER_SIZE = 1024;
Log::Log(int mode int level char *filename bool append)
{
m_lastLogTime = 0;
m_filename = NULL;
m_append = false;
hlogfile = NULL;
m_todebug = false;
m_toconsole = false;
m_tofile = false;
SetFile(filename append);
SetMode(mode);
SetLevel(level);
// If the compiler returns full path names in __FILE__
// remember the path prefix to remove it from the log messages.
char *path = __FILE__;
char *ptr = strrchr(path ‘\\‘);
if (ptr != NULL) {
m_prefix_len = ptr + 1 - path;
m_prefix = (char *)malloc(m_prefix_len + 1);
memcpy(m_prefix path m_prefix_len);
m_prefix[m_prefix_len] = ‘\0‘;
}
}
void Log::SetMode(int mode) {
m_mode = mode;
if (mode & ToDebug)
m_todebug = true;
else
m_todebug = false;
if (mode & ToFile) {
if (!m_tofile)
OpenFile();
} else {
CloseFile();
m_tofile = false;
}
if (mode & ToConsole) {
if (!m_toconsole)
AllocConsole();
m_toconsole = true;
} else {
m_toconsole = false;
}
}
int Log::GetMode() {
return m_mode;
}
void Log::SetLevel(int level) {
m_level = level;
}
int Log::GetLevel() {
return m_level;
}
void Log::Setstyle(int style) {
m_style = style;
}
int Log::Getstyle() {
return m_style;
}
void Log::SetFile(const char *filename bool append)
{
CloseFile();
if (m_filename != NULL)
free(m_filename);
m_filename = strdup(filename);
m_append = append;
if (m_tofile)
OpenFile();
}
void Log::OpenFile()
{
// Is there a file-name?
if (m_filename == NULL)
{
m_todebug = true;
m_tofile = false;
Print(0 “Error opening log file\n“);
return;
}
m_tofile = true;
m_lastLogTime = 0;
// If there‘s an existing log and we‘re not appending then move it
if (!m_append)
{
// Build the backup filename
char *backupfilename = new char[strlen(m_filename)+5];
if (backupfilename)
{
strcpy(backupfilename m_filename);
strcat(backupfilename “.bak“);
// Attempt the move and replace any existing backup
// Note that failure is silent - where would we log a message to? ;)
DeleteFileA(backupfilename);
MoveFileA(m_filename backupfilename);
delete [] backupfilename;
}
}
// If filen
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-09-12 10:46 NewTest006Hook\
目录 0 2013-03-23 10:20 NewTest006Hook\common\
文件 5838 2012-12-27 15:18 NewTest006Hook\common\Log.cpp
文件 2615 2012-12-28 16:16 NewTest006Hook\common\Log.h
目录 0 2017-09-12 10:44 NewTest006Hook\Debug\
目录 0 2017-09-12 10:26 NewTest006Hook\ipch\
目录 0 2017-09-12 10:46 NewTest006Hook\ipch\newtest006global-a158020b\
目录 0 2017-09-12 10:45 NewTest006Hook\NewTest006Global\
文件 6783 2017-09-12 10:38 NewTest006Hook\NewTest006Global\NewTest006Global.cpp
文件 663 2013-03-24 13:48 NewTest006Hook\NewTest006Global\NewTest006Global.h
文件 7279 2013-03-24 14:06 NewTest006Hook\NewTest006Global\NewTest006Global.vcxproj
文件 1083 2013-03-23 14:11 NewTest006Hook\NewTest006Global\NewTest006Global.vcxproj.filters
文件 787 2013-03-24 14:10 NewTest006Hook\NewTest006Global\NewTest006Global.vcxproj.user
文件 8582 2013-03-24 14:13 NewTest006Hook\NewTest006Global\temp.log
文件 554 2013-03-24 14:10 NewTest006Hook\NewTest006Global\temp.log.bak
目录 0 2017-09-12 10:45 NewTest006Hook\NewTest006Hook\
文件 3594 2017-09-11 17:16 NewTest006Hook\NewTest006Hook.sln
文件 37376 2017-09-12 10:44 NewTest006Hook\NewTest006Hook.suo
目录 0 2017-09-12 10:45 NewTest006Hook\NewTest006HookTest\
文件 104948 2017-09-11 14:14 NewTest006Hook\NewTest006HookTest\NewTest006HookTest.aps
文件 2051 2013-03-23 15:06 NewTest006Hook\NewTest006HookTest\NewTest006HookTest.cpp
文件 514 2013-03-23 15:06 NewTest006Hook\NewTest006HookTest\NewTest006HookTest.h
文件 8942 2017-09-11 14:14 NewTest006Hook\NewTest006HookTest\NewTest006HookTest.rc
文件 10846 2017-09-11 14:14 NewTest006Hook\NewTest006HookTest\NewTest006HookTest.vcxproj
文件 2257 2013-03-23 15:08 NewTest006Hook\NewTest006HookTest\NewTest006HookTest.vcxproj.filters
文件 143 2013-03-23 15:06 NewTest006Hook\NewTest006HookTest\NewTest006HookTest.vcxproj.user
文件 4446 2017-09-11 17:33 NewTest006Hook\NewTest006HookTest\NewTest006HookTestDlg.cpp
文件 928 2017-09-11 14:14 NewTest006Hook\NewTest006HookTest\NewTest006HookTestDlg.h
文件 3222 2013-03-23 15:06 NewTest006Hook\NewTest006HookTest\ReadMe.txt
目录 0 2013-03-23 15:06 NewTest006Hook\NewTest006HookTest\res\
文件 1198 2017-09-11 14:14 NewTest006Hook\NewTest006HookTest\resource.h
............此处省略28个文件信息
- 上一篇:TSOP_44_48_54PCB封装
- 下一篇:硬盘加密软件破解版(免安装
相关资源
- HOOK小工具(进程、窗口、全局)
- HOOK 记录和模拟 Keyboard Mouse
- 通用注入工具无驱版(HOOK注入、远程
- Diskhook(模拟硬盘序列号)
- 基于Filter-Hook Driver的个人防火墙
- 硬盘串号模拟diskhook
- diskhook模拟硬盘物理序列号
- 利用dll的hook悄悄监视某进程键盘输入
- hook任意api的函数.rar
- 天锐绿盾客户端补丁-解决文件上鼠标
- 易语言超级HOOK
- 易语言封包截取源码易语言HOOKapi实现
- AdS和Chern-Simons引力的Newton-Hooke / Carr
- Detour API HookDetour 源代码,库,和一个
- pchook微信
- 火绒注入(内核hook稳定注入)
- 伪任意地址HOOK类
- ssdt内核hook的源代码
- 鼠标和键盘钩子Hook,实现对窗口消息
- HOOK技术实现键盘记录器
- 易语言源码综合强大模块
- 专注于非越狱环境下iOS应用逆向研究
- 基于mhook2.3封装
- Sock5代理代码,hook技术
- 微信PC Hook 2.5版本
- 打印监控HOOK.rar
- 通过hook技术,模拟鼠标的操作
- hook微信收款监听
- 微信PC版Hook.rar
- 进程保护四个
评论
共有 条评论