为什么无法从命令行从 C:\SysWOW64 复制 DLL?

2024-02-29

我知道我所做的事情很奇怪,请不要担心。什么是正在发生然而,这绝对是疯狂的。

如果我尝试从以下位置复制 DLL 文件C:\SysWOW32\从命令行使用copy在 Windows 7 64 位上,我实际上最终得到了其中的文件C:\System32\。为什么会发生这种情况?

好的 - dumpbin 能够区分 DLL 文件

C:\Users\user\Desktop>dumpbin /headers C:\Windows\System32\opengl32.dll | grep machine
            8664 machine (x64)

C:\Users\user\Desktop>dumpbin /headers C:\Windows\SysWOW64\opengl32.dll | grep machine
             14C machine (x86)
             32 bit word machine

不行 - 其他命令,例如 md5sum (来自GOW https://github.com/bmatzelle/gow)得到错误的字节!

C:\Users\user\Desktop>md5sum C:\Windows\system32\opengl32.dll
\d1bbe227367ed791d5fcf08e132d2956 *C:\\Windows\\system32\\opengl32.dll

C:\Users\user\Desktop>md5sum C:\Windows\SysWow64\opengl32.dll
\d1bbe227367ed791d5fcf08e132d2956 *C:\\Windows\\SysWow64\\opengl32.dll

不正常 - 使用命令行复制 64 位 DLL

C:\Users\user\Desktop>copy C:\Windows\System32\opengl32.dll .
        1 file(s) copied.

C:\Users\user\Desktop>dir opengl32.dll
07/13/2009  06:16 PM           791,552 opengl32.dll

C:\Users\user\Desktop>md5sum opengl32.dll
d1bbe227367ed791d5fcf08e132d2956 *opengl32.dll

C:\Users\user\Desktop>dumpbin /headers opengl32.dll | grep machine
             14C machine (x86)
             32 bit word machine

错误的!为什么 32 位 DLL 会被复制?

好的 - 使用命令行复制 32 位 DLL

C:\Users\user\Desktop>copy C:\Windows\SysWOW64\opengl32.dll .
Overwrite .\opengl32.dll? (Yes/No/All): yes
        1 file(s) copied.

C:\Users\user\Desktop>dir opengl32.dll
07/13/2009  06:16 PM           791,552 opengl32.dll

C:\Users\user\Desktop>md5sum C:\Windows\System32\opengl32.dll
\d1bbe227367ed791d5fcf08e132d2956 *C:\\Windows\\System32\\opengl32.dll

C:\Users\user\Desktop>dumpbin /headers opengl32.dll | grep machine
             14C machine (x86)
             32 bit word machine

好的 - 使用资源管理器复制 64 位 DLL

<control-drag System32\opengl32.dll to desktop>

C:\Users\user\Desktop>dir opengl32.dll
07/13/2009  06:41 PM         1,039,872 opengl32.dll

C:\Users\user\Desktop>md5sum opengl32.dll
585fed4cdb8034b8b58aeb8008255817 *opengl32.dll

C:\Users\user\Desktop>dumpbin /headers opengl32.dll | grep machine
            8664 machine (x64)

好的 - 使用资源管理器复制 32 位 DLL

<control-drag SysWow64\opengl32.dll to desktop>

C:\Users\user\Desktop>dir opengl32.dll
07/13/2009  06:16 PM           791,552 opengl32.dll

C:\Users\user\Desktop>md5sum opengl32.dll
d1bbe227367ed791d5fcf08e132d2956 *opengl32.dll

C:\Users\user\Desktop>dumpbin /headers opengl32.dll | grep machine
             14C machine (x86)
             32 bit word machine

谁能解释一下这里发生了什么?


您看到的行为是由SysWOW64 文件系统重定向 https://msdn.microsoft.com/en-us/library/windows/desktop/aa384187%28v=vs.85%29.aspx

md5sum.exe是一个32位二进制,所以当它请求时C:\Windows\System32\opengl32.dll,文件系统返回C:\Windows\SysWOW64\opengl32.dll.

同样,如果您启动 32 位提示符 (C:\Windows\SysWOW64\cmd.exe),执行copy运算并输入参数C:\Windows\System32\opengl32.dll, C:\Windows\SysWOW64\opengl32.dll被复制

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么无法从命令行从 C:\SysWOW64 复制 DLL? 的相关文章

  • Powershell 调用程序集委托

    我有一个用于过程控制应用程序的 dll 程序集 我在我的内部使用 load电源外壳 script 该DLL包含我需要使用的委托类型 委托名称是 X Y Delegate 我在该 DLL 中有另一个方法 应该这样调用 Method deleg
  • 如何从网页启动 Windows 应用程序?

    我们有一个公司内部网 并且权力机构认为拥有一组代表大多数代表使用的应用程序 Outlook Excel 少数其他应用程序 的图标 链接会很好 这个想法是 如果安装了应用程序 单击链接 图标将在客户端计算机上启动该应用程序 有人曾经有过这样的
  • 无法在 Windows 7 机器中使用 OpenCV 2.4.3、Python 2.7 打开“.mp4”视频文件

    我目前正在进行一个涉及读取 mp4 视频文件的项目 我遇到的问题是它在Windows 7机器上使用Python 2 7 32位 OpenCV 2 4 3 cv2 pyd 代码片段如下 try video cv2 VideoCapture v
  • 我如何在 Visual Studio 2012 中同时构建项目(dll 和 lib)

    我设法在 dll 模式和库模式下设置构建项目 但不能同时设置 对于构建在 dll 中 项目 gt 属性 gt 配置类型 动态库 dll 项目 gt 属性 gt 目标扩展名 dll 对于内置库 项目 gt 属性 gt 配置类型 静态库 lib
  • Django - 该进程无法访问该文件,因为该文件正在被另一个进程使用

    我正在尝试在 Windows 10 上运行 Django 我是 Django 的新手 我正在使用 Compressor Toolkit 我的问题是 我可以运行 manage py 但本地主机说 base html 第 9 行出错该进程无法访
  • 如何在 Visual Basic DLL 和 C++ DLL 之间创建隔离/免注册 COM?

    我必须在 C DLL 中使用 VB COM DLL 我弄清楚了如何从 C DLL 访问 VB COM DLL 并且它可以工作 现在我遇到了一个问题 我必须使用隔离的 COM 免注册 COM 因为我无法在必须使用它的每台 PC 上注册 DLL
  • 检测反射 DLL 注入

    在过去的几年中 恶意软件 以及一些渗透测试工具 如 Metasploit 的 meterpreter 负载 已经开始使用反射 DLL 注入 PDF http www harmonysecurity com files HS P005 Ref
  • 如何安全地将对象(尤其是 STL 对象)传入和传出 DLL?

    如何将类对象 尤其是 STL 对象 传入和传出 C DLL 我的应用程序必须以 DLL 文件的形式与第三方插件交互 并且我无法控制这些插件是使用什么编译器构建的 我知道 STL 对象没有保证的 ABI 并且我担心这会导致我的应用程序不稳定
  • 操作系统什么时候清除进程的内存

    进程在某些操作系统上成功或异常终止 操作系统何时决定擦除分配给该进程的内存 数据 代码等 在退出时或当它想为新进程分配内存时 这个清除内存分配过程在所有操作系统 winXP Win7 linux Mac 上都相同吗 据我了解 页表具有该进程
  • 尝试使用适用于 Windows XP 的 Heroku 时未找到 msvcrt-ruby18.dll

    我有一个学生在 Windows XP 上进行开发 他在尝试运行时遇到了一个奇怪的错误heroku keys add 错误是 This application has failed to start because msvcrt ruby18
  • 在 Windows 上使用 docker compose 进行卷绑定

    我最近在 Windows 10 上升级了 Docker Toolbox 现在我的卷挂载不再起作用 我已经尝试了一切 这是当前的挂载路径 volumes C Users Joey Desktop backend var www html 我收
  • 如何通过批处理文件检查服务是否正在运行并启动它,如果它没有运行?

    我想编写一个执行以下操作的批处理文件 Check if a service is running 如果正在运行 请退出批处理 如果没有运行 启动该服务 到目前为止 我在谷歌上搜索的代码示例被证明不起作用 所以我决定不发布它们 启动服务是通过
  • 用于在 Windows 中自动执行桌面活动的 Python 代码

    我想使用 Python 在 Windows 环境中自动化桌面活动 怎样才能做到呢 一些例子也会有帮助 我所说的桌面活动是指控制鼠标和键盘 访问活动窗口属性 双击桌面上的图标 最小化和最大化窗口 通过键盘向输入弹出窗口输入数据等操作 看一下S
  • 仅将 Firesharp 用于 Windows 桌面推送通知

    我想在 Windows 桌面应用程序中使用 Firesharp 该应用程序只会接收来自 Firebase 的通知 并且不会有任何类型的数据库交互 Firebase Cloud Messaging FCM 是 Firebase 唯一使用的东西
  • 将 Metro 应用程序固定到任务栏 Windows 10 Powershell

    以下代码将固定 Metro 应用程序以在给定 AUMID 的情况下启动 如果你改变 match Pin To Start 不幸的是 将匹配更改为 固定到任务栏 不起作用 这里发生了什么 function Pin Taskbar param
  • GOPATH值设置

    我用go1 3 1 windows amd64 msi安装go 安装后GOROOT是默认设置 我发现 D Programs Go bin 在 PATH 中 然后我创建一个 GOPATH 环境变量 使用 go get 命令时 出现错误 软件包
  • 你知道 Windows 上有类似的 wc(unix 字数统计命令)程序吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 快速搜索给了我陶巴瓦厕所 http www tawbaware com wc htm 但它不接受 std
  • 如何检测Windows版本是否合法? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我对获取版本信息不感兴趣 我想做的就是确保我的应用程序只能在合法版本的 Windows 上运行 而不是在盗版版本上运行 Windows 使
  • 每个进程每个线程的时间量

    我有一个关于 Windows 和 Linux 中进程和线程的时间量子的问题 我知道操作系统通常为每个线程提供固定的时间量 我知道时间量根据前台或后台线程而变化 也可能根据进程的优先级而变化 每个进程有固定的时间量吗 例如 如果操作系统为每个
  • Node.js + Socket.io + Windows 7 / 8?

    我一直在到处寻找 但似乎找不到解决方案 是否可以在 Windows 7 上的 Node js 上安装 Socket io 如果没有 是否有某种替代方案 或者您知道未来有任何 Windows 支持吗 通常使用 Node js 包管理器 但是我

随机推荐

  • 链接到自身的 Grails 表

    我想创建一个链接到自身的 grails 域类 这篇相关文章提出了一个解决方案 但我无法让它工作 Grails 域类与其自身的关系 https stackoverflow com questions 1787120 grails domain
  • 电子邮件地址作为密码盐?

    使用电子邮件地址作为电子邮件地址是一个坏主意吗 salt http en wikipedia org wiki Salt 28cryptography 29要密码吗 EDIT 让我向您推荐这个在 Security StackExchange
  • python 环境区分大小写 - os.environ[...]

    我需要以独立于平台的方式访问进程的环境块 蟒蛇操作系统模块文档 http docs python org library os html不要指定任何有关区分大小写的内容os environ os getenv 在我的 ubuntu 和 wi
  • 有没有办法在 Swift 中立即生成一个填充一系列值的数组?

    在 python 中我可以生成一个值数组 Example arr range 0 30 有没有办法在 Swift 中立即生成一个填充一系列值的数组 您可以创建一个具有如下范围的数组 var values Array 0 100 这给你一个数
  • 如何使用 PostgreSQL 中的特定表获取存储过程列表?

    在 PostgreSQL 9 3 中是否有一种简单的方法来获取使用特定表的存储过程的列表 我正在更改几个表 并且需要修复使用它们的存储过程 函数体内有文本 thetable 查询返回函数名称 行号和包含 the table 的行 selec
  • QThreadPool 按顺序运行而不是并行运行,是什么导致我的代码线程不并行运行?

    我想并行运行 pyqt5 QThreads 但我的代码似乎按顺序运行 有人可以告诉我如何并行运行 QThreads 我的代码的输出 我期望它并行运行 而不是按顺序运行 Multithreading with maximum 4 thread
  • 正确跟踪 Play 商店上的安装推荐

    我有一个简单的任务 我想跟踪应用程序安装的推荐 ID 并将其传递到后端 我做了什么 我创建了一个带有额外参数的链接referrer并将其附加到邀请链接中 当它打开时 javascript检测浏览器是否是Android手机浏览器 然后准备一个
  • 非 ASCII Python 标识符和反射率 [重复]

    这个问题在这里已经有答案了 我从中学到了PEP 3131 https www python org dev peps pep 3131 Python 支持非 ASCII 标识符 尽管它不被认为是最佳实践 然而 我得到了这种奇怪的行为 我的
  • 如何从 Spring Boot 提供静态 html?

    我运行了 spring boot sample web static 项目here https github com spring projects spring boot tree 1 5 x 对 pom 进行了此更改
  • 为什么这个递归 lambda 函数不安全?

    这个问题来自lambda 函数可以递归吗 https stackoverflow com questions 14531993 can lambda functions be recursive The 接受的答案 https stacko
  • 如何在接口中表示枚举?

    我如何定义一个具有方法的接口Enum当枚举不能在接口中定义时作为参数 For an Enum不是引用类型 因此Objecttype 不能作为传入参数的类型 那怎么办呢 public enum MyEnum Hurr Durr public
  • 应用程序类“com.sun.xml.messaging.saaj.soap.SOAPPartImpl.:119”引发异常

    我正在尝试通过 Bluemix 部署 Java 应用程序 当我将其部署到本地时Liberty Server Liberty 16 0 0 2 它工作正常 我可以从SOAP client 但是当我在 Bluemix 上尝试时 它给了我这个错误
  • 当屏幕尺寸小于特定尺寸时隐藏 div 元素

    我有一个 div 元素 当浏览器的宽度小于或等于 1026px 时 我想隐藏它 这可以用CSS来做吗 media only screen and min width 1140px 如果用css无法实现 还有其他选择吗 额外信息 当 div
  • 如何隐藏 tkinter ttk.Notebook 小部件中的整个选项卡栏?

    如何隐藏 ttk Notebook 小部件中的选项卡栏 我不想隐藏属于选项卡的框架 我只想将标签栏从视线中删除 即使它不在屏幕顶部 出于多个目的 无论如何 全屏模式会很好 来自 tkinter ttk Style 的帮助 layout se
  • Spring 事务不工作 + JAX WS + JDBC

    我对这个问题有点恼火 让我们检查一下是否有人实现了类似的东西 我有一个 java 8 Web 应用程序 实现了 8 WS 其中一些 WS 通过 JDBCTemplate 进行插入和更新 由于性能需求 Hibernate 不是一个选择 如果执
  • 如何正确设置一个商店作为您的网络应用程序中的单个指针

    我有一家本土商店 有一个简单的身份映射 当我从中返回模型数组并将其绑定到控制器 模型 时 它反映了您的期望 当您第一次点击路线时 它会在模板中反映为 你会期望 但稍后 如果我获得相同的商店实例 它是单例 并将对象推送到 IdentityMa
  • Git:获取存储库中未提交行的总数

    有没有一个命令可以获取总数lines当前 git 存储库中已更改的内容 我想数数考虑分阶段和非分阶段 files 这是我能得到的最接近的 git diff cached shortstat 1 file changed 1 insertio
  • 如何在Android上读取Sim原始数据?

    有没有办法读取 Sim 卡的 原始 数据 类似于如何用SmsMessage读取原始数据这是Pdu 如需读取SIM卡相关信息 您需要电话管理器 API http developer android com reference android
  • Java java.util.logging.logger。使用数组对象作为参数

    java util logging Logger 类提供了使用这种语法的能力 int i 0 log log Level INFO int i 0 i 这将打印出 int i 0 不幸的是 当我有一个更大的值时 比如 9093 它会打印出
  • 为什么无法从命令行从 C:\SysWOW64 复制 DLL?

    我知道我所做的事情很奇怪 请不要担心 什么是正在发生然而 这绝对是疯狂的 如果我尝试从以下位置复制 DLL 文件C SysWOW32 从命令行使用copy在 Windows 7 64 位上 我实际上最终得到了其中的文件C System32