
进程
swanabin
这个作者很懒,什么都没留下…
展开
-
使用Native API 创建进程
使用 Native API 创建进程 最近几个星期一直在研究这个题目。因为关于方面的资料比较多(可以看下面的参考文章),所以开始时以为很快就结束了。谁知道真正动起手来才发现有很多要考虑的地方,不过还好今天终于成功了,还是很高兴的。写下来,做个小结吧。(纸上得来终觉浅 , 须知此事要躬行。) 我们一般是使用 CreateProcess 来创建进程的,而使用 Native API 来创转载 2013-11-20 16:39:50 · 1361 阅读 · 0 评论 -
Windows操作系统下创建进程的过程
进程(Process)是具有一定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源分配和调度的一个独立单位。程序只是一组指令的有序集合,它本身没有任何运行的含义,只是一个静态实体。而进程则不同,它是程序在某个数据集上的执行,是一个动态实体。它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤消,反映了一个程序在一定的数据集上运行的全部动态过程。 线程(转载 2013-11-20 16:26:13 · 1696 阅读 · 0 评论 -
CreateProcess函数详解及示例
WIN32API函数CreateProcess用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件。 函数原型: BOOL CreateProcess ( LPCTSTR lpApplicationName, LPTSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes。 LPSECURITY_ATTRIB转载 2013-11-20 16:44:24 · 2185 阅读 · 0 评论 -
windows 可执行文件分析
windows可执行文件是什么? 是具有PE文件格特性的文件,例如:.exe、dll、ocx等文件。 注:(这里只是让大家能明了一些,其实,可执行与否,和后缀没有什么关系,后缀只是windows方便管理用的)。 如:在xp sp3上,你双击或右键打开一个可执行文件时。并不是那个可执行文件自动执行的。它并不存在自动运行能力。而仅仅是,调用了CreateProcessW函数来启动这个可执行文转载 2013-11-21 12:24:13 · 2133 阅读 · 0 评论 -
Windows的进程间通信
对于任何一个现代的操作系统,进程间通信都是其系统结构的一个重要组成部分。而说到Windows的进程(线程)间通信,那就要看是在什么意义上说了。因为正如“Windows的跨进程操作”那篇漫谈中所述,在Windows上一个进程甚至可以“打开”另一个进程,并在对方的用户空间分配内存、再把程序或数据拷贝过去,最后还可以在目标进程中创建一个线程、让它为所欲为。显然,这已经不只是进程间的“通信”,而是进程间“转载 2013-11-21 11:44:19 · 3172 阅读 · 1 评论 -
关于“进程挂靠”
线程在Windows内核中运行时有时候需要暂时“挂靠(Attach)”到别的进程的用户空间,即暂时切换到另一个进程的用户空间。这称为“进程挂靠”,因为用户空间是一个进程最主要的特征。 显然,要是当前线程的操作与用户空间无关、不需要访问用户空间,那么当时的用户空间到底是谁的用户空间根本就无关紧要,所以这必定发生在与用户空间有关的操作中。 一般而言,如果线程T属于进程P,那么当这个转载 2013-11-21 12:59:48 · 5035 阅读 · 0 评论 -
Windows进程创建的流程分析
. 创建进程的大体流程: 创建进程的过程就是构建一个环境,这个环境包含了很多的机制 (比如自我保护, 与外界通信等等)。 构建这个环境需要两种“人”来协调完成(用户态和内核态),他们各有分工,其中用户态提供原料(提供创建的那些参数), 内核态负责来构建这个环境,由于环境是由内核态构建的,因此他持有这个环境的控制权, 而用户由于提供了原料, 因此他具有使用权。 内核态开始构建环境中的基转载 2013-11-21 12:17:34 · 2506 阅读 · 2 评论 -
利用IShellExecuteHook接口对程序监控
利用IShellExecuteHook接口对程序监控 作者:赖锋(忙碌命) Blog: http://blog.youkuaiyun.com/laiboy http://laiboy.cublog.cn Windows的应用程序的调用大部分是利用ShellExecute()和ShellExecuteEx()这两个API调用,而这两个API最终调用的是Cr转载 2015-07-09 18:35:20 · 1531 阅读 · 0 评论 -
如何更改应用程序加载基地址
应用程序的基地址默认都是:0x00400000 如果想更改这个基地址,可以更改链接选项,如下:原创 2016-01-09 11:43:56 · 1476 阅读 · 0 评论