跳转转到键值
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
在里面添加一个新键值,使用一个你想欺骗的执行 文件的名字,好比notepad.exe

注意到在‘Image File Execution Options’键值中已经有一些条目了,这些应用程序和填充大概是一些为了兼容老版本WINDOWS程序的东东。 现在给NOTEPAD.EXE键值加入一个新的串值类型的值项,名为‘Debugger’,并且键入其他执行程序的路径作为它的值。
所有的东西应 该看起来这样:
Image File Execution Options
|
|__NOTEPAD.EXE
      Debugger - REG_SZ - C:\WINDOWS\SYSTEM32\CALC.EXE
一旦做好了,在NOTEPAD图标上单击(或是txt文 件),CALC.EXE被代替执行
这儿有一个简单的命令行程序, TEST.C, 它可以显示执行时使用的参数。 
----------------------------------------------------------------------
#include "stdio.h"
#include "conio.h"
int main( int argc, char **argv)
{
         int count ;
         printf( "Number of arguments: %d\n", argc) ;
         count = 0 ;
         while( count < argc)
         {
                 printf( "Argument %d: %s\n", count, argv[ count]) ;
                 count++ ;
         }
         while( !kbhit()) ;
         return 0 ;
}
----------------------------------------------------------------------
编 译它并将test.exe放在你的根目录,C:\TEST.EXE。现在到注册表的NOTEPAD.EXE键值,修改'Debuuger'让它指向C: \TEST.EXE 
在NOTEPAD图标上单击,看有TEST.EXE的输出结果
----------------------------------------------------------------------
Number of arguments: 2
Argument 0: c:\test.exe
Argument 1: C:\WINDOWS\system32\notepad.exe
----------------------------------------------------------------------
正 如你所见的,原来程序的路径作为参数被传到了test.exe。
现在在你的根目录创建一个README.TXT文件,并单击它。
如果 NOTEPAD.EXE是你打开.txt文件默认程序,text.exe就会出现,显示如下的信息: 
----------------------------------------------------------------------
Number of arguments: 3
Argument 0: c:\test.exe
Argument 1: C:\WINDOWS\system32\NOTEPAD.EXE
Argument 2: C:\readme.txt
----------------------------------------------------------------------
现 在你可以看见传给NOTEPAD.EXE的参数也出现,作为传给test.exe的参数。
注册表的这个项主要是用来调试程序用的,对一般用户意义不大。默认是只有管理员和local system有权读写,一般user只读。Windows NT系统在执行一个从命令行调用的可执行文件运行请求时,首先会检查这是否是一个可执行文件,如果是,又是什么格式的,然后就会检查是否存在:

[HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ImageName]
如果存在,首先会试图读取这个键值:
[HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ImageName]
"Debugger"="debug_prog"
如果存在,就执行“debug_prog ImageName”。
【注册表的这个项本来是来调试程序的,而今却被好多病毒利用,来关联自己,使得在运行其他程 序的时候自己被执行,同时也可以让它代替杀软运行,而使得真正的杀软不能运行,但这个却也是很好解决的,当发现自己杀软运行一下没反应的时候就要注意了, 很可能刚才你已经运行了一下病毒,如果最快的解决方法是把杀软的运行程序改一下名字,再运行,并到注册表的这里把被替换的项删去】

