随笔分类 - 各种demo实现
各种用代码实现的程序
反调试--CRC检测
摘要:#include"CRC32.h" #include<Windows.h> #include<iostream> using namespace std; void test1() { int a = 1; cout << "1111111111111111111111" << endl; } vo
阅读全文
Windows内核--通用IRP派遣函数的编写
摘要:1 void IrpTest(PDRIVER_OBJECT DriverObject) 2 { 3 DriverObject->MajorFunction[IRP_MJ_CREATE] = HelloDDKDispatchRoutin; 4 DriverObject->MajorFunction[I
阅读全文
Windows内核--交互注册表Reg
摘要:void RegTest()//内核的操作Reg函数和User下的函数不一样 { RawCreateOpenRegTest(); EasyOpenRegTest(); EditReg(); QueryReg(); } void RawCreateOpenRegTest() //内核的操作Reg函数和
阅读全文
Windows内核--文件交互.demo
摘要:void FileTest() { //进行文件相关操作 //创建文件 CreateFileTest(); //打开文件 OpenFileTest(); //修改或获取文件属性 ModifyFileAttributesTest(); //读写文件 ReadFileTest(); WriteFileT
阅读全文
Windows内核--运行时函数(内存相关).demo
摘要:运行时函数就是编译器会根据你写的底层的硬件再将你自己写的调用了API的代码翻译成底层可以用的代码。 1 #define BUFFER_SIZE 1024 2 void RtlTest() 3 { 4 PUCHAR pBuffer = (PUCHAR)ExAllocatePool(PagedPool,
阅读全文
Windows内核--Lookaside例子程序.demo
摘要:1 typedef struct _MYDATA { 2 LIST_ENTRY ListEntry; 3 ULONG X; 4 ULONG Y; 5 }MYDATA, * PMYDATA; 6 void LookasideTest() 7 { 8 //初始化Lookaside对象 9 PAGED_L
阅读全文
Windows内核--使用内核链表.demo
摘要:typedef struct _MYDATA { LIST_ENTRY ListEntry; ULONG X; ULONG Y; }MYDATA, * PMYDATA; void LinkListTest() { LIST_ENTRY linkListHead;//链表头 InitializeLis
阅读全文
Windows内核驱动--实现修改线程优先级demo
摘要:在User下修改优先级比较麻烦,该驱动可以直接用线程ID,和优先级级数两个参数直接修改线程的优先级: Client代码: #include <Windows.h> #include <stdio.h> #include "..\PriorityBooster\PriorityBoosterCommo
阅读全文
Windows内核-显示OS的版本
摘要:Windows内核-显示OS的版本 显示OS的major,minor,build版本Number: #include <ntddk.h>void SampleUnload(_In_ PDRIVER_OBJECT DriverObject){ UNREFERENCED_PARAMETER(Drive
阅读全文
简单TLS代码实现
摘要:1 #include<Windows.h> 2 #include<iostream> 3 using namespace std; 4 _declspec(thread) int g_number = 100; 5 HANDLE hEvent1 = CreateEvent(NULL, FALSE,
阅读全文
PE文件解析-各种头解析代码实现
摘要:1 #ifndef __CPEUTIL_H__ 2 #define __CPEUTIL_H__ 3 #include<Windows.h> 4 #include<iostream> 5 class CPeUtil 6 { 7 public: 8 CPeUtil(); 9 ~CPeUtil(); 10
阅读全文
获取PE头的内容
摘要:1 #include<iostream> 2 #include<Windows.h> 3 using namespace std; 4 5 /* 6 获取可执行程序PE结构的流程 7 1 将一个可执行程序完整拷贝给一个缓冲区来处理 8 2 获取DOS头内容 9 3 利用DOS头中的lfanew偏移找
阅读全文
PE头解析
摘要:1 #include<iostream> 2 #include<Windows.h> 3 using namespace std; 4 5 int main() 6 { 7 HANDLE hFile = CreateFile(L"E:\\Project_Sum\\CC++\\test\\test\\
阅读全文
判断文件是否为PE文件-C/C++实现
摘要:1 #include<iostream> 2 #include<Windows.h> 3 using namespace std; 4 5 int main() 6 { 7 HANDLE hFile = CreateFile(L"E:\\Project_Sum\\CC++\\test\\test\\
阅读全文
图的深度优先遍历代码实现
摘要:void DFS_stack(Vertex& TestVertex) { vector<bool> v1;//利用数组来表示是否被遍历过并初始化 v1.resize(MAXNODE); for (int i = 0; i < MAXNODE; i++) { v1[i] = false; } stac
阅读全文
利用队列实现图的广度优先遍历
摘要:void DFS_queue(Vertex & TestVertex) { queue<int> Q1; //创建一个队列来存储节点对应在head的位置 vector<bool> V1; //创建一个数组来表示该节点是否被遍历过 V1.resize(MAXNODE); for (int i = 0;
阅读全文
有向图的邻接表
摘要:1 #include<iostream> 2 #include<string.h> 3 #define MAXNODE 100 //最多100个顶点 4 using namespace std; 5 6 typedef char VertexInfo[9];//定义顶点的名字 7 typedef s
阅读全文
有向图邻接矩阵代码实现
摘要:1 //有向图邻接矩阵代码实现 2 3 #include<iostream> 4 using namespace std; 5 #define MaxVertex 50 //最多顶点个数 6 typedef char VertexInfo[9];//定义顶点的名字 7 //定义图的数据结构 8 st
阅读全文
无向图邻接矩阵代码实现
摘要:1 //无向图邻接矩阵代码实现 2 3 #include<iostream> 4 using namespace std; 5 #define MaxVertex 50 //最多顶点个数 6 typedef char VertexInfo[9];//定义顶点的名字 7 //定义图的数据结构 8 st
阅读全文
简单的网络通信编程demo实现--基于linux下的处理
摘要:1 //server.c 2 3 #include<stdio.h> 4 #include<stdlib.h> 5 #include<sys/types.h> 6 #include<sys/socket.h> 7 #include<string.h> 8 #include<unistd.h> 9 #
阅读全文
浙公网安备 33010602011771号