随笔分类 -  c++

1 2 3 下一页

Ring3 读取SSDT
摘要:zwSystemDebugControl 阅读全文

posted @ 2017-07-11 18:45 yifi 阅读(286) 评论(0) 推荐(0)

User Mode Scheduling
摘要:UMS线程有它们自己的内核线程状态,因此对于内核是可见的,这使得多个UMS线程都可以发出阻塞的系统调用、对资源进行共享或竞争,并且有每个线程特有的状态。然而,只要两个或多个UMS线程需要在用户模式下执行工作,它们可以周期行的切换执行环境(做饭是,一个线程让出执行权给另一个线程)而无需涉及内核调度器: 阅读全文

posted @ 2017-05-27 10:05 yifi 阅读(576) 评论(0) 推荐(0)

首次异常和二次异常
摘要:调试器通常有两次机会来处理同一个异常:首次处理异常和二次处理异常。调试器第一次附加到进程时,会发生一个异常,然后被调试的程序停止执行,此时调试器开始获得控制权。调试器可以自己处理异常,也可以将异常转给被调试的应用程序处理 如果程序注册了一个异常处理函数,他会在调试器处理异常后,获取处理异常的权限。 阅读全文

posted @ 2017-04-26 11:09 yifi 阅读(1053) 评论(0) 推荐(0)

CreateRemoteProcess
摘要:挂起目标线程,然后把其eip指针指向我们事先设定好的代码区域(shellcode),shellcode负责在目标进程中创建线程,创建完成后,控制传回原来被我们改过的eip的线程。 1)获取目标进程的主线程并将其挂起 2)取得进程上下背景文,保存eip值到orgEip 3)通过结合orgEip创建可以 阅读全文

posted @ 2017-04-21 22:44 yifi 阅读(649) 评论(0) 推荐(0)

Sunday算法
摘要:首先i,j两个指针指示的位置(从头开始匹配),当发现失配的时候就判断子串的后一位在母串的字符是否在子串中存在? 若存在则将该位置和子串中的该字符对齐,再从头开始匹配; 若不存在 直接向后移动l2; 阅读全文

posted @ 2017-04-14 14:54 yifi 阅读(195) 评论(0) 推荐(0)

求 1+2+...+n, 要求不能使用乘除法、for、while、if、else、switch、case 等关键字以及条件判断语句 (A?B:C)。
摘要:求 1+2+...+n,要求不能使用乘除法、for、while、if、else、switch、case 等关键字以及条件判断语句 (A?B:C)。 阅读全文

posted @ 2017-04-14 08:52 yifi 阅读(431) 评论(0) 推荐(0)

