摘要:原理:Windows系统支持剪贴板IPC的基本机制是由系统预留的一块全局共享内存,可用于被各进程暂时存储数据。写入进程首先创建一个全局内存块,并将数据写到该内存块;接受数据的进程通过剪贴板机制获取此内存块的句柄,并完成对该内存块数据的读取。 Windows系统在USER32.dll中为剪贴板提供了一
阅读全文
摘要:堆栈的区别: 一、堆栈空间分配区别: 1、栈(操作系统):由操作系统自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈; 2、堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。 二、堆栈缓存方式区别: 1、栈使用
阅读全文
摘要:// SoftWareManagerDlg.cpp : 实现文件 // #include "stdafx.h" #include "SoftWareManager.h" #include "SoftWareManagerDlg.h" #include "afxdialogex.h" #include "MyList5.h" #ifdef _DEBUG #define new DEBUG_NEW...
阅读全文
摘要://////////////leo/////////// ///////IE information/////// bool SoftInfo(SOCKET s,WSAEVENT hEvent) { SOFTINFO softinfo; DWORD retLen; HKEY m_key,m_key2; char m_SubKey[255]="SOFTWA...
阅读全文
摘要:#ifndef USE_H_ #define USE_H_ #include #include #include using namespace std; //字符类型 wchar_t char //获取字符长度 wcslen() strlen() //连接两个字符串 wcscat() strcat() //复制字符...
阅读全文
摘要:USN是Update Service Number Journal or Change Journal的英文缩写,直译为“更新序列号”,是对NTFS卷里所修改过的信息进行相关记录的功能。当年微软发布Windows 2000时,建立NTFS 5.0的同时,加入了一些新功能和改进了旧版本的文件系统,为它
阅读全文
摘要:void CAAADlg::OnSysrise() { // TODO: 在此添加命令处理程序代码 ::ShowWindow(m_hWnd, SW_HIDE); // 2. 获取当前程序路径 WCHAR szApplication[MAX_PATH] = { 0 }; DWORD cchLength = _countof(szApplication); ...
阅读全文
摘要:BOOL EnableDebugPri64() { typedef long (__fastcall *pfnRtlAdjustPrivilege64)(ULONG,ULONG,ULONG,PVOID); pfnRtlAdjustPrivilege64 RtlAdjustPrivilege; DWORD dwRetVal = 0;...
阅读全文
摘要://读取操作系统的名称 void CPCHunterDlg::GetSystemName(CString& osname) { SYSTEM_INFO info; //用SYSTEM_INFO结构判断64位AMD处理器 GetSystemInfo(&info); //调用GetSystemInfo函数填充结构 OSVERSIONINFOEX os;...
阅读全文
摘要:参考链接:http://www.cnblogs.com/HsinTsao/p/6399459.html 自己感觉这个方法不行
阅读全文
摘要:Github上看到的一个Demo:https://github.com/cetfor/AntiDBG 检测一个Demo是否被调试 无非就是从四个方面进行入手: 内存 通过查询窗口、父进程、PEB、DbgPort等标志位检测 CPU 通过CTX标志位进行判断 时间 通过比较时间确定是否被调试 异常 各
阅读全文
摘要:http://www.pediy.com/kssd/pediy11/111876.html 三种断点分别对应的异常类型及处理: 1. 软件断点(INT3):对应的异常是 EXCEPTION_BREAKPOINT,处理方式为恢复代码为原来字节,并将EIP减一,并设置单步以便进入单步后重新设置这个一般断
阅读全文
摘要:// Class.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> #include <Windows.h> using namespace std; class Base //Derive的间接基类 { public:
阅读全文
摘要:在X86Windows中,函数通过以下步骤来参与SEH: 1.在自身的栈空间中分配并初始化一个EXCEPT_REGISTRATION(_RECORD)结构体。 2.在该EXCEPTION_REGISTRATION(_RECORD)挂入当前进程的异常链表。 当某个函数触发异常时,系统首先通过调用KiD
阅读全文
摘要:参考链接:http://www.dewen.net.cn/q/302/ INT 0x2E在系统调用的时候,需要进行栈切换的工作。由于Interrupt/Exception Handler的调用都是通过 call/trap/task这一类的gate来实现的,这种方式会进行栈切换,并且系统栈的地址等信息
阅读全文
摘要:1 先入先出法(FIFO)最简单的页面置换算法是先入先出(FIFO)法。这种算法的实质是,总是选择在主存中停留时间最长(即最老)的一页置换,即先进入内存的页,先退出内存。理由是:最早调入内存的页,其不再被使用的可能性比刚调入内存的可能性大。建立一个FIFO队列,收容所有在内存中的页。被置换页面总是在
阅读全文
摘要:一、首次适应算法 使用该算法进行内存分配时,从空闲分区链首开始查找,直至找到一个能满足其大小要求的空闲分区为止。 然后再按照作业的大小,从该分区中划出一块内存分配给请求者,余下的空闲分区仍留在空闲分区链中。 该算法倾向于使用内存中低地址部分的空闲分区,在高地址部分的空闲分区很少被利用,从而保留了高地
阅读全文
摘要:一、Ring3层方法总结 1)利用Createtoolhelp32Snapshot Createtoolhelp32Snapshot会返回当前进程的进程快照句柄 通过 Process32First 和 Process32Next枚举进程 1 #include "stdafx.h" 2 #includ
阅读全文
摘要:1 // STL应用.cpp : 定义控制台应用程序的入口点。 2 // 3 4 #include "stdafx.h" 5 #include <iostream> 6 #include <list> 7 #include <vector> 8 #include <map> 9 #include <
阅读全文
摘要:代码有点乱 但是我不想整理 1 // AddBoxDlg.cpp : 实现文件 2 // 3 4 #include "stdafx.h" 5 #include "AddBox.h" 6 #include "AddBoxDlg.h" 7 #include "afxdialogex.h" 8 #incl
阅读全文