Windows编程-异步IO-1- 当我们读取一个文件时,一般情况下,线程是阻塞的,也就是当前线程在等待文件读取操作结束,也就是这个线程只用来读文件,等读完了再返回。这种方式叫做同步IO。 Windows在系统底层为用户实现了另一种高效的机制,叫做重叠I/O,又称作异步I/O。异步I/O操作提供了一种功
打开VS2019 点这个 自动生成这么一堆代码,全删了,就剩这些就行 然后点这里 然后向CPP里粘贴以下代码 #include "tlhelp32.h" HANDLE hwnd = { 0 }; DWORD PID = 0; DWORD MyFindProcess(PTCHAR pnameBuffer) { HANDLE hHand = CreateToolhelp32Snapshot(TH32CS_SNAPP
修改注册表跳过chrome对flash的限制,不用每次都要允许,那样太麻烦Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\SOFTWARE\Policies\Chromium] "AllowOutdatedPlugins"=dword:00000001 "RunAllFlashInAllowMode"=dword:00000001 "DefaultPluginsSetting"
进程相关操作 函数功能 CreateProcess 创建进程 OpenProcess 打开进程 ExitProcess 退出本进程 TerminateProcess 结束指定进程 WinExec 启动一个进程 ShellExecute 运行一个外部程序,或者打开一个文件目录,文件夹等等 system 控制台命令 CreateToolhelp32Snapsh
结构体 C语言中的结构体是一种复合数据结构,可以将不同数据类型的变量进行封装 一个顺序表结构体 #include <stdio.h> #include <stdlib.h> typedef struct Seqlist { int list[10]; int ptr; }Seqlist; int main(void) { Seqlist* p; p = (Seqlist*)malloc(sizeo
数组 数组是C语言中的一个常见的数据结构,那么数组在汇编语言中是如何表示的呢? 一个简单的一维数组 #include <stdio.h> int main(void) { int array[10] = { 1,2,3,4,5,6,7,8,9,10 }; return 0; } 反汇编如下 5: int array[10] = { 1,2,3,4,5,6,7,8,9,10 }; 00A
C语言中自增/自检运算符 自增/自减运算(后缀型): #include <stdio.h> int main(void) { int x = 1; int y; y = x++; return 0; } 反汇编如下: 5: int x = 1; 00FA4398 mov dword ptr [x],1 6: int y; 7: 8: y = x++; 00FA439F
函数调用是编程语言都有的概念,也许你听说过函数调用栈,但是大家都知道函数调用是如何完成的吗?我们为什么要了解这个过程: 对于程序运行机制中的数据结构和实现的了解,对自己开发程序有着启发作用碰到一些疑难杂症的时候,比如函数栈溢出了或者函数栈破坏了,如何从蛛丝马迹中寻找问
一. 通用寄存器 数据寄存器 EAX, EBX, ECX, EDX (Data Register) 数据寄存器主要用来保存操作数和运算结果等信息,从而节省读取操作数所需占用总线和访问存储器的时间。 32位CPU有4个32位的通用寄存器EAX、EBX、ECX和EDX。对低16位数据的存取,不会影响高16位的数据。这些低16
上一次做完代码段加密后,又接触到了新的加密方式:IAT加密 IAT加密是通过隐藏程序的导入表信息,以达到增加分析程序的难度。因为没有导入表,就无法单纯的从静态状态下分析调用了什么函数,动态调试时,也无法直接从调用处判断出调用的函数。从而增加了程序分析的难度。 IAT加密思路如下: 1.
Windows API学习 以下都是我个人一些理解,笔者不太了解windows开发,如有错误请告知,非常感谢,一切以microsoft官方文档为准。 https://docs.microsoft.com/en-us/windows/win32/api/ VirtualAlloc() https://docs.microsoft.com/zh-cn/windows/win32/api/memoryapi/nf-memoryapi-virtu
1: 计算斐波那契数列前7个数值之和 .386 .model flat,stdcall .stack 4096 ExitProcess PROTO,dwExitCode:DWORD .data .code main PROC mov esi,1 mov edi,1 mov eax,2 mov ecx,5 L1: mov ebx,esi add ebx,edi mov esi,edi mov edi,ebx add eax,ebx loop L
1: LABEL : 为一个标号定义大小属性,但不分配内存与下一个变量共用内存,与C中UNION类似 .386 .model flat,stdcall .stack 4096 ExitProcess PROTO,dwExitCoed:DWORD .data val16 LABEL WORD val32 DWORD 12345678h LongValue LABEL DWORD val1 WORD 5678h val2 WORD 1234h
#include<iostream> #include<Windows.h> #include <limits> #include<stdio.h> #include<locale.h> using namespace std; /* HANDLE CreateFile( LPCTSTR lpFileName, // 指向文件名的指针 DWORD dwDesiredAccess, // 访问模式(写 / 读)如果为 GENERIC_
Windows线程的上下文结构体,struct _CONTEXT结构是与CPU有关的,特定的CPU对应着特定的CONTEXT结构。 线程上下文结构体 x86类型CPU对应的CONTEXT结构文档如下: typedef struct _CONTEXT { DWORD ContextFlags; //在查询的时候需要设置该字段,表示查询哪些其他的CONTEXT结构字段。
Python-负数取余(mod) CSDN 棠牧师 2018-12-25 15:05:39 https://blog.csdn.net/weixin_44252966/article/details/85248165 分类专栏: python知识点 文章标签: Python入门版权负数取余遵循公式: a与d是整数,d非零,那么余数r满足 a=q*d+r,q为整数,且0<=|r|<|d| 通常可能
匿名管道没有名称,所以只能在父进程中调用CreateProcess函数创建子进程时,将管道的读、写句柄传递给子进程。匿名管道只能实现本地机器上两个进程间的通信,而不能实现跨网络的通信。 1. 过程: a. createpipe得到hWrite和hRead两句柄b. 将hWrite和hRead通过createprocess传递给子
Detours HOOK 库 Hook 过滤LoadLibraryExW 一丶简介 1.1 Detours库简介 Detours是微软提供的HOOK库.为我们Hook提供了方便.再也不用手撸 HOOK了.当然手撸比较好.可以锻炼.不过工作中要求效率.所以使用这个库.这个库很强大.对于初学者来说也很简单. 1.2 使用Detours需要注意的问题
在适用mstsc连接winserver服务器的场景下(别问为什么不VNC),可以利用rdp文件等方式减轻连接的操作负担 利用.rdp文件免密登录 rdp文件本质上是一个mstsc的选择,或者不如说mstsc的手动连接窗口是一个由系统管理的rdp文件。 > mstsc --help 在mstsc命令中可以利用已有的rdp文件(中的已
windows系统压测过程中jmeter报错,报错内容为:Address already in use: connect解决方案为:Address already in use : connect的解决办法: 解决方法一:修改操作系统注册表1、打开注册表:regedit2、找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters3、新建
Word2010撤销按钮失效,Ctrl+Z失效解决办法 1、打开注册表编辑器。按Win+R,在运行框中键入regedit,然后单击“确定”。 2、在注册表编辑器中,展开到下列注册表子项: HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Word\Options 3、在“编辑”菜单上,指向“新建”,然后单击“DW
声明:仅技术交流和学习! 前言: 你有没试过在网上下载一套视频,因网盘限速整整开机下载好几晚,下完后打开发现加密了,又找不到卖家注册。心里是几万只草泥马飞奔啊。 于是不甘心和好奇下,偿试自己破解。 目前该软件作者已停止更新。 今天就来分析如何绕过超时代VPY加密视频播放器的播放密
啥也不说了,直接上脚本了,bat 后缀的,有需要的自己改下自己的网址就好,我这里是添加 *.chinatax.gov.cn ,并且写死进注册表的 color 2reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\gov.cn\chinatax" /v * /t REG_DWORD
1、现象 最近在使用jmeter对项目告警接口进行压测的时候,发现jmeter会报java.net.BindException: Address already in use: connect 2、解决办法 打开注册表:ctrl+r 输入regedit 进入-计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 新建DWORD值,na
题目 二进制文件:hello_pwn 环境:220.249.52.133:41097 分析与求解 checksec hello_pwn Arch: amd64-64-little RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x400000) 用IDA64打开。 2. 反编译后查看main函数,基本逻辑是rea