首页 > 其他分享 >使用注册表进行映像劫持,将 notepad.exe 替换为 notepad2.exe 的操作步骤如下:

使用注册表进行映像劫持,将 notepad.exe 替换为 notepad2.exe 的操作步骤如下:

时间:2024-07-17 18:52:44浏览次数:5  
标签:exe Debugger 路径 notepad 注册表 notepad2 操作步骤

使用注册表进行映像劫持,将 notepad.exe 替换为 notepad2.exe 的操作步骤如下:

  1. 打开注册表编辑器

    • 按 Win + R 组合键打开运行对话框。
    • 输入 regedit 并按 Enter 打开注册表编辑器。
  2. 导航到指定路径

    • 在注册表编辑器中,依次展开以下路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
  3. 创建 notepad.exe 的新键

    • 在 Image File Execution Options 下右键空白处,选择 新建 -> 
    • 将新键命名为 notepad.exe
  4. 设置调试器值

    • 在 notepad.exe 键下右键空白处,选择 新建 -> 字符串值
    • 将字符串值命名为 Debugger
    • 右键编辑 Debugger 的值数据,将其设置为 notepad2.exe 的完整路径。例如,如果 notepad2.exe 在 C:\Program Files\Notepad2\ 下,则将 Debugger 的值设置为 C:\Program Files\Notepad2\notepad2.exe
  5. 保存并退出

    • 完成后关闭注册表编辑器。

现在,当系统尝试运行 notepad.exe 时,实际上会启动 notepad2.exe。这种技术可以用于调试、监视或替代系统中的任何可执行文件。请确保输入路径时使用正确的路径和文件名,并在编辑注册表时小心操作。


通过 .reg 文件修改注册表,将 notepad.exe 替换为 notepad2.exe,可以创建一个文本文件并将以下内容保存为 .reg 扩展名的文件,例如 replace_notepad.reg

plaintextCopy Code
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe]
"Debugger"="\"C:\\Program Files\\Notepad2\\notepad2.exe\""

步骤解释:

  1. 注册表编辑器版本

    • Windows Registry Editor Version 5.00 表示此 .reg 文件的注册表编辑器版本。
  2. 注册表路径和数值设置

    • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe] 指定要修改的注册表路径,即 notepad.exe 的执行选项。
  3. 设置 Debugger 值

    • "Debugger"="\"C:\\Program Files\\Notepad2\\notepad2.exe\"" 将 Debugger 的值设置为 C:\Program Files\Notepad2\notepad2.exe。注意使用双反斜杠 \\ 表示单个反斜杠,因为在 .reg 文件中反斜杠是转义字符。

使用方法:

  • 保存文件:将上述文本保存为 replace_notepad.reg(或任何你喜欢的名称),确保选择 .reg 扩展名。
  • 运行 .reg 文件
    • 双击 .reg 文件运行它。
    • 如果系统提示,确认您要修改注册表。
    • 如果您在非管理员模式下运行,可能需要提供管理员权限

使用批处理脚本来修改注册表,将 notepad.exe 替换为 notepad2.exe,可以按照以下步骤进行操作:

  1. 创建批处理脚本: 打开文本编辑器(如记事本),粘贴以下内容:

    Copy Code
    @echo off
    REM 设置 notepad.exe 映像劫持为 notepad2.exe
    
    REM 定义注册表路径和键名
    set "regPath=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe"
    set "regKeyName=Debugger"
    set "regKeyValue=C:\Program Files\Notepad2\notepad2.exe"
    
    REM 创建注册表项及设定值
    reg add "%regPath%" /v "%regKeyName%" /t REG_SZ /d "%regKeyValue%" /f
    
    REM 检查是否成功
    if %errorlevel% neq 0 (
        echo 注册表项创建失败。
    ) else (
        echo 注册表项创建成功。
    )
  2. 保存脚本

    • 将文件保存为 .bat 批处理文件,例如 replace_notepad_with_notepad2.bat
  3. 运行批处理脚本

    • 以管理员身份运行批处理脚本。右键点击批处理文件,选择 "以管理员身份运行"。
  4. 确认修改

    • 执行脚本后,会在注册表路径 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe 下创建 Debugger 的字符串值,并将其值设置为 C:\Program Files\Notepad2\notepad2.exe
  5. 验证更改

    • 打开 notepad.exe 查看是否启动了 notepad2.exe

