
C++
文章平均质量分 70
iter008
这个作者很懒,什么都没留下…
展开
-
Windows Hook经验总结之二:API Hook实践
前一篇介绍了API Hook的几种方法,本文则直接以CopyFile为例采用DLL注入的方法来展示编码流程。在目标进程中创建远线程执行LoadLibrary将用户DLL加载进来,用户DLL中实现自己的API并修改IAT表项;反注入的过程则完全相反,先在用户DLL中恢复IAT表项,然后在目标进程中创建远线程执行FreeLibrary释放用户DLL。原创 2016-11-17 16:23:27 · 2402 阅读 · 0 评论 -
Windows Hook经验总结之三:Mouse Hook实践
前面已经写过API注入的Hook应用场景,本文则展示Hook的另一个应用场景:安装WH_MOUSE钩子监控mouse事件(keyboard等类似)。原创 2016-11-17 20:33:04 · 3185 阅读 · 0 评论 -
Windows Hook经验总结之四:COM组件Hook原理及实践
前面已经介绍过API的hook方法及具体实践,本文则讲述COM组件的Hook方式。COM组件可简单理解为一个二进制可执行程序或DLL,内部包含一系列的接口和函数。Hook COM本质上也是进行函数地址切换,让它跳到我们自定义的函数执行我们想要的功能。但这一切同样是发生在系统架构下,自定义函数的执行时机不由我们触发。原创 2016-11-17 14:31:30 · 5155 阅读 · 2 评论 -
Windows Hook经验总结之一:API Hook方法汇总
HOOK的目的是用我们自己的代码取代一些函数的代码以改变程序的行为。静态HOOK:在进程运行前挂钩,采用用户级进程即可完成。比如:有些程序会在启动时需要原光盘,如果我们修改获取驱动类型的函数则可以从硬盘启动。动态HOOK:挂钩系统进程(如服务)时要动态挂钩本文介绍常见的hook方法和实现机制。原创 2016-11-17 14:29:53 · 5387 阅读 · 0 评论 -
rsync核心算法介绍及应用探索
Rsync核心算法Rsync是unix/linux下同步文件的一个高效算法,它能同步更新两台计算机的文件与目录,并查找文件中的不同块以减少数据传输。Rsync的一个重要特性就是只对变更部分进行传送。rsync可拷贝、显示目录属性以及拷贝文件,并可选择性的压缩以及递归拷贝。Rsync要解决差异化同步,前提就必须知道源文件和目标文件之间的差异,特别是当源文件与目标文件分别位于两台计算机上时。原创 2016-11-18 13:22:19 · 744 阅读 · 0 评论 -
C++回调机制的几种实现方式
本文介绍C++回调机制的几种实现方式,包括:Callback函数、sink、delegate、std::function、std::mem_fn原创 2016-11-18 13:51:47 · 1601 阅读 · 0 评论 -
数据结构学习笔记(一):数组及查找算法
本文作为数据结构学习笔记开篇,主要介绍大家常用的数组及其三种查找算法:二分法、插值法、黄金比例法,三者本质上都是分片定位快速逼近,只是分片比例不同。时间复杂度都是O(logN),黄金比例法则需要更多额外的存储空间。原创 2016-11-21 19:33:41 · 1632 阅读 · 0 评论 -
数据结构学习笔记(二):二叉查找树
本文介绍了二叉查找树BST的特点以及遍历、查找、插入、删除的流程原创 2016-11-22 10:49:51 · 356 阅读 · 0 评论