首页
社区
课程
招聘
[分享]又一个RedScissorTools小工具软件的源码,读写进程的环境变量。
发表于: 2012-2-2 15:05 3244

[分享]又一个RedScissorTools小工具软件的源码,读写进程的环境变量。

2012-2-2 15:05
3244
http://www.redscissortools.com/redscissor_014.htm

和Linux系统一样,Windows在每个运行的进程中用环境变量(environment variable)储存和其相关的各种设置。通常来讲不同进程的环境变量基本相同,但也不是绝对的。这里的源代码可以让你
1.        列出某个进程里用到的环境变量。
2.        把一个新的变量加到进程中去(Vista及以后的系统不行)
3.        更改进程中的一个变量的值(Vista及以后的系统不行)
4.        删除进程中的一个变量及其值(Vista及以后的系统不行)

有意思的是,在32位机器上,Windows用两个4KB的内存页保存环境变量,而在64位系统上,却只用一个4KB的内存页 ---- 没准儿是个bug。

在XP和Server 2003上,系统用字符串“=::=::\”标记环境变量的开始,而在Vista及以后的系统上,用“=C:=C:\”作为标记。这些环境变量都是按照英文字母的顺序排列的。

在XP和Server 2003上,你可以用这个工具乱改这些变量都没有什么关系,比如用Notepad做实验,因为微软没有为它们提供相应的保护。而在Vista及以后的系统上,我们只要改动了一下(添加、更新或者删除某个变量),Windows马上就能发现,几秒钟后在那个进程中插入一个坏了的线程,让该进程立马崩溃。

Enjoy

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//