strlen实现
摘要:size_t my_strlen(const char* str) { const char* ptr = str; for (; ((int)ptr & 0x03) != 0; ++ptr) { if (*ptr == '\0') return ptr - str; } unsigned int* ptr_d =... 阅读全文

posted @ 2017-04-11 21:05 yifi 阅读(235) 评论(1) 推荐(0)

strcpy实现
摘要:#include #include using namespace std; void* my_memcpy(void* dest,const void* src,unsigned int count) { if (dest == NULL || src == NULL) { return NULL; } void * ret = d... 阅读全文

posted @ 2017-04-11 09:09 yifi 阅读(187) 评论(0) 推荐(0)

LRU
摘要:// LRU.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include #include #include using namespace std; void LRU() { vector v; cout > L1; cout ::iter... 阅读全文

posted @ 2017-04-06 11:34 yifi 阅读(199) 评论(0) 推荐(0)

Hot-Patching技术
摘要:解决多线程的inlineHook 一个需要正常的API 一个需要Hook的API 7602285F nop 76022860 nop 76022861 nop 76022862 nop 76022863 nop 76022864 mov edi,edi 完美解决 阅读全文

posted @ 2017-04-02 17:00 yifi 阅读(364) 评论(0) 推荐(0)

呵呵
摘要:#include using namespace std; template Type maxx(Type a,Type b) { return (a > b)?a:b; } int main() { char a[] = "yifiii"; char b[] = "aifii"; cout << maxx(a,b) <<endl; } 阅读全文

posted @ 2017-03-28 19:50 yifi 阅读(138) 评论(0) 推荐(0)

VEH、VCH、SEH、UEF
摘要:VEH:向量化异常处理程序(进程相关)VCH:向量化异常处理程序,总是在最后调用(进程相关)SEH:结构化异常处理程序,fs:[0](线程相关)UEF:TopLevalEH,基于SEH的 EH全称就是ExceptionHandler,中文意为异常处理器。EH(异常处理程序)是做什么的呢,就是当程序发 阅读全文

posted @ 2017-03-24 10:55 yifi 阅读(1369) 评论(0) 推荐(0)

指针与引用的区别
摘要:指针 存地址 引用 变量别名 (1)指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元; 引用跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。如: int a=1;int *p=&a; int a=1;int &b=a; 上面定义了一个整形变量和一个指针变量p 阅读全文

posted @ 2017-03-23 16:12 yifi 阅读(133) 评论(0) 推荐(0)

循环队列
摘要:/* Name: 循环队列 Copyright: Author: yifi Date: 23/03/17 15:12 Description: */ #include #include using namespace std; template class CycleQueue{ private: unsigned ... 阅读全文

posted @ 2017-03-23 15:24 yifi 阅读(169) 评论(0) 推荐(0)

模拟键盘事件
摘要:/* Name: 模拟鼠标点击事件 Copyright: Author: yifi Date: 23/03/17 14:31 Description: mouse_event(MOUSEEVENTF_XDOWN,0,0,0,0); mouse_event(MOUSEEVENTF_XUP,0,0,0,0); */ #include ... 阅读全文

posted @ 2017-03-23 14:46 yifi 阅读(363) 评论(0) 推荐(0)

模拟鼠标事件
摘要:/* Name: 模拟鼠标点击事件 Copyright: Author: yifi Date: 23/03/17 14:31 Description: mouse_event(MOUSEEVENTF_XDOWN,0,0,0,0); mouse_event(MOUSEEVENTF_XUP,0,0,0,0); */ #include ... 阅读全文

posted @ 2017-03-23 14:33 yifi 阅读(387) 评论(0) 推荐(0)

进程间通信——— 匿名管道
摘要:第一:匿名管道只能实现本地进程之间的通信,不能实现跨网络之间的进程间的通信。 第二:匿名管道只能实现父进程和子进程之间的通信,而不能实现任意两个本地进程之间的通信。 第三:所需要的系统的开销也就比命名管道小很多,这也许是匿名管道存在的价值吧。 阅读全文

posted @ 2017-03-21 20:55 yifi 阅读(181) 评论(0) 推荐(0)

进程间通信——— LPC
摘要:参考链接:http://bbs.pediy.com/thread-144492.htm LPC即是”本地过程调用(Local Procedure Call)”。 端口是一种面向连接的通信机制,通信的双方需要先建立起“连接”。这种连接一般建立在用户进程之间。在建立了连接的双方之间有几种交换报文的方法: 阅读全文

posted @ 2017-03-21 20:54 yifi 阅读(2434) 评论(0) 推荐(0)

进程间通信——— 命名管道
摘要:#include "NamedPipeServer.h" #include using namespace std; CNamedPipeServer::CNamedPipeServer() { } CNamedPipeServer::~CNamedPipeServer() { } void CNamedPipeServer::CreateNamedPipeInServer() ... 阅读全文

posted @ 2017-03-21 20:47 yifi 阅读(289) 评论(0) 推荐(0)

进程间通信——— 油槽(Mailslot)
摘要:/*邮槽(Mailslot)也称为邮件槽,其是 Windows 提供的一种用来实现进程间通信的手段, 其提供的是基于不可靠的,并且是单向数据传输的服务。 邮件槽只支持单向数据传输,也就是服务器只能接收数据,而客户端只能发送数据, 何为服务端?何为客户端? 服务端就是创建邮槽的那一端,而客户端就是已存在的邮件槽的那一端。 还有需要提及的一点是,客户端在使用邮槽发送数据的时候只有当数据的长... 阅读全文

posted @ 2017-03-21 20:45 yifi 阅读(1122) 评论(1) 推荐(0)

1 2 3 下一页

导航