RSS订阅追求最高效、最简单的解决方案
你的位置:首页 » autoit3研究 » 正文

X64位系统下操作注册表写入的问题

选择字号: 超大 标准 技术小哥 发布于2018年01月03日 属于 autoit3研究 栏目  0个评论 10521人浏览

前几天有个网友跟我讨论一个问题,问题的内容是X86的程序在对注册表“HKEY_LOCAL_MACHINE\SOFTWARE\”下键值写入时候发现被莫名其妙写到“HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node”下了,由于本屌丝对注册表写入这块操作不是很多,所以当时比较怀疑这个情况。最后经过测试发现确实如此。

无独有偶,今天在做进程禁止工具时候发现X86程序在X64环境下获取进程路径也存在获取不到的问题,于是去CSDN查资料的过程中无意发现了这篇文章64位系统下文件重定向和注册表重定向,经过查看后才知道原来是权限问题

32位程序在访问这些键的时候,会访问到下一级的Wow6432Node子键上去(自动定位,由WOW64机制来完成),最后尝试了下,发现果真如此。

那么解决办法也非常简单了


RegWrite ("HKEY_LOCAL_MACHINE\SOFTWARE\ICafe8","123","REG_SZ","000") ;这种写法在win764位下会自动的写到HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ICafe8下去

RegWrite ("HKEY_LOCAL_MACHINE64\SOFTWARE\ICafe8","123","REG_SZ","000") ;这种写法在win764位下就不会被重定向了


我们还会发现如果使用X86程序来调用regedit /s命令导入的reg文件里面包含64位注册表路径的话,也会自动给导入到X86(Wow6432Node)路径下面,例如123.reg文件里面为HKEY_LOCAL_MACHINE\SOFTWARE\Client。那么使用regedit /S 123.reg的话会被写入到HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Client下面。解决办法需要使用add reg命令处理


Wow64DisableWow64FsRedirection函数将重定向关闭,然后再用Wow64RevertWow64FsRedirection恢复即可。


相关阅读:

http://blog.csdn.net/jiangqin115/article/details/40923083


【扫描下方二维码关注公众号,定期推送最新、最专业的技术知识。推荐关注!】

文件搜索工具xsearch 工具分享 第2张


打赏

标签:au3注册表重定向

1
右侧2016一起努力
最新发布的文章
最新评论

公告

十年相伴 值得信赖 需要定制开发、购买加速器可以联系 QQ1368762345,微信同号