这种方法会在注册表中直接创建或修改相应的键值,实现将 notepad.exe 的行为替换为启动 notepad2.exe


使用 PowerShell 修改注册表以将 notepad.exe 替换为 notepad2.exe,可以按照以下步骤进行:

powershellCopy Code
# 定义需要替换的程序路径和新程序路径
$originalExe = "notepad.exe"
$newExe = "C:\Program Files\Notepad2\notepad2.exe"

# 设置注册表项路径
$regPath = "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\$originalExe"

# 创建或修改注册表项
if (!(Test-Path $regPath)) {
    New-Item -Path $regPath -Force | Out-Null
}

# 设置 Debugger 值为新程序路径
Set-ItemProperty -Path $regPath -Name "Debugger" -Value $newExe -Type String

# 检查是否成功设置
if (Test-Path $regPath) {
    Write-Output "成功将 $originalExe 映像劫持为 $newExe。"
} else {
    Write-Output "无法设置 $originalExe 映像劫持为 $newExe。"
}

步骤解释:

  1. 定义路径和新程序

    • $originalExe 是要替换的原始程序,这里是 notepad.exe
    • $newExe 是将要启动的新程序的路径,这里假设为 C:\Program Files\Notepad2\notepad2.exe。根据实际情况修改为你的路径。
  2. 设置注册表路径

    • $regPath 是要修改的注册表路径,这里是 HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe
  3. 创建或修改注册表项

    • 使用 New-Item 命令创建注册表项,如果该项已存在则不会创建。 -Force 参数确保创建父级路径(如果不存在)并强制创建子项。
  4. 设置 Debugger 值

    • 使用 Set-ItemProperty 命令将 Debugger 的值设置为 $newExe,类型为字符串。
  5. 验证设置

    • 使用 Test-Path 检查是否成功创建或修改了注册表项,并输出相应信息。
  6. 运行 PowerShell 脚本

    • 以管理员身份运行 PowerShell。右键点击 PowerShell 快捷方式或脚本文件,选择 "以管理员身份运行"。

这样就可以通过 PowerShell 脚本将 notepad.exe 映像劫持为启动 notepad2.exe。记得以管理员身份运行脚本,


使用 VBS 脚本修改注册表以将 notepad.exe 替换为 notepad2.exe,可以按照以下步骤操作:

vbscriptCopy Code
Const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
strKeyPath = "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe"
strValueName = "Debugger"
strValue = "C:\Program Files\Notepad2\notepad2.exe"

' 创建 Shell 对象
Set objShell = CreateObject("WScript.Shell")

' 设置注册表项值
objShell.RegWrite "HKLM\" & strKeyPath & "\" & strValueName, strValue, "REG_SZ"

