摘要:
最近去了一次面试,面试官问道这个进程的自建堆和默认堆的相关问题,我当时感觉答的并不是很好,这时候我决定好好整理一下相关知识跟大家分享。 进程默认堆: Windows许多重要的函数都用Unicode字符和Unicode字符串来执行它们所有的操作。如果我们调用的是一个函数的ANSI版本,那么该函数的AN 阅读全文
摘要:
在Windows中,在同一台机器上共享数据的最底层的机制就是内存映射文件。所以,所有进程间通讯机制,都会用到内存映射文件。 这种数据共享机制是通过让两个或多个进程映射同一个文件映射对象得视图实现的,这意味着在进程间共享相同的物理存储界面。因此,当一个进程在文件映射对象视图中写入数据的时候,其他进程会 阅读全文
摘要:
剪切板是一个存在于全局内存的一个容器,剪切板操作一般分为四个步骤: 1) OpenClipboard 先打开剪切板 2) EmptyClipboard 清空原来已经有的内容 3) SetClipboardData 写入现在的内容 4) CloseClipboard 关闭剪切板 这里我就不给出例子了, 阅读全文
摘要:
套接字,是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的两方的一种约定,用套接字中的相关函数来完成通信过程。按照往例,话不多说,直接上Demo: Server端: Client端: 阅读全文
摘要:
管道分为命名管道和匿名管道,首先我们谈一下命名管道。 一。命名管道(Named Pipe) 命名管道双向,跨网络,任何进程都可以轻易的抓住,放进管道的数据有固定的格 式,而使用ReadFile()只能读取该大小的倍数。 其实管道的使用方法与文件类似,都能使用read,write,open等普通IO函 阅读全文
摘要:
邮件槽提供了不可靠的单向数据传输,但是邮件槽支持多播。邮件槽服务器使用CreateMailslot函数来创建一个邮件槽。C热阿特Mailslot接受形如"\\.\\Mailslot\MailslotName"(客户可以指定"\\.\"为本地计算机)的UNC名称作为一个输入的参数。如命名管道一样,邮件 阅读全文
摘要:
本程序可完美获得x64和x86程序PEB,及环境变量等信息。 程序首先用OpenProcess打开目标进程,然后用Ntddl.dll导入表中微软未公开函数NtWow64QueryInformationProcess64(NtQueryInformationProcess)、NtWow64ReadVi 阅读全文
摘要:
在C++中执行cmd指令的两种方法: 方法1: 方法2: 相关提醒: 1.使用这两个函数时不需要另外添加头文件,因为system函数声明在了stdlib.h中,而WinExec函数声明在了WinBase.h中。 2.一定要注意两种方法的区别,具体如下所示: system函数在执行时,不会顺序执行接下 阅读全文
摘要:
Python是个好工具,但是也有其固有的一些缺点。最近在学习网页爬虫时就遇到了这样一种问题,中文网站爬取下来的内容往往中文显示乱码。看过我之前博客的同学可能知道,之前爬取的一个学校网页就出现了这个问题,但是当时并没有解决,这着实成了我一个心病。这不,刚刚一解决就将这个方法公布与众,大家一同分享。 首 阅读全文
摘要:
最近对网络爬虫比较感兴趣,正巧赶上学习Python阶段,于是准备用这把加农炮来实现我的网络爬虫学习之路。本次学习就由我所在学校的教务系统作为实验对象,哇咔咔,尽情的血虐教务系统吧!(不过好像暴露我的身份了,没关系,技术为尊)。 在进行我们的爬虫实验前,我们先要了解我们浏览器是如何工作的。关于HTTP 阅读全文