摘要:
简介 我们经常看见有一些程序开始执行时会释放一些文件,以便于后续操作。例如一些病毒为了便于传播和隐藏,经常把一些需要用的动态库或是驱动文件打包进一个可执行文件中,再由需要使用的时候,再临时释放和加载。接下来笔者就将演示如何将DLL打包进文件,并实现动态释放和加载。 实现流程 开发工具:Visual 阅读全文
摘要:
简介 信号量是维护0到指定最大值之间的同步对象。信号量状态在其计数大于0时是有信号的,而其计数是0时是无信号的。信号量对象在控制上可以支持有限数量共享资源的访问,可以用于线程同步,预防死锁等领域。 信号量的特点和用途可用下列几句话定义: (1)如果当前资源的数量大于0,则信号量有效; (2)如果当前 阅读全文
摘要:
简介 Windows互斥对象机制。 只有拥有互斥对象的线程才有访问公共资源的权限,因为互斥对象只有一个,所以能保证公共资源不会同时被多个线程访问,在线程同步与保证程序单体运行上都有相当大的用处。 代码样例 //////////////////////////////// // // FileName 阅读全文
摘要:
简介 在我们编写程序的时候,经常会注意到的一个问题就是如何能够让程序只运行一个实例,确保不会让同一个程序多次运行,从而产生诸多相同进程,给我们的带来不便呢?那么常用的有以下四种方法,第一种方法是通过 扫描进程列表比对进程名 来检测,第二种方法是通过 枚举程序窗口 的方式,第三种方法是采用 共享全局变 阅读全文
摘要:
简介 键盘记录功能一直是木马等恶意软件窥探用户隐私的标配,那么这个功能是怎么实现的呢?在Ring3级下,微软就为我们内置了一个Hook窗口消息的API,也就是 SetWindowsHookEx 函数,这个函数能够实现优先拦截提交给特定窗口的信息,并进行拦截者需要的处理,然后再提交给窗口函数或是下一个 阅读全文
摘要:
简介 Windows在线程控制方面提供了多种信号处理机制,其中一种便是使用 CreateEvent() 函数创建事件,然后使用信号控制线程运行。其中将事件变为有信号可使用 SetEvent() 函数,将事件信号复位(变为无信号)可使用 ResetEvent() 函数,信号可以配合 WaitForSi 阅读全文
摘要:
简介 C++中关于多线程的内容对于构建工程来说是至关重要的,C++本身也对关于多线程的操作提供了很好的支持。本章笔者就来介绍一下C++有关于多线程的重要知识点 临界区 。 临界区的作用 线程就像是进程的影子,可以帮助进程几乎在同一个时间内执行更多的任务。但是由于线程不占有资源,所有的线程共享进程的资 阅读全文
摘要:
简介 爬虫闯关链接: 1. http://www.heibanke.com/accounts/login/?next=/lesson/crawler_ex04/ 2. http://www.heibanke.com/lesson/crawler_ex04/ 3. http://www.heibank 阅读全文
摘要:
简介 爬虫闯关链接 : 1. http://www.heibanke.com/accounts/login/?next=/lesson/crawler_ex03/ 2. http://www.heibanke.com/accounts/login 知识点: cookie & session , cs 阅读全文
摘要:
简介 爬虫闯关链接: 1. http://www.heibanke.com/accounts/login/?next=/lesson/crawler_ex02/ 2. http://www.heibanke.com/accounts/login 知识点: cookie & session , csr 阅读全文