09 2014 档案
完美洗牌算饭
摘要:被大腾讯问到了完美洗牌算法,瞬间就跪了,其实原来看过,只可惜都忘了啊,现在在补充进来吧。其实完美洗牌算法,应该给我说明白题,最少举个例子吧,当时确实大意了,也没问清楚就直接不会了,其实题意是有个长度为2n的数组{a1,a2,a3,a4,..,an,b1,b2,b3,b4,...,bn},希望排序后{...
阅读全文
get和post区别
摘要:面试被问到这个问题,虽然大致知道,但还是要事后好好查查弄清楚才行,要有深度啊!首先说下http协议1.1、HTTP消息客户端与服务器之间的交互用到了两种类型的消息:请求(Request)和响应(Response)。HTTP请求的格式为: 图3、HTTP请求的格式HTTP响应的格式为:图4、HTTP响...
阅读全文
java内存分配
摘要:关于Java内存分配,很多问题都模模糊糊,不能全面贯通理解。今查阅资料,欲求深入挖掘,彻底理清java内存分配脉络,只因水平有限,没达到预期效果,仅以此文对所研究到之处作以记录,为以后学习提供参考,避免重头再来。一、Java内存分配1、Java有几种存储区域?* 寄存器-- 在CPU内部,开发人员不...
阅读全文
C程序内存分配
摘要:在多任务操作系统中的每一个进程都运行在一个属于它自己的内存沙盘中。这个沙盘就是虚拟地址空间(virtual address space),在32位模式下它总是一个4GB的内存地址块。这些虚拟地址通过页表(page table)映射到物理内存,页表由操作系统维护并被处理器引用。每一个进程拥有一套属于它...
阅读全文
栈大小和内存分部问题
摘要:今天面试问了一个栈大小问题,问过两次内存的结构问题,都没有答好,这次要弄清楚才行。栈大小是有默认值的,如果申请的临时变量太大的话就会超过栈大小,造成栈溢出。编译期限制栈大小,和系统限制栈深度根本是两回事。系统限制栈深是限制进程主线程的栈深,限制的是整个函数调用链的最大栈深,这个栈深是函数调用链上各个...
阅读全文
inline和宏之间的区别
摘要:1、内联函数在编译时展开,而宏在预编译时展开2、在编译的时候,内联函数直接被嵌入到目标代码中去,而宏只是一个简单的文本替换。3、内联函数可以进行诸如类型安全检查、语句是否正确等编译功能,宏不具有这样的功能。4、宏不是函数,而inline是函数5、宏在定义时要小心处理宏参数,一般用括号括起来,否则容易...
阅读全文
两个栈实现双端队列
摘要:一个笔试题,当时竟然没想出来,现在实现下 1 /* 2 用两个栈实现双端队列 3 栈s1,s2。 4 pushback()和popback(),必须在s2为空的情况,把s2的都放s1中 5 pushfront()和popfront(),必须是在s1为空,把s1的都给放到s2中 6 */ ...
阅读全文
SSDT Hook结构
摘要:目录SSDT Hook效果图SSDT简介SSDT结构SSDT HOOK原理Hook前准备如何获得SSDT中函数的地址呢SSDT Hook流程SSDT Hook实现进程保护Ring3与Ring0的通信如何安装启动停止卸载服务参考文献源码附件版权SSDT Hook效果图加载驱动并成功Hook NtTer...
阅读全文
进程隐藏与进程保护(SSDT Hook 实现)(二)
摘要:文章目录:1. 引子 – Demo 实现效果:2. 进程隐藏与进程保护概念:3. SSDT Hook 框架搭建:4. Ring0 实现进程隐藏:5. Ring0 实现进程保护:6. 隐藏进程列表和保护进程列表的维护:7. 小结:1. 引子 – Demo 实现效果:上一篇《进程隐藏与进程保护(SSDT...
阅读全文
进程隐藏与进程保护(SSDT Hook 实现)(一)
摘要:读了这篇文章终于明白大致怎么回事了文章目录:1. 引子 – Hook 技术:2. SSDT 简介:3. 应用层调用 Win32 API 的完整执行流程:4. 详解 SSDT:5. SSDT Hook 原理:6. 小结:1. 引子 – Hook 技术:前面一篇博文呢介绍了代码的注入技术(远程线程实现)...
阅读全文
驱动程序简单开发
摘要:我们学习程序设计,都是从“HelloWorld”开始的,驱动程序也不例外,今天我就写一个驱动版的“HelloWorld”来热热身,目的希望大家能对驱动程序的基本框架有所了解。驱动程序分为2类,一个是Kernel模式驱动,另一个是Windows模式驱动,2种模式本质是相同,但细节不同,本文介绍的是内核...
阅读全文
派遣例程与IRP结构
摘要:提到派遣例程,必须理解IRP(I/O Request Package),即"输入/输出请求包"这个重要数据结构的概念。Ring3通过DeviceIoControl等函数向驱动发出I/O请求后,在内核中由操作系统将其转化为IRP的数据结构,并"派遣"到对应驱动的派遣函数中,如图21.1.6所示。Rin...
阅读全文
windows内核初窥(二)-----系统机制
摘要:系统机制:windows2000为执行体、内核、设备驱动程序等核心态部分提供了一些基础机制。先让我们看看都有哪些:(1)陷阱调度:包括中断、延迟过程调用(DPC)、异步过程调用(APC)、异常处理、系统服务调度。(2)执行体对象管理(3)同步机制:自旋锁、内核调度对象以及等待是如何实现的(4)系统线...
阅读全文
windows内核窥探
摘要:windows是一个非常优秀的OS,从今天开始,我要和大家共同分享windows给我们带来的快乐!本人只所以将自己的学习笔记与大家分享,一是让自己更深入的理解windows,再就是有什么疏漏之处,望大家指正!!来吧,开始我们的windows之旅!一,windows2000体系结构(1)系统模型 在大...
阅读全文
KMP算法详解 --从july那学的
摘要:KMP代码: 1 int KmpSearch(char* s, char* p) 2 { 3 int i = 0; 4 int j = 0; 5 int sLen = strlen(s); 6 int...
阅读全文
浙公网安备 33010602011771号