04 2020 档案
摘要:strncpy_s( _Out_writes_z_(_SizeInBytes) char* _Destination, _In_ rsize_t _SizeInBytes, _In_reads_or_z_(_MaxCount) char const* _Source, _In_ rsize_t _M
阅读全文
摘要:#pragma once #ifndef SHA1_H #define SHA1_H #include "stdint.h" typedef struct { uint32_t state[5]; uint32_t count[2]; unsigned char buffer[64]; } SHA1
阅读全文
摘要://base64加密函数 string Encode(const unsigned char* Data, int DataByte) { //编码表 const char EncodeTable[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrst
阅读全文
摘要:头文件:#include <atlconv.h> USES_CONVERSION; char* pszDllFileName = T2A(m_Edit_DllName);
阅读全文
摘要:通过计划任务实现开机自启动 通过注册表实现开机自启动 内存直接加载运行DLL文件 创建进程API APC注入 突破SESSION 0隔离的远程线程注入 全局钩子注入 MFC —— 资源文件释放(为了程序更简洁) 删除空白代码块 根据进程名获取进程PID HOOK函数ZwQuerySystemInfo
阅读全文
摘要://判断当前系统是否是32位 是32位返回TRUE 不是返回FALSE BOOL CHideDlg::IsSystem32() { SYSTEM_INFO si = { 0 }; GetNativeSystemInfo(&si); if (si.wProcessorArchitecture == P
阅读全文
摘要:第一步:拷贝C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\Remote Debugger 文件夹下x86或者x64(根据虚拟机中系统位数确定)到虚拟机中 在虚拟机中启动刚拷贝过来的文件中的msvsm
阅读全文
摘要:提权原理: COM提升名称(COM Elevation Moniker)技术允许运行在用户账户控制下的应用程序用提升权限的方法来激活COM类,以提升COM接口权限。同时,ICMLuaUtil接口提供了ShellExec方法来执行命令,创建指定进程。因此,我们可以利用COM提升名称来对ICMLuaUt
阅读全文
摘要://获取当前程序所在路径 char pszFileName[MAX_PATH] = { 0 }; GetModuleFileName(NULL, pszFileName, MAX_PATH); //获取当前程序所在目录 (strrchr(pszFileName, '\\'))[0] = 0; //拼
阅读全文
摘要:00EA841C |. /75 6A JNZ SHORT taskmgr.00EA8488 00EA841E |. |8D4D F4 LEA ECX,[LOCAL.3] 00EA8421 |. |51 PUSH ECX ; /pResult 00EA8422 |. |68 F4010000 PUSH
阅读全文
摘要:步骤: 加载函数所在的模块,获取要Hook的函数地址 根据要hook函数的原型创建自己的函数 计算偏移 = 自己创建的函数的地址 - 要Hook的函数地址 - 5,第一个字节为0xE9,构成无条件跳转指令 修改目标页属性,是其可读可写可执行 将前面构造的无条件跳转写入Hook函数地址处,大小为5字节
阅读全文
摘要:原理: 打开目标进程以后,将要注入的动态库的路径写入这个地址空间,然后调用开启远程线程的函数,来执行LoadLibraryA或者LoadLibraryW(其实不存在LoadLibrary这个函数,他只是一个宏,如果是UNICODE环境的话会调用LoadLibraryW,否则就是LoadLibrary
阅读全文
摘要:使用场景: 病毒木马想要实现一些关键的系统操作时。 比如:通过调用ExitWindows函数实现关机或重启操作的时候就需要SE_SHUTDOWN_NAME权限 否则,会忽视操作不执行 实现原理: 获取进程的访问令牌,然后将访问令牌的权限修改为指定权限。但是系统内部并不直接识别权限名称,而是识别LUI
阅读全文
摘要:1.加入 IDC_STATIC1 静态文本控件。 2.为文本控件添加 STATIC 型变量 3.在OnInitDialog函数中添加以下代码 //设置该静态控件为显示位图的 m_bitmap.ModifyStyle(0, SS_BITMAP | SS_CENTERIMAGE); //获取控件窗口大小
阅读全文
摘要:void CBiaoBai1Dlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } //加上这步判断 el
阅读全文
摘要:前因: 本来想用MFC做一个按不了的按钮(鼠标移动到按钮上方,按钮就会移走),使用WM_MOUSEMOVE消息发现 鼠标在按钮上时不会给父窗口发送WM_MOUSEMOVE消息 解决办法: 使用SetCapture()函数捕获鼠标消息 setCapture捕获以下鼠标事件:onmousedown、on
阅读全文
摘要:// 0 创建服务 1 启动服务 2 停止服务 3 删除服务 BOOL CStartSelfDlg::SystemServiceOperate(char *lpszDriverPath, int iOperateType) { BOOL bRet = TRUE; char szName[MAX_PA
阅读全文
摘要:实现原理: windows系统有自带的快速启动文件夹,只要把程序(一般是程序快捷方式)放入到这个快速启动文件夹中,系统在启动时就会自动地加载并运行相应的程序,实现开机自启动功能。 注意:快速启动目录并不是一个固定的目录,每台计算机的快速启动目录都不相同。需要使用 SHGetSpecialFolder
阅读全文