设为首页 收藏本站

NSIS中文论坛

查看: 56|回复: 0

[源码] reg2nsi支持WriteRegExpandStr下的问题

[复制链接]
  • TA的每日心情
    开心
    2016-2-14 15:53
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    9

    帖子

    110

    积分

    积分
    110
    发表于 2019-5-7 14:49:35 | 显示全部楼层 |阅读模式
    本帖最后由 yunyan100 于 2019-5-8 12:33 编辑

    增加reg2nsi,发现问题:开始最后00没有清除,用上"IntFmt $R1 %c $R1"居然清除了,还有就是要数字转回字符(E:\Users\Default ),有高手指导下
    .reg
    1. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList]
    2. "Default"=hex(2):45,00,3a,00,5c,00,55,00,73,00,65,00,72,00,73,00,5c,00,44,00,\
    3.   65,00,66,00,61,00,75,00,6c,00,74,20,00,00
    复制代码


    .nsi没清除最后一组
    1. WriteRegExpandStr HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" "Default" "453a5c55736572735c44656661756c742000"
    复制代码

    .nsi已清除
    1. WriteRegExpandStr HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" "Default" "453a5c55736572735c44656661756c7420"
    复制代码

    1.png

    1.         StrCpy $R1 $R0 7
    2.         StrCmp $R1 "hex(2):" expand
    复制代码
    1. expand:
    2.         StrCpy $R0 $R0 "" 7
    3.         StrCmp $R0 "" 0 +3
    4.         Goto done
    5.                 StrCpy $R1 0
    6.         loopa:
    7.                 StrCpy $R2 $R0 1 $R1
    8.                 StrCmp $R2 "," converta
    9.                 StrCmp $R2 "" loop_quita
    10.                 IntOp $R1 $R1 + 1
    11.                 Goto loopa
    12.         converta:
    13.         StrCpy $R2 $R0 $R1
    14.         IntOp $R1 $R1 + 1
    15.         StrCpy $R0 $R0 "" $R1
    16.         StrCpy $R0 $R2$R0
    17.         Goto loopa
    18.         loop_quita:
    19.         StrCpy $R1 0
    20.         loopb:
    21.         StrCpy $R2 $R0 2 $R1
    22.                 StrCmp $R2 "00" convertb
    23.                 StrCmp $R2 "" loop_quitb
    24.                 IntOp $R1 $R1 + 2
    25.                 Goto loopb
    26.                 convertb:
    27.         StrCpy $R2 $R0 $R1
    28.         IntOp $R1 $R1 + 2
    29.         StrCpy $R0 $R0 "" $R1
    30.         IntFmt $R1 %c $R1 ;最后00删除了
    31.         StrCpy $R0 $R2$R0
    32.         Goto loopb
    33.         loop_quitb:
    34.         StrCpy $R0 'WriteRegExpandStr $9 "$8" "$7" "$R0"'
    35.         Goto done
    复制代码





    回复

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2019-5-25 05:20 , Processed in 0.080351 second(s), 17 queries , MemCache On.

    Powered by Discuz!X3.3

    Copyright © 2015-2018 NSIS中文论坛

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