bluehacker

关于NT内核的apc机制

AsynchronousProcedureCalls(APCs)areafundamentalbuildingblockinNTsasynchronousprocessingarchitecture.AnunderstandingofthismechanismisessentialtobetterunderstandhowNTworksandperformsseveralcoresystemoperations.Basically,APCsallowuserprogramsandsystemco

Asynchronous Procedure Calls in NT

DoingThings"Whenever"-AsynchronousProcedureCallsinNTTheNTInsider,Vol5,Issue1,Jan-Feb1998|Published:15-Feb-98|Modified:20-Aug-02InWindowsNT,theconceptof"AsynchronousProcedureCalls"(APCs)arementionednumeroustimes,althoughpreciselywh

4.4bsd vfs中pathname translate的分析

路径名的解析是比较复杂的部分,bsd把这部分分成两块,称为tophalf和bottomhalf(但这和linux中中断处理的tophalf,bottomhalf意思不大一样)。tophalf就是vfs层做的与具体文件系统无关的处理,bootomhalf则是文件系统相关的。整个过程大体分为4步:1.从用户空间buffer或

4.4bsd中的虚拟文件系统

这个51假期快完了,我一点精神没有,想想活着究竟为什么?这个话题太大,其实我也不相信从小到大接受的教育说的什么为国家为社会做贡献,其实我一直信奉R.Feynman的哲学:"我不必为这个社会负任何责任".想想也许我的生命并没有什么意义,至少对于我自己没有什么意义,

为什么在中断上下文中不能休眠?

这个问题有很多人问过,我看了下linux得内核代码,原因如下当然我不能保证一定对,如果有牛人理解得更好,欢迎指正)1.中断处理的时候,不应该发生进程切换,因为在中断context中,唯一能打断当前中断handler的只有更高优先级的中断,它不会被进程打断(这点对于softirq,tasklet也

关于NT驱动irp pending的注意事项

用APC实现在内核模式运行用户程序

关于NT内核cancel irp的问题

4.4bsd中的signal实现part2

psignal()分下面几步post信号:1.根据进程描述符里面的p_sigignore,p_sigmask,和p_sigcatch域确定进程要采取的行为.如果对于这个进程既不block(即mask)也不忽略也不catch,则认为采用defaultaction.(15句),如果被忽略则直接返回什么也不做(8~9句),如果被屏蔽则只记录不del

4.4bsd中的signal实现part1

信号(signal)是Unix中一个标准的机制,并且成为POSIX的一部分,编程中这个东西经常用到,windowsNT中没有这么个东西,和signal有点象的是APC,但这两者差别很大。我自己几乎从来没有真正搞明白signal,主要还是因为在unix/linux下编程太少,没有时间去搞,无奈,人的精

Linux 2.6内核进程调度分析

这个是两年前我写的,好象还发到什么杂志上发表了,因为要往杂志投稿,所以没办法把代码贴出来详细说明,因为中国所谓科技论文的要求(不成文的要求)就是要写的文皱皱的垃圾,今天贴出来充数.Linux操作系统是一种能运行于多种平台、源代码免费公开、功能稳定强大、符合POSIX规

用汇编写的一个小玩意

昨晚无聊,用汇编写了一个小玩意,确定CPU的频率.没什么希奇的,玩啊.代码贴在下面:/********************************************************************************************/.686.ModelFlat,StdCallOptionCasemap:NoneIncludewindows.incIncludeuser32.incInclud

一个linux下简单rootkit的分析

熬夜写llroot,写的头有些晕了,代码也有点乱,所以停下来歇歇;就又去逆向昨天下的那个rootkit,搞了1个多小时,头又晕了,才搞了不到一半,夜深人静的时候,孤孤单单,没有美女陪,不爽啊.想想好长时间没有在这个blog上写技术文章了,于是就转来下面一篇文章,文章比较老了,针对lin

隐藏内核模块的方法

方法是:removemodulefromdriverobjectsremovemodulefromdeviceobjects在rootkit.com上一个russianhacker发的文章中提到这两种方法,和他交流了下,在llroot中实现了,代码贴出来灌水:/**********************************************************************************

硬件hack

今天在phrack上看到一篇极好的文章,讨论hack计算机硬件来达到隐藏代码和接管系统控制权的问题,第一种方法hack显卡,显卡其实是个暴复杂的系统,有自己的处理器GPU,自己的内存和bios,整个就是个小计算机,可以通过专门的编程语言或编译器来把某些代码放到显卡中运行,这样完