
Windows原理
FFE4
业余病毒分析
展开
-
Example of Windows Named Pipe Communication between Server and Client
服务端代码:#include <iostream>#include <windows.h>using namespace std;int main(){ HANDLE hPipe = INVALID_HANDLE_VALUE; const char* lpszPipename = ("\\\\.\\pipe\\namedpipe_td"); do { hPipe = CreateNamedPipeA(lpszPipenam.原创 2020-05-09 16:26:22 · 311 阅读 · 0 评论 -
CFG保护机制校验逻辑分析
CFG是微软推出的漏洞利用缓解基址,从Windows 8.1开始引入,并且需要编译器的支持,编译器的版本为Virtual Studio 2015 Updated 2版本以上。在开启了CFG支持以后,编译生成exe程序中,所有间接调用前面都会插入一个_guard_check_icall的检查函数,如果系统不支持CFG机制,则该函数不会生效。如:eax,[esi]ecx, eaxcall _...原创 2019-09-24 15:12:00 · 1512 阅读 · 0 评论 -
【Windows原理】异步IO-完成端口(IOCP)
// 同步IO的缺点是, 在读写文件时, 如果文件太大, 或者读写的时间太长, 就会在读写函数中// 阻塞住. // 异步IO解决了这个问题, 异步IO读写文件时, 文件再大也不会阻塞住// 但是异步IO要完成这样的特性是有一点付出的// 异步读写文件后, 需要通过一些方式才能知道文件读写(IO任务)什么时候完成. // 这里讲的是第四个方式, 通过完成端口来处理已完成的IO任务//...原创 2018-12-26 21:37:20 · 1378 阅读 · 0 评论 -
【Windows原理】异步IO-_APC(异步过程调用)
// 同步IO的缺点是, 在读写文件时, 如果文件太大, 或者读写的时间太长, 就会在读写函数中// 阻塞住. // 异步IO解决了这个问题, 异步IO读写文件时, 文件再大也不会阻塞住// 但是异步IO要完成这样的特性是有一点付出的// 异步读写文件后, 需要通过一些方式才能知道文件读写(IO任务)什么时候完成. // 这里讲的是第三个方式, 通过设置IO完成函数来处理已完成的IO任...原创 2018-06-10 01:51:51 · 867 阅读 · 0 评论 -
【Windows原理】IO异步-等待事件对象
/*同步IO的缺点是, 在读写文件时, 如果文件太大, 或者读写的时间太长, 就会在读写函数中阻塞住. 异步IO解决了这个问题, 异步IO读写文件时, 文件再大也不会阻塞住但是异步IO要完成这样的特性是有一点付出的异步读写文件后, 需要通过一些方式才能知道文件读写(IO任务)什么时候完成. 这里讲的是第二个方式, 通过等待事件对象的信号来处理已完成的IO任务异步IO中, 无论是R...原创 2018-06-10 01:51:23 · 571 阅读 · 0 评论 -
【Windows原理】线程同步-信号量
#include "stdafx.h"#include <windows.h>int g_num = 0;HANDLE g_hSemaphore = nullptr;DWORD WINAPI ThreadProc(LPVOID lpParam){ for (int i = 0; i < 5;i++) { // WaitForSing...原创 2018-06-10 01:50:53 · 236 阅读 · 0 评论 -
【Windows原理】线程同步-事件对象2
#include "stdafx.h"#include <windows.h>HANDLE g_hEventA = nullptr;// 三个只读线程DWORD WINAPI ThreadProcA(LPVOID lpParam){ WaitForSingleObject(g_hEventA, INFINITE); // 字数计算 return ...原创 2018-06-10 01:50:23 · 167 阅读 · 0 评论 -
【Windows原理】线程同步-事件对象
#include "stdafx.h"#include <windows.h>HANDLE g_hEventA = nullptr;HANDLE g_hEventB = nullptr;DWORD WINAPI ThreadProcA(LPVOID lpParam){ /* * 如果是自动状态 * WaitForSingleObject成功后会把等待对象...原创 2018-06-10 01:49:35 · 329 阅读 · 0 评论 -
【Windows原理】线程同步-互斥体
#include "stdafx.h"#include <windows.h>int g_num = 0;HANDLE g_hMutex = nullptr;DWORD WINAPI ThreadProcA(LPVOID lpParam){ for (int i = 0; i < 5;i++) { //等待g_hMutex信号,如果有信...原创 2018-06-10 01:48:45 · 418 阅读 · 0 评论 -
【Windows原理】线程同步-临界区
#include "stdafx.h"#include <windows.h>int g_nNum = 0;CRITICAL_SECTION g_section = {0};DWORD WINAPI ThreadProcA(LPVOID lpParam){ /* * 判断有没有人进入临界区,如果有,我就等它返回Leave * 如果没人占用,我就...原创 2018-06-10 01:48:08 · 207 阅读 · 0 评论 -
【Windows原理】线程同步-原子锁
#include "stdafx.h"#include <wtypes.h>int g_n;DWORD WINAPI ThreadPro1(LPVOID lpThreadParameter){ for (int i = 0; i < 100000;i++) { // 两个线程必须都锁住,不锁的不受影响 Interlocked...原创 2018-06-10 01:46:27 · 505 阅读 · 0 评论