Image File Execution Options(2)的更多相关文章

  1. Image File Execution Options(转)

    今天公司的一台计算机无法正常工作送来维修,经简单判断是感染了很多病毒,即使在安全模式下也无法清除:于是将硬盘摘下挂到另外一台机器上,用卡巴斯基对病毒进行了查杀,再次启动计算机后发现很多系统维护程序以及 ...

  2. Pwn with File结构体(四)

    前言 前面几篇文章说道,glibc 2.24 对 vtable 做了检测,导致我们不能通过伪造 vtable 来执行代码.今天逛 twitter 时看到了一篇通过绕过 对vtable 的检测 来执行代 ...

  3. Pwn with File结构体(三)

    前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 前面介绍了几种 File 结构体的攻击方式,其中包括修改 vtab ...

  4. log file sync 事件(转)

    log file sync   log file sync等待时间发生在redo log从log buffer写入到log file期间. 下面对log file sync做个详细的解释.   何时发 ...

  5. File I|O(八)

    1.I/O:input/output 1.1.java.io.File 表示:文件或者文件夹(目录) File f=new File("文件路径") 注意:相对路径:非web项目的 ...

  6. JAVA File类 分析(二)

    本章開始介绍UNIX文件系统. 文件系统是怎样管理文件的呢?那咱们要先文件的存储介质開始--磁盘 磁盘是计算机系统的一个硬件设备,文件系统为了可以管理磁盘.对其进行了三层抽象(本文全部内容均指UNIX ...

  7. [漏洞复现] [Vulhub靶机] Struts2-045 Remote Code Execution Vulnerablity(CVE-2017-5638)

    免责声明:本文仅供学习研究,严禁从事非法活动,任何后果由使用者本人负责. 0x00 背景知识 Apache Struts 2是美国Apache软件基金会的一个开源项目,是一套用于创建企业级Java W ...

  8. js 获取、清空 input type="file"的值 .(转)

    上传控件基础知识说明: 上传控件(<input type="file"/>)用于在客户端浏览并上传文件,用户选取的路径可以由value属性获取,但value属性是只读的 ...

  9. MySQL [Warning] Can’t create test file xxx lower-test(转)

    add by zhj:修改的数据库的datadir,然后数据库就无法启动了,错误如下 2014-12-11 16:22:57 26309 [Warning] Can't create test fil ...

随机推荐

  1. EXEC 和 SP_EXECUTESQL的区别

    摘要: MSSQL为我们提供了两种动态执行sql语句的命令:EXEC 和 SP_EXECUTESQL.通常SP_EXECUTESQL更具优势,因为它提供了输入输出的接口,且能够重用执行计划,大大提高执 ...

  2. ecos 问题答疑(转)

    1.为什么我购买的是源码版,但是我的base/ego.php(或者base/ego/目录下文件)却是加密的?  答:ego 源码商业授权文件仅用于和商派软件签订源码协议的商业用户按照甲乙的源码保护约定 ...

  3. struts2 result type的类型

    一共十种类型 1.dispatcher 默认的类型,相当于servlet的foward,服务器端跳转.客户端看到的是struts2中配置的地址,而不是真正页面的地址.一般用于跳转到jsp页面 2.re ...

  4. ControlTemple样式

    1.TextBox 样式 1.1 style <Window.Resources> <Style x:Key="aa" TargetType="{x:T ...

  5. UVA 12083 POJ 2771 Guardian of Decency

    /* http://acm.hust.edu.cn/vjudge/contest/view.action?cid=71805#problem/C */ 性质: [1]二分图最大点独立数=顶点数-二分图 ...

  6. c++ lower_bound upper_bound

    lower_bound, first greater than or equal to upper_bound, first strickly greater

  7. 【转】mysql函数

    MySQL函数 MySQL数据库提供了很多函数包括: 数学函数: 字符串函数: 日期和时间函数: 条件判断函数: 系统信息函数: 加密函数: 格式化函数: 一.数学函数 数学函数主要用于处理数字,包括 ...

  8. 安装mongodb到系统服务

    一定要以管理员身份打开命令窗口; d盘 创建一个mongodb文件夹,里面有个data文件夹,data里面有db文件夹和log文件夹 mongodb文件夹里面还有个文件mongod.cfg  内容如下 ...

  9. 拓扑序+dp Codeforces Round #374 (Div. 2) C

    http://codeforces.com/contest/721/problem/C 题目大意:给你有向路,每条路都有一个权值t,你从1走到n,最多花费不能超过T,问在T时间内最多能访问多少城市? ...

  10. 最大边和最小边之差最小的生成树 UVA 1394

    题目大意:给你n个点的图,求苗条度(最大边减最小编)尽量小的生成树 思路:sort以后暴力枚举区间即可 //看看会不会爆int!数组会不会少了一维! //取物问题一定要小心先手胜利的条件 #inclu ...