摘要: 1. Module32Next HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); // 进程快照句柄 PROCESSENTRY32 process = {sizeof(PROCESSENTRY32)}; // 阅读全文
posted @ 2021-07-16 14:52 lyshark 阅读(602) 评论(0) 推荐(0) 编辑
摘要: 今天写了点代码,功能是筛选桌面中符合某些条件的窗口,模拟鼠标键盘实现全选 → 复制 → 检测剪切板 → 判断是否存在某些敏感字符串。 大致功能是这样。下面是代码(如果不想看不相关的内容可以直接跳到底部): #include <afx.h> #include <afxwin.h> #include < 阅读全文
posted @ 2021-07-16 14:49 lyshark 阅读(1391) 评论(0) 推荐(0) 编辑
摘要: 期待的效果就像 PCHuntor 里的那样,如下: 上代码 #include "stdafx.h" #include <Windows.h> #include <vector> #include <iostream> #include <assert.h> #include <psapi.h> #i 阅读全文
posted @ 2021-07-16 14:44 lyshark 阅读(767) 评论(0) 推荐(0) 编辑
摘要: // 获取 Temp 目录路径 TCHAR lpTempPathBuffer[MAX_PATH]; GetTempPath(MAX_PATH,lpTempPathBuffer); // 拼接字符窜 std::string inPath = lpTempPathBuffer; inPath.appen 阅读全文
posted @ 2021-07-16 14:42 lyshark 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 和语言无关,可以在 C++ 中用类的方式来定义。一个 COM 对象可以实现多个接口。 IUnknown:未直接口 一个特殊的接口,所有COM接口都继承IUnKnown这个接口。 interface IUnknown{ HRESULT QueryInterface( // 查询com对象的其他接口指针 阅读全文
posted @ 2021-07-16 14:38 lyshark 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 遍历每个进程,一次查找进程下的窗口,找到窗口标题为 “” ,窗口类名为 “RunDll” 的窗口。如果找到返回 true ,没找到返回 false。 #pragma region 依赖 typedef struct EnumHWndsArg{ std::vector<HWND> *vecHWnds; 阅读全文
posted @ 2021-07-16 14:35 lyshark 阅读(1159) 评论(0) 推荐(0) 编辑
摘要: 使用 C++ 操作命令行,并接收命令行返回信息,通过 Dos 命令获取 Windows 系统日志。 Wevtutil 命令介绍 https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012- 阅读全文
posted @ 2021-07-16 14:26 lyshark 阅读(559) 评论(0) 推荐(0) 编辑
摘要: 大多数恶意代码为了隐藏自己的行踪都会附加到某个进程中,在这个进程内申请一块内存区域来存放它的代码,毕竟隐藏的再好,代码也要有的,今天检测的特征是向YY语音里插入了一段自己的代码(创建了新的线程),而这个新的线程不在原有的模块内,所以思路就是遍历YY.exe这个进程中的所有线程,如果这个线程没有对应的模块,那么就说明这个线程是可疑的。 阅读全文
posted @ 2021-07-16 14:09 lyshark 阅读(971) 评论(0) 推荐(0) 编辑
摘要: 最近在研究各种姿势的 HOOK,虽然 HOOK 这个东西已经是很久之前就有的技术了,但好在目前应用仍然很广泛,所以老老实实肯大佬们 10 年前啃过的骨头,下面是庄重的代码献祭时刻。 阅读全文
posted @ 2021-07-16 14:07 lyshark 阅读(359) 评论(3) 推荐(0) 编辑
摘要: 全局 Hook 不一定需要用到 Dll ,比如全局的鼠标钩子、键盘钩子都是不需要 Dll 的,但是要钩住 API,就需要 Dll 的协助了,下面直接放上 Dll 的代码,注意这里使用的是 MFC DLL。 阅读全文
posted @ 2021-07-16 14:05 lyshark 阅读(1085) 评论(0) 推荐(0) 编辑
摘要: 首先声明`.text`区段的起始地址是需要计算的,无论是哪个结构体里都不会直接提供某个区段的直接地址(虚拟内存地址),我就是因为想偷懒所以翻了好久的结构体成员列表,结果头都翻炸了还是没找到。 阅读全文
posted @ 2021-07-16 14:01 lyshark 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 输出特定进程所在位置的完整路径,并输出路径。 阅读全文
posted @ 2021-07-16 13:58 lyshark 阅读(1586) 评论(0) 推荐(0) 编辑
摘要: 实现在应用层下遍历输出驱动文件路径列表信息。 阅读全文
posted @ 2021-07-16 13:46 lyshark 阅读(385) 评论(0) 推荐(0) 编辑
摘要: 首先感谢cyxvc老哥,他的代码可读性超高,精简有用以理解,我找这方面的资料好久了,这篇文章对我帮助很大。 参考代码: #include "stdafx.h" #include <Windows.h> extern void DirectoryString(DWORD dwIndex); int _ 阅读全文
posted @ 2021-07-16 13:44 lyshark 阅读(879) 评论(1) 推荐(0) 编辑
摘要: 之前写外挂做过指定进程的 Hook,但是没有尝试过全局 Hook,所以今天就来试试。全局 Hook 的用途我第一个就想到了键盘记录器,那就写一个吧。 阅读全文
posted @ 2021-07-16 13:42 lyshark 阅读(1690) 评论(0) 推荐(0) 编辑
摘要: 实现获取指定进程中特定模块的枚举以及得到该模块入口地址等信息。 阅读全文
posted @ 2021-07-16 13:40 lyshark 阅读(2232) 评论(0) 推荐(0) 编辑
摘要: 读注册表 // 初始化 HKEY hKey_return = NULL; // 打开注册表失败 if(ERROR_SUCCESS != RegOpenKeyEx( HKEY_LOCAL_MACHINE, // 注册表根键句柄(也可以是 HKEY_CLASSES_ROOT、HKEY_CURRENT_U 阅读全文
posted @ 2021-07-16 13:38 lyshark 阅读(1022) 评论(0) 推荐(0) 编辑
摘要: 递归遍历文件夹,对比文件md5 首先,需要引用 md5 的相关代码,参考这篇文章,防止链接内容被删除,这里再记录一次: md5.h #ifndef MD5_H #define MD5_H #include <string> #include <fstream> /* Type define */ t 阅读全文
posted @ 2021-07-16 13:36 lyshark 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 得到当前运行操作系统版本号,用于判断系统版本,在安全开发中还是经常被使用到的一段代码片段。 阅读全文
posted @ 2021-07-16 13:30 lyshark 阅读(1406) 评论(0) 推荐(0) 编辑
摘要: 得到特定PE文件内的导出表信息,并输出。 阅读全文
posted @ 2021-07-16 13:28 lyshark 阅读(402) 评论(0) 推荐(0) 编辑

loading... | loading...
博客园 - 开发者的网上家园