' 验证是否设置成功
If objShell.RegRead("HKLM\" & strKeyPath & "\" & strValueName) = strValue Then
    WScript.Echo "成功将 notepad.exe 映像劫持为 notepad2.exe。"
Else
    WScript.Echo "无法设置 notepad.exe 映像劫持为 notepad2.exe。"
End If

步骤解释:

  1. 常量定义

    • HKEY_LOCAL_MACHINE 定义了注册表的根键路径。
    • strComputer 设置为 . 表示本地计算机。
  2. 注册表路径和数值设置

    • strKeyPath 是要修改的注册表路径,这里是 SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe
    • strValueName 是注册表项的名称,这里是 Debugger
    • strValue 是要设置的新值,这里是 C:\Program Files\Notepad2\notepad2.exe。根据你的实际路径修改。
  3. 创建 Shell 对象

    • 使用 CreateObject("WScript.Shell") 创建 Shell 对象,以便后续操作注册表。
  4. 设置注册表项值

    • 使用 RegWrite 方法将 strValue 写入 strKeyPath 的 strValueName 注册表项,类型为 REG_SZ(字符串类型)。
  5. 验证设置

    • 使用 RegRead 方法读取注册表项的值,检查是否与设置的 strValue 相同。
  6. 运行 VBS 脚本

    • 可以将上述代码保存为 .vbs 文件,然后以管理员身份运行。右键点击 VBS 文件,选择 "以管理员身份运行"。

这样就可以通过 VBS 脚本将 notepad.exe 映像劫持为启动 notepad2.exe。务必以管理员身份运行脚本,


 

标签:exe,Debugger,路径,notepad,注册表,notepad2,操作步骤
From: https://www.cnblogs.com/suv789/p/18308101

相关文章

  • 命令行程序读取注册表失败的分析
    构建了一个命令行程序,使用Registry类进行注册表读取,但key获取的值为空。varkeyPath=@"key";varvalueName="value";using(RegistryKeykey=Registry.LocalMachine.OpenSubKey(keyPath)){if(key!=null){//读取注册表项下的值varvl=k......
  • cerebro 报错: Oops, cannot start the server. com.google.common.util.concurrent.Un
    @目录前言环境异常修改方案第二次报错修改方式成功前言使用elasticsearch+springboot实现新闻搜索功能:https://javapub.net.cn/star/project/news-search-es/遇到的错误记录。环境cerebro下载地址:https://github.com/lmenezes/cerebro使用了最新的版本:cerebro-0......
  • 人渣生存scum因丢失x3daudio启动受阻:X3daudio1_7.dll丢失或找不到错误操作步骤解析
    当您在运行《人渣生存》(Scum)时遇到“x3daudio1_7.dll丢失或找不到”的错误,这通常意味着系统中缺少该特定的动态链接库文件。以下是详细的解决步骤:方法一:更新显卡驱动程序有时候,这个文件的丢失可能是由于显卡驱动程序过时或损坏。更新显卡驱动程序是解决x3daudio1_7.dll丢......
  • sqldumper.exe 是 SQL Server 的一个重要组件,专门用于捕获和处理关键错误,帮助管理员和
     sqldumper.exe的起源可以追溯到MicrosoftSQLServer的开发和运行时管理中。它作为SQLServer的一部分,主要用于处理数据库引擎遇到的关键错误和异常情况。具体来说,sqldumper.exe主要功能包括:异常处理和故障捕获:当SQLServer数据库引擎遇到严重错误时,如内存访问错误......
  • 安装软件Docker Desktop Installer.exe后导致的AMD显卡掉驱动,提示:The version of AMD
    打开AMDRadeonSoftware时总是弹出“TheversionofAMDRadeonSoftwareyouhavelaunchedisnotcompatiblewithyourcurrentlyinstalledAMDgraphicsdriver."提示框,如图所示:TheversionofAMDRadeonSoftwareyouhavelaunchedisnotcompatiblewithyourcurr......
  • Monkey 01 lexer 词法分析器
    此处可以下载每章代码https://interpreterbook.com/waiig_code_1.7.zip 首先,词法分析器是`输入字符串,输出词法单元token`.要定义词法分析器,首先要定义tokentoken具有两个属性,一个是token的类型,另一个是token的字面量或者说能打印出来的值//token/token.gopackagetokentyp......
  • 【BUG】已解决:IndexError: list index out of range
     已解决:IndexError:listindexoutofrange欢迎来到英杰社区https://bbs.csdn.net/topics/617804998            欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,武汉城市开发者社区主理人           擅长.net、C++、......
  • Windows 注册表编辑器(regedit)的演变和发展主要是由 Microsoft Windows 操作系统的设计
    Windows注册表编辑器(regedit)的演变和发展主要是由MicrosoftWindows操作系统的设计和需求驱动的。下面是大致的演化过程:需求和设计:在早期的Windows系统中,配置信息分散存储在各种配置文件和INI文件中,管理起来不够方便。为了统一管理系统配置信息,并提高系统的灵活性和可维......
  • 开发板测试手册——系统启动、文件传送操作步骤详解(1)
    前言本文适用开发环境:Windows开发环境:Windows764bit、Windows1064bitLinux开发环境:Ubuntu14.04.364bit虚拟机:VMware15.1.0U-Boot:U-Boot-2017.01Kernel:Linux-4.9.0、Linux-RT-4.9.0进行本文档操作前,请先按照调试工具安装、Linux开发环境搭建相关文档,安装......
  • 开发板测试手册——USB 4G 模块、GPS 定位功能操作步骤详解(3)
    前言本文适用开发环境:Windows开发环境:Windows764bit、Windows1064bitLinux开发环境:Ubuntu14.04.364bit虚拟机:VMware15.1.0U-Boot:U-Boot-2017.01Kernel:Linux-4.9.0、Linux-RT-4.9.0进行本文档操作前,请先按照调试工具安装、Linux开发环境搭建相关文档,安装......