NSIS中文论坛

查看: 762|回复: 5

[教程] 操作注册表写Hex值

[复制链接]
  • TA的每日心情
    开心
    2016-7-20 12:05
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    11

    主题

    38

    帖子

    814

    积分

    积分
    814
    发表于 2015-8-6 14:24:29 | 显示全部楼层 |阅读模式
    本帖最后由 飞翔 于 2015-8-6 14:25 编辑

    在注册表里又很多Hex值需要操作,但是在nsis里面写hex值用的是WriteRegBin ,对于hex值需要特别处理后,才能成功写入。

    例如以下reg文件里面包含的内容:

    1. [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\BrowserEmulation\ClearableListData]
    2.   "UserFilter"= "hex:41,1f,00,00,53,08,ad,ba,07,00,00,00,2c,01,00,00,01,00,00,00,\
    3.   07,00,00,00,0c,00,00,00,d8,1b,12,f0,2c,d9,ce,01,01,00,00,00,0e,00,64,00,69,\
    4.   00,67,00,69,00,77,00,69,00,6e,00,2e,00,63,00,6f,00,6d,00,2e,00,63,00,6e,00,\
    5.   0c,00,00,00,e7,27,0b,54,2d,d9,ce,01,01,00,00,00,0b,00,64,00,63,00,6d,00,73,\
    6.   00,2e,00,63,00,6f,00,6d,00,2e,00,63,00,6e,00,0c,00,00,00,5b,3f,77,7d,2d,d9,\
    7.   ce,01,01,00,00,00,0b,00,64,00,69,00,67,00,69,00,77,00,69,00,6e,00,2e,00,62,\
    8.   00,69,00,7a,00,0c,00,00,00,3a,57,91,85,2d,d9,ce,01,01,00,00,00,0a,00,64,00,\
    9.   73,00,63,00,2e,00,63,00,6f,00,6d,00,2e,00,74,00,77,00,0c,00,00,00,48,25,44,\
    10.   88,2d,d9,ce,01,01,00,00,00,0c,00,31,00,37,00,32,00,2e,00,31,00,36,00,2e,00,\
    11.   32,00,30,00,2e,00,36,00,35,00,0c,00,00,00,be,d8,cf,94,2d,d9,ce,01,01,00,00,\
    12.   00,0c,00,31,00,37,00,32,00,2e,00,31,00,36,00,2e,00,32,00,30,00,2e,00,31,00,\
    13.   32,00,0c,00,00,00,79,39,3a,a0,2d,d9,ce,01,01,00,00,00,0b,00,31,00,30,00,2e,\
    14.   00,32,00,30,00,2e,00,39,00,39,00,2e,00,37,00,37,00"
    复制代码


    我们如果只是单纯的按照下面的方式下入,肯定是会失败的。


    QQ截图20150806141832.png

    我们需要对数据做一定的处理
    最终方式应该如下:

    1. WriteRegBin HKCU "Software\Microsoft\Internet Explorer\BrowserEmulation\ClearableListData" "UserFilter" "411f00005308adba12000000fe02000001000000120000000c000000d81b12f02cd9ce01010000000e006400690067006900770069006e002e0063006f006d002e0063006e000c000000e7270b542dd9ce01010000000b00640063006d0073002e0063006f006d002e0063006e000c0000006bf0efa9d60dcf01010000000b006400690067006900770069006e002e00620069007a000c0000003a5791852dd9ce01010000000a006400"
    复制代码


    不要考虑中间的“,”“\”以及前面的“hex:”。

    希望这点经验对你有所帮助



    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-12-24 14:25
  • 签到天数: 30 天

    [LV.5]常住居民I

    83

    主题

    330

    帖子

    3245

    积分

    积分
    3245
    发表于 2015-8-6 14:42:31 | 显示全部楼层
    不错不错
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2017-1-6 18:49
  • 签到天数: 77 天

    [LV.6]常住居民II

    25

    主题

    118

    帖子

    7137

    积分

    积分
    7137
    发表于 2015-8-6 18:30:05 | 显示全部楼层
    很有帮助
    回复

    使用道具 举报

    该用户从未签到

    3

    主题

    11

    帖子

    111

    积分

    积分
    111
    发表于 2015-9-24 14:15:32 | 显示全部楼层
    楼主,我想知道往注册表写入建值的的具体做法是什么?比如用NSIS制作的软件安装包在安装时要往注册表写一个开机启动和添加右键菜单的功能键值,怎么做到? 或者是用什么编译代码吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-7-20 12:05
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    11

    主题

    38

    帖子

    814

    积分

    积分
    814
     楼主| 发表于 2015-10-28 17:38:41 | 显示全部楼层
    净化软件 发表于 2015-9-24 14:15
    楼主,我想知道往注册表写入建值的的具体做法是什么?比如用NSIS制作的软件安装包在安装时要往注册表写一个 ...

    首先你得知道基本的nsis翻译原理和操作方法吧?

    上面的例子里已经有相应的操作了,对吧
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    7

    帖子

    114

    积分

    积分
    114
    发表于 2016-4-3 20:54:47 | 显示全部楼层
    感谢大大科普醍醐灌顶,之前直接调用导入reg,感觉很山寨。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|小黑屋|联系我们| NSIS中文论坛  

    GMT+8, 2017-1-19 04:07 , Processed in 0.347951 second(s), 34 queries .

    Powered by Discuz!X3.2

    © NSISFANS.COM

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