系统底层
文章平均质量分 92
马大叔小舅舅
不积跬步,无以至千里;不积小流,无以成江海。骐骥一跃,不能十步;驽马十驾,功在不舍。锲而舍之,朽木不折;锲而不舍,金石可镂。
展开
-
提升进程权限为debug权限,无法禁止进程
GetCurrentProcessID 得到当前进程的ID OpenProcessToken 得到进程的令牌句柄LookupPrivilegeValue 查询进程的权限 AdjustTokenPrivileges 判断令牌权限 要对一个任意进程(包括系统安全进程和服务进程转载 2011-09-19 09:55:18 · 950 阅读 · 0 评论 -
Windows I/O系统
在现代操作系统中,I/O(Input/Output,输入输出)是计算机完成各种功能的一个重要方面。处理器负责执行各种计算任务,并且通过内存总线操纵整个内存空间,但作为一个现实可用的计算机系统,仅仅具备这样的计算和内存访问能力还不够,还要有各种外部设备的参与才可使计算机真正“有用”。尽管这些设备的功能和用途各式各样,但是处理器利用了标准的接口技术,通过设备的控制器与它们打交道。因此,从硬件层面上,处原创 2015-08-24 22:17:35 · 7242 阅读 · 0 评论 -
windows调试子系统
使用windbg很长时间了,也实际解决了不少问题,不过对于幕后的调试子系统,并没有完整的去学习过一遍,从cpu检测到异常,到IDT中查找中断历程,到异常分发,二次机会等等,其过程仅仅是初步了解,后续准备将整个异常检测分发流程梳理一遍,这样用起windbg可以知其所以然,做到心中有数。原创 2015-06-25 08:48:20 · 1138 阅读 · 0 评论 -
操作系统启动过程
以下的内容都是在网上搜集并整理的,希望有问题的朋友在提问之前能先在这里看一看,不要浪费了众多为网络奉献的众多网友的心血! 电脑及操作系统的启动过程是一个很复杂的过程,对于我们大多数只是希望把电脑玩的更好一点、处理一些常见问题清晰一点的朋友来说,自然是无需了解到详尽通透——本转载 2011-07-18 09:59:10 · 2649 阅读 · 0 评论 -
进程控制块PCB详解
PCB(process control block),进程控制块,是我们学习操作系统后遇到的第一个数据结构描述,它是对系统的进程进行管理的重要依据,和进程管理相关的操作无一不用到PCB中的内容。一般情况下,PCB中包含以下内容: (1)进程标识符(内部,外部)(2)处理机的信息(转载 2015-06-12 11:23:44 · 60693 阅读 · 5 评论 -
一种保护应用程序的方法 模拟Windows PE加载器,从内存资源中加载DLL
1、前言目前很多敏感和重要的DLL(Dynamic-link library) 都没有提供静态版本供编译器进行静态连接(.lib文件),即使提供了静态版本也因为兼容性问题导致无法使用,而只提供DLL版本,并且很多专业软件的授权部分的API,都是单独提供一个DLL来完成,而转载 2011-08-13 22:50:00 · 2881 阅读 · 0 评论 -
什么是lib文件,lib和dll的关系如何
(1)lib是编译时需要的,dll是运行时需要的。如果要完成源代码的编译,有lib就够了。 如果也使动态连接的程序运行起来,有dll就够了。 在开发和调试阶段,当然最好都有。 (2)一般的动态库程序有lib文件和dll文件。lib文件是必须在编译期就连接到应用转载 2011-08-13 22:32:52 · 478 阅读 · 0 评论 -
链接器算法
在这个专栏中,我经常讨论一些新技术,至少是还未被广泛使用的技术。然而,随着越来越多的开发者加入到Win32® 程序员队伍中来,有些对于老手来说是老生常谈的问题,对于新手来说却是神秘莫测的。链接器方面的主题就属于这个范畴。Visual Basic® 5.0就使用了一个链接器。事实上翻译 2011-08-13 22:35:35 · 849 阅读 · 0 评论 -
为什么会出现LNK2005"符号已定义"的链接错误?
许多Visual C++的使用者都碰到过LNK2005:symbol already defined和LNK1169:one or more multiply defined symbols found这样的链接错误,而且通常是在使用第三方库时遇到的。对于这个问题,有的朋友可能不转载 2011-08-13 22:37:05 · 493 阅读 · 0 评论 -
动态链接库的创建
动态链接库的创建使用导出函数关键字_declspec(dllexport)创建// MyDll.hextern "C" _declspec(dllexport) int Max(int a, int b);extern "C" _declspec(dllexpor转载 2011-08-13 22:38:31 · 440 阅读 · 0 评论 -
各种进程保护方法的比较
一.利用hook 保护进程1.inline hook采用inlink hook 保护自身的进程,对抗CreateRemoteThread的Dll注入。在ring3下Dll注入的标准做法是使用CreateRemoteThread控制目标进程调用Loadlibrary转载 2011-09-19 10:33:35 · 3765 阅读 · 2 评论 -
windows视窗子系统(1.进线程相关结构)
一个windows窗口应用程序最基本构成是一个UI线程+许多工作线程,UI线程的工作流程一般为,设置窗口样式及消息响应函数,注册窗口,并产生一个消息循环,不停的分发调用窗口消息响应函数,一直对这幕后的机制比较好奇,通过学习这些机制,也对我们以后调试界面应用及提高界面应用的性能有很大的益处。 每个线程创建时,都是普通的线程,在windows内核中,每个线程都是由ETHREAD结构体表示的,这个原创 2015-07-23 11:21:46 · 570 阅读 · 0 评论