• 如何重定向注册表


    重定向的作用?

    64bit的OS既可以运行32bit程序,也可以运行64bit程序,为了兼容32bit的程序,OS对32bit的程序对安装文件夹目录、注册表路径进行了规定,避免与64bit的程序混淆路径。
    32bit程序安装路径在C:\Program Files (x86),64bit程序安装在C:\Program Files。
    32bit程序注册表导入在HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node,64bit程序安装在HKEY_LOCAL_MACHINE\SOFTWARE。

    注册表重定向原理

    以下介绍下注册表导入时的路径原理:
    注册表是导入到HKEY_LOCAL_MACHINE\SOFTWARE\XFS还是到HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\XFS,主要看你导入注册表时运行的那个程序是64bit的程序还是32位的程序。
    如果是64位的程序,就是导入到HKEY_LOCAL_MACHINE\SOFTWARE\XFS,
    如果是32位的程序,就是导入到HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\XFS,
    最原始的导入注册表的命令是regedit,64bit的OS中有32bit的regedit.exe 和64bit的regedit.exe,分别存放在C:\Windows和C:\Windows\SysWOW64中。

    如何判定一个程序是32bit还是64bit的呢?

    方法一:
    运行起来后,在任务管理器中可以看到,如果是32bit的程序,会有一个(32位)的提示,否则就是64位的程序。
    在这里插入图片描述
    如上,WeChat就是32bit的程序,注册表编辑器就是64bit的程序。

    总结

    1、如果是想导入到非Wow6432Node, 就运行C:\Windows\regedit.exe regfile.reg
    2、如果是想导入到Wow6432Node, 就运行C:\Windows\SysWOW64\regedit.exe regfile.reg
    举例
    将如下注册表文件RPT.reg导入到注册表,
    [HKEY_LOCAL_MACHINE\SOFTWARE\XFS\SERVICE_PROVIDERS\CSII_RPT_SERVICE]
    “Class”=“PTR”
    “dllname”=“CSII_RPT_SP.dll”
    “FormsDirectory”=“C:\xfs\Form\RPTR\”
    “FormsExtension”=“wfm”
    “vendor_name”=“CSII”
    “device”=“凭条打印机(深圳研科)”
    “Port”=“1”
    “BaudRate”=dword:00009600
    “DeviceVersion”=dword:00000000
    “SimuMediaTaken”=dword:00000001
    如果运行C:\Windows\SysWOW64\regedit.exe RPT.reg,导入到如下位置(包括WOW6432Node)
    在这里插入图片描述
    如果运行C:\Windows\regedit.exe RPT.reg,则导入到如下位置(不包括WOW6432Node)
    在这里插入图片描述

  • 相关阅读:
    CSRF攻击
    STM32启动文件
    开源ESP32智能小车机械臂控制板Baize_Carboard(支持mixly)
    find(),findIndex(),indexOf()的用法与区别
    基于Web的足球青训俱乐部管理后台系统的设计与开发
    QT信号和槽的关联实现子窗口传递值给主窗口
    MySQL高级SQL语句(1)
    人脸检测及追踪回顾
    车间制造管理系统(上)
    IO流的学习1
  • 原文地址:https://blog.csdn.net/xiongpursuit88/article/details/126782161