找回密码
 加入
搜索
查看: 5575|回复: 13

[系统综合] [已解决]关于AU3写注册表REG_BINAY键值与.reg导入不一致的问题

  [复制链接]
发表于 2012-6-21 21:45:41 | 显示全部楼层 |阅读模式
本帖最后由 邪恶海盗 于 2012-6-22 13:16 编辑
"ShowOpenPreview"=hex:01
"OpenDefFilter"=hex:00,00,00,00
"ShellViewAssoc"=hex:01
"ShellPrintAssoc"=hex:01
"ShellBrowseAssoc"=hex:01
"ImageHiliteClr"=hex:ff,ff,c8,00
"ImageHiliteClr8"=hex:ff,ff,00,00
"ViewerTBStyle"=hex:02 
"PrintSetup"=hex:00,00,80,3f,00,00,80,3f,00,00,80,3f,00,00,80,3f,01,01,01,00,\
  01,01,01,00,2c,01,00,00,9a,99,99,3f,00,00,c0,40,00,00,c0,40,00,00,80,3f,00,\
  00,80,3f
这个某软件写入的注册表键值,导出为.reg,可以直接双击添加至注册表,
仔细观察发现貌似是2进制和16进制混合的,用Reg2Au3转换后不管2进制还是16进制都直接将上面的hex后的值直接原样调用了,
如:
RegWrite ('HKEY_LOCAL_MACHINE\SOFTWARE\XXX',"ShowOpenPreview","REG_BINARY",'01')
RegWrite ('HKEY_LOCAL_MACHINE\SOFTWARE\XXX',"OpenDefFilter","REG_BINARY",'00000000')
RegWrite ('HKEY_LOCAL_MACHINE\SOFTWARE\XXX',"ShellViewAssoc","REG_BINARY",'01')
RegWrite ('HKEY_LOCAL_MACHINE\SOFTWARE\XXX',"ShellPrintAssoc","REG_BINARY",'01')
RegWrite ('HKEY_LOCAL_MACHINE\SOFTWARE\XXX',"ShellBrowseAssoc","REG_BINARY",'01')
RegWrite ('HKEY_LOCAL_MACHINE\SOFTWARE\XXX',"ImageHiliteClr","REG_BINARY",'ffffc800')
RegWrite ('HKEY_LOCAL_MACHINE\SOFTWARE\XXX',"ImageHiliteClr8","REG_BINARY",'ffff0000')
RegWrite ('HKEY_LOCAL_MACHINE\SOFTWARE\XXX',"ViewerTBStyle","REG_BINARY",'02')
RegWrite ('HKEY_LOCAL_MACHINE\SOFTWARE\XXX',"PrintSetup","REG_BINARY",'0000803f0000803f0000803f0000803f01010100010101002c0100009a99993f0000c0400000c0400000803f0000803f')
这样运行之后写入的数据部分会出错..

求高淫释疑...
发表于 2012-6-21 21:49:07 | 显示全部楼层
Hex分两种  Hex:XXXXXXXX  Hex(2):XXXXXXXXX
发表于 2012-6-21 22:25:36 | 显示全部楼层
回复 1# 邪恶海盗
你先看看你写出来的binary值,是binary数据吗
回复 2# Qokelate
不止,还有hex(7)
发表于 2012-6-21 22:26:19 | 显示全部楼层
Reg2Au3转化就一定准吗?不会自己写么
 楼主| 发表于 2012-6-21 23:06:54 | 显示全部楼层
回复 3# netegg


    不明白,注册表导出来的就是2进制和16进制混合的...
 楼主| 发表于 2012-6-21 23:07:38 | 显示全部楼层
回复 4# haijie1223


    关键是16进制类似FFFF8080,303021这样的如何处理?
发表于 2012-6-21 23:39:23 | 显示全部楼层
Binary('0xFFFF8080')
发表于 2012-6-22 02:31:52 | 显示全部楼层
回复 5# 邪恶海盗
首先不管注册表类型,如果是纯二进制,怎么可能有f,如果是16进制表示的二进制,前置的0x呢
 楼主| 发表于 2012-6-22 08:28:07 | 显示全部楼层
回复  邪恶海盗
首先不管注册表类型,如果是纯二进制,怎么可能有f,如果是16进制表示的二进制,前置的0x ...
netegg 发表于 2012-6-22 02:31



    我就是搞不懂啊,直接导出的.reg就是那样的
 楼主| 发表于 2012-6-22 09:43:31 | 显示全部楼层
haijie1223 发表于 2012-6-21 23:39



    所有的REG_BINAY值都改成Binay("0x***")的形式成功...

难道说注册表导出的REG_BINAY值都是16进制的???
发表于 2012-6-22 11:33:32 | 显示全部楼层
回复 10# 邪恶海盗
默认会自动转换
 楼主| 发表于 2012-6-22 13:16:42 | 显示全部楼层
回复  邪恶海盗
默认会自动转换
netegg 发表于 2012-6-22 11:33



    操蛋的注册表...
发表于 2012-6-22 13:31:10 | 显示全部楼层
回复 12# 邪恶海盗

不是注册表的事,可能是你使用的编辑器的事,编辑器通常不会直接输出二进制,不过不清楚具体情况
 楼主| 发表于 2012-6-22 20:14:59 | 显示全部楼层
回复  邪恶海盗

不是注册表的事,可能是你使用的编辑器的事,编辑器通常不会直接输出二进制,不过不清楚 ...
netegg 发表于 2012-6-22 13:31



我的意思是为什么导出来的.reg是16进制而非二进制...
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-6-11 23:30 , Processed in 0.084292 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表