2019-09-14更新:本文已经在新博客重新整理发布,请各位读者移步。

process explorer有个功能是替换任务管理器,它是怎么实现的呢???

 
windows有个注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options,用来给调试器用的。当指定的程序A启动的时候,系统会用debugger项指定的文件启动A。
以taskmgr.exe为例,如下图
当taskmgr.exe启动的时候会用C:\MY\SYSINTERNALS\PROCEXP.EXE启动之,并且procexp.exe启动的时候,会有一个命令行参数(taskmgr.exe的路径)"C:\WINDOWS\SYSTEM32\TASKMGR.EXE",如下图

 注意:上图中的Path是C:\Users\bcn\AppData\Local\Temp\PROCEXP64.exe,这是procexp会根据系统位数自动启动对应位数的程序。
 
bonus:
- 具体过程都可以通过procmon.exe来观察。
- 把下列代码保存成taskmgr.reg,导入到注册表即可,注意debugger后面的值要替换成你机器上的路径
  1. WindowsRegistryEditorVersion5.00
  2. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image FileExecutionOptions\taskmgr.exe]
  3. "Debugger"="\"C:\\MY\\SYSINTERNALS\\PROCEXP.EXE\""
 

[原]procexp替换任务管理器的更多相关文章

  1. [原]排错实战——使用process explorer替换任务管理器

    原Aha总结注册表process explorersysinternalsprocess monitor 前言 一般,我们会使用任务管理器查看系统中有哪些进程正在运行,强制杀掉某个进程.可是系统自带的 ...

  2. [原]调试实战——程序CPU占用率飙升,你知道如何快速定位吗?

    原调试debugwindbghangprocess explorer 前言 如果我们自己的程序的CPU Usage(CPU占用率)飙升,并且居高不下,很有可能陷入了死循环.你知道怎么快速定位并解决吗? ...

  3. 转载:shell脚本之sed使用----替换、变量、转义字符

    sed替换的基本语法为:----s后面跟的是分隔符,原字符串可使用.*这种正则表达式进行整行替换 代码如下: sed 's/原字符串/替换字符串/' 单引号里面,s表示替换,三根斜线中间是替换的样式, ...

  4. mysql replace 替换函数

    UPDATE ecm_goods SET description = replace(description,'原字符串', '替换为') WHERE 条件;

  5. sed 字符串替换

    1. sed替换的基本语法为: sed 's/原字符串/替换字符串/' 单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线”\”进行转义. 2. 单引号” ‘ ’”是没有办法用反 ...

  6. sed替换文件中的字符串

    sed -i 's/原字符串/替换字符串/g' filename

  7. 在SQL SERVER中批量替换字符串

    update [表名] set [字段名]=replace([字段名],'被替换原内容','替换后内容')

  8. Linux中使用sed命令替换字符串小结

    sed替换的基本语法为: sed 's/原字符串/替换字符串/' 单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线”\”进行转义,但是单引号”‘”是没有办法用反斜线”\”转义的 ...

  9. Linux sed 命令字符串替换使用方法详解

    1. sed替换的基本语法 sed 's/原字符串/替换字符串/' 单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线”\”进行转义.2. 单引号” ‘ ’”是没有办法用反斜线” ...

随机推荐

  1. 【LeetCode】最长连续序列

    [问题]给定一个未排序的整数数组,找出最长连续序列的长度. 要求算法的时间复杂度为 O(n). 示例: 输入: [, , , , , ] 输出: 解释: 最长连续序列是 [, , , ].它的长度为 ...

  2. POJ1200 A - Crazy Search(哈希)

    A - Crazy Search Many people like to solve hard puzzles some of which may lead them to madness. One ...

  3. vue移动端点击一个元素缩小,松手的时候元素恢复正常

    active伪类解决 HTML代码 <div class='box'> </div> CSS代码 .box { width: 100px; height: 100px; bac ...

  4. gabor滤波器

    https://blog.csdn.net/u013709270/article/details/49642397 https://github.com/xuewenyuan/Gabor_Visual ...

  5. oracle (6)---SQL 数据关联查询

    SQL 数据关联查询 Structure Query Language 从多(n)张表查询对应记录信息,必须有至少n-1个关联条件,否则会出现笛卡尔积的情况.1. 等值连接:没有连接关系的数据不会被查 ...

  6. 连接mysql的各种方式

    mysql连接操作是客户端进程与mysql数据库实例进程进行通信.从程序设计角度来说,属于进程通信,常用进程通信包括: 管道.Tcp/Ip 套接字.UNIX域套接字. 1.TCP/IP (1)使用最多 ...

  7. HDU_2604 矩阵快速幂 较难推的公式

    一个排队问题,f代表女,m代表男,f和m出现的几率相等.问一个长为L的队伍不能出现 fmf 和 fff这样的串总共有多少种. 这个题目的公式递推略难啊...我看了别人博客才想明白原来是这么递推出来的. ...

  8. SQL基础教程(第2版)第7章 集合运算:7-1 表的加减法

    第7章 集合运算:7-1 表的加减法 ● 集合运算就是对满足同一规则的记录进行的加减等四则运算.● 使用UNION(并集). INTERSECT(交集). EXCEPT(差集)等集合运算符来进行集合运 ...

  9. SQL基础教程(第2版)第5章 复杂查询:5-3 关联子查询

    第5章 复杂查询:5-3 关联子查询 ● 关联子查询会在细分的组内进行比较时使用.● 关联子查询和GROUP BY子句一样,也可以对表中的数据进行切分.● 关联子查询的结合条件如果未出现在子查询之中就 ...

  10. UML-用例关联

    1.用例关联:就是各个用例之间的关系,分3种关系分别是:包含关系.扩展关系.泛化关系. 2.包含关系 1).示例 2).使用场景 A.用例在其他用例中重复使用 B.用例非常复杂冗长,将其分解为子单元便 ...