首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NSIS:查找带有通配符的注册表项

NSIS(Nullsoft Scriptable Install System)是一种开源的安装脚本语言和工具集,用于创建Windows平台上的安装程序。它提供了一种简单而强大的方式来创建自定义的安装程序,可以用于软件的安装、升级和卸载。

NSIS支持使用通配符来查找注册表项。通配符是一种模式匹配的方法,可以用来查找符合特定模式的注册表项。在NSIS中,可以使用通配符来查找注册表项的键名或键值。

NSIS提供了几个用于查找注册表项的函数,包括:

  1. ReadRegStr:用于读取注册表项的字符串值。
  2. ReadRegDWORD:用于读取注册表项的32位整数值。
  3. ReadRegStrHKLM:用于读取HKEY_LOCAL_MACHINE(本地机器)下注册表项的字符串值。
  4. ReadRegDWORDHKLM:用于读取HKEY_LOCAL_MACHINE下注册表项的32位整数值。

使用通配符查找注册表项的示例代码如下:

代码语言:txt
复制
Section
  ; 查找以"Software\Microsoft\Windows\CurrentVersion\Uninstall\*"开头的注册表项
  ReadRegStr $0 HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\*" $1
  ; $0为返回的错误代码,0表示成功
  ; $1为返回的注册表项的值

  ; 如果找到了符合条件的注册表项
  IfErrors 0 found
  ; 如果没有找到符合条件的注册表项
  MessageBox MB_OK "未找到符合条件的注册表项"
  Goto done

  found:
  ; 找到了符合条件的注册表项,可以在这里进行相应的操作
  MessageBox MB_OK "找到了符合条件的注册表项,值为:$1"

  done:
SectionEnd

NSIS的优势在于它的简单易用性和灵活性。它提供了丰富的内置函数和命令,可以方便地进行各种操作,如文件复制、注册表操作、创建快捷方式等。同时,NSIS的脚本语言也支持自定义函数和插件,可以满足更复杂的需求。

NSIS的应用场景包括但不限于:

  • 软件安装程序的创建:NSIS可以用于创建自定义的软件安装程序,包括界面设计、文件复制、注册表操作、快捷方式创建等。
  • 软件升级和更新:NSIS可以用于创建软件的升级和更新程序,可以自动检测旧版本并进行相应的升级操作。
  • 软件卸载程序的创建:NSIS可以用于创建软件的卸载程序,可以自动删除相关文件、注册表项等。

腾讯云提供了一系列与云计算相关的产品,包括云服务器、云数据库、云存储等。具体推荐的腾讯云产品和产品介绍链接地址可以根据具体需求来确定。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

解密 Qakbot 加密注册表项

Qakbot 创建加密注册表项示例 那里只有一些关于 Qakbot 详细分析,但在其中我们并没有真正找到有关如何解密这些注册表项任何技术细节。...秘密帐户"mit_crc32_shift4(PASSWORD) // 返回值“\xac\xe9\xb5\x8d”密码哈希 = “\xac\xe9\xb5\x8d” 配置 ID Qakbot 恶意软件创建每个注册表项值名称都是由一字节...xaf\x46\xeb\xc0\xe3\xc7\xf6 \x9b\xf1\x97\x2b\x05\xd5\xca\x06\x8f SHA1 哈希结果将用作派生密钥,以使用 RC4 算法解密与 ID 相关注册表项值数据...x0e\x00\x00\x00" + "\xac\xe9\xb5\x8d") -> "\x6a\xae\x40\xdd" 下面的屏幕截图显示了可以使用 DERIVED_KEY 使用 RC4 算法解密特定注册表项值名称...解密工具: 我们编写了一个解密工具来帮助这个过程,它可以在我们Github 帐户存储库中找到。该工具可以帮助恶意软件逆向者和安全研究人员解密 Qakbot 注册表项

78110

DACL原理.控制文件访问权限(文件,注册表.目录.等任何带有安全属性对象.)

说是他控制位.找了一圈没找到有用信息. 暂且不管.其实主要就是后面后括号里面的内容. 这些内容代表是权限.是你访问权限. 是ACE信息. 关于这个看一下 ACE Strings即可....里面有说这个ACE是来组成SDDL权限....代表是 内置客人用户,相应 BU是内置用户 BA是内置管理员 可以根据上面所说.查询SID 字符串代表意思 我这里代码是创建了文件.DACL是我自己控制....根据ACE字符串格式可以得出我文件安全权限为: 1.是一个拒绝访问用户 2.是一个允许 对象继承还有容器继承. 3.是有可读可写属性. 4.使用BA 说明是内置管理员 看下文件安全属性...如果想要添加新用户.可以继续参考MSDN创建DACL一章. 理解了原理. SDDL字符串不就是自己手动改改事情.

2.1K30

NSIS 打包脚本基础

这如其名字所指出那样,NSIS 是通过它脚本语言来描述安装程序行为和逻辑NSIS 脚本语言和通常编程语言有类似的结构和语法,但它是为安装程序这类应用所设计。...工具: HW VNISEdit(NSIS脚本编辑器) 1、 使用编辑器中NSIS脚本向导功能,自动生成对应nsi脚本。...${NSISDIR} 包含 NSIS 安装目录一个标记。在编译时会检测到。...如果指定了 /ifempty,则该注册表键仅当它无子键时才会被删除(否则,整个注册表键将被删除)。有效根键值在后面的 WriteRegStr 列出。...(3)IfFileExists 要检测文件 文件存在时跳转标记 [文件不存在时跳转标记] 检测“要检测文件”是否存在(可以用通配符,或目录),并当文件存在时跳转到“文件存在时跳转”,否则跳转到“

4.6K60

GuLoader 转向使用 NSIS 历程

【PE 文件中 NSIS 压缩数据】 垃圾邮件 2021 年 11 月,攻击者开始使用 NSIS 可执行文件前,研究人员发现了一个可疑 ZIP 文件。...该文件包含一个带有宏代码 Word 文档,宏代码会释放一个 LNK 文件与 VBS 脚本。VBS 脚本文件会释放 PE 文件,再加载 GuLoader Shellcode。...【ZIP 文件中 NSIS】 【ISO 镜像文件中 NSIS】 在压缩文件与镜像文件中嵌入可执行文件是能够进行检测逃避,在野发现可用于嵌入 NSIS 可执行文件格式如下所示: 【格式列表】...【简单 NSIS 脚本】 后来,攻击者开始使用混淆 NSIS 脚本。在 2022 年 4 月,攻击者对其进行两次改进。首先,Shellcode 文件扩展名从 .dat 更改为随机扩展名。...脚本使用带有 powershell.exe 或 cmd.exe 单行命令来执行对 Payload 异或解码,再通过 ExecToStack 从命令 stdout 检索。

64030

图解使用VS安装项目打包程序

由于篇幅原因,先介绍第一阶段:直接使用VS自带安装项目打包程序。 后面会陆续介绍:自定义安装界面(不适用windows默认风格),使用NSIS脚本制作打包程序。 1. 建立安装项目工程 1.1....然后打开你创建那个快捷方式属性对话框, 在Aguements属性中输入"/x {ProductCode}", ? 安装程序后,打开注册表,可以查看到卸载信息。...添加注册表 (1) 在“解决方案资源管理器”窗口中选中安装项目,单击鼠标右键,在弹出对话框中选择“视图/注册表”选项,如图: ?...(4)选中添加注册表项值,单击鼠标右键,选择“属性窗口”选项,弹出“属性”窗口,如图,这里可以对注册表项值作修改。 按照以上步骤,就可以为安装程序添加一个注册表项。...在程序安装成功后,查看注册表,可以看到到我们写入键值。 ? 7. 添加、修改安装页面 VS支持对安装程序添加、修改安装页面。但是我在尝试中发现,不够灵活。只能使用默认样式风格。

1.7K50

PowerShell实战:文件操作相关命令笔记

可创建项类型取决于项位置。 例如,在文件系统 New-Item 中创建文件和文件夹。 在注册表中, New-Item 创建注册表项和条目。New-Item 还可以设置它创建值。...还可以通过管道将值传递给 New-Item ● -Confirm:用于创建操作运行cmdlet之前是否需要确认 ● -Force:针对文件夹,不会覆盖,只会返回之前创建文件夹,针对文件或者注册表会覆盖文件内容...它支持删除许多不同类型项,包括文件、文件夹、注册表项、变量、别名和函数。...Exclude *test*说明:-Include:包含某个字符串,支持通配符-Exclude:排除某个字符串,支持通配符 使用递归方式删除当前目录和子目录中所有的txt文件Get-ChildItem...文件重命名,当前demo.txt 文件名修改为 demonew.txtRename-Item demo.txt -NewName "demonew.txt"重命名该注册表项Rename-Item -Path

27320

PowerShell实战:Get-Item命令使用详解

一般搭配使用通配符 (*) 来获取项目的包含项目。如果不使用*的话只是获取当前项内容。 一、语法格式 二、示例 获取当前目录 说明: ....表示位于当前位置项 获取当前目录中所有项 说明: 通配符 (*) 表示当前项所有内容 获取指定目录所有的项 注意:文件目录不要出现特殊字符,比如空格 等,否则执行会报错。具体看下图。...获取目录属性,这里获取文件创建时间 查看目录所有属性 语法格式:(Get-Item 文件按目录) | Get-Member 获取注册表项目的内容 首先打开注册表,找到蓝牙注册表进行测试对比 输出结果...-Include:包含一个或多个项作为字符串数组,可以使用通配符,简单来说就是根据文件名称进行过滤筛选,参数类型为字符串数组[]。...针对不同提供程序(文件、注册表、硬链接等等)有不同实现。 -Stream:文件系统提供程序提供动态参数。仅在 Windows 上可用。

28810

Electron实用技巧-electron-builder中用户协议(license)使用及多语言支持

首先参考官网介绍:windows:nsis[1],macOS:dmg[2] # 2 官网上关于license配置说明写不是很详细,下面是我实践总结出正确姿势: 最简单方法是在你项目/build...但是ANSI在macOS下是不行,所以更推荐方案是使用 “带有BOMUTF-8“,这样在windows,macOS下都可以使用。...关于语言代码官网给出参考是language code to name[3],这里有个错误,中文对应是zh,实际上简体中文应该写zh_CN。...,默认跟随系统语言): nsis: { oneClick: false, allowToChangeInstallationDirectory: true, displayLanguageSelector...: true, }, 打包后安装,选择语言: 英文: 中文: macOS: 参考资料 [1] nsis: https://www.electron.build/configuration/nsis [

2.3K40

NSIS 打包 Electron 项目的注意事项(拖拽、权限、兼容性等)

我自己本人不做 Electron 开发,但有一位合作伙伴在使用 NSIS 打包 Electron 应用时候遇到了一些问题,主要问题有以下几个,先记录下来,然后追个击破。...,告诉系统我们启动自己应用时使用 Windows 7 兼容模式运行,示例注册表如下: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\...脚本中写入这个注册表,可以像下面这样操作: Section -Post WriteUninstaller "$INSTDIR\uninst.exe" WriteRegStr HKCU "Software...WriteRegStr 方法写入到了注册表中,给它设置值是 WIN7RTM,这样应用在启动时候,就会以 Windows 7 兼容性模式运行了。...安装或卸载前结束应用 需要两个插件,一个是 KillProcDLL.dll,另一个是 FindProcDLL.dll,这两个插件均可以从 NSIS 官网下载。

88620

用腾讯云云API和PHP写一个查找域名是否可注册API

在批量查询时,可以直接通过Python调用,比起官网批量查询要灵活得多(官网还要先用Python生成列表再复制,而且一次查太多网页还容易出问题)。...唯一解决方法是准备多个账号,但账号分配成了问题。 使用场景:个人使用 均匀分配 统计每个账户调用次数,每次选择最小使用。 问题:还得弄数据库什么,太麻烦。...frequency of calls." }, "RequestId": "fd5f460b-3eb7-4a48-a00b-4a39b3fee63b" } } 域名无法注册返回值...常见有两种,一种是被注册了没法注册 "该域名已被注册,请选择其他域名" { "Response": { "DomainName": "ius.cn", "FeeTransfer...(至少在腾讯云无法注册,别的平台不清楚),但要注意,这只能说明这个域名有敏感词,不能说明没有被注册,腾讯云逻辑是先检查敏感与否再检查是否被注册了。

4K30

在 Microsoft Windows 平台上安装 JDK 17

UninstallString,请参阅 查找 JDK 注册表项和 卸载字符串值 。...查找 JDK 注册表项和 UninstallString 价值 转到 开始 并键入 注册 。...在下面 Uninstall文件夹, 您会在 curl 中找到许多注册表项 括号。 点击 编辑 ,然后 查找 。 笔记: 强调 Uninstall之前文件夹 执行搜索特定注册表。...输入版本字符串作为值以查找相应注册表 钥匙。 例如,输入 jdk-15 。 注册表项突出显示在 窗格右侧和各种值 卸载字符串显示在左侧 窗格。...要删除注册表项: 确定正确注册表项。 请参阅 查找 JDK 注册表项和 UninstallString 价值 。 突出显示该键, 右键单击 并选择 删除 。 单击 是 出现提示时 。

26110

【有奖征文】用云API和PHP写一个查找域名是否可注册API

在批量查询时,可以直接通过Python调用,比起官网批量查询要灵活得多(官网还要先用Python生成列表再复制,而且一次查太多网页还容易出问题)。...唯一解决方法是准备多个账号,但账号分配成了问题。使用场景:个人使用均匀分配统计每个账户调用次数,每次选择最小使用。问题:还得弄数据库什么,太麻烦。...frequency of calls." }, "RequestId": "fd5f460b-3eb7-4a48-a00b-4a39b3fee63b" }}域名无法注册返回值常见有两种...,一种是被注册了没法注册"该域名已被注册,请选择其他域名"{ "Response": { "DomainName": "ius.cn", "FeeTransfer":...(至少在腾讯云无法注册,别的平台不清楚),但要注意,这只能说明这个域名有敏感词,不能说明没有被注册,腾讯云逻辑是先检查敏感与否再检查是否被注册了。"

8.2K43

volatility 各个选项详解

DLL lsadump:从注册表中提取LSA密钥信息(已解密) machoinfo:转储Mach-O文件格式信息 malfind:查找隐藏和插入代码 mbrparser...poolpeek:可配置池扫描器插件 printkey:打印注册表项及其子项和值 privs:显示进程权限 procdump:进程转储到一个可执行文件示例 ....psscan:进程对象池扫描 pstree:以树型方式打印进程列表 psxview:查找带有隐藏进程所有进程列表 qemuinfo:转储Qemu信息 raw2dmp...:_MM_SESSION_SPACE详细信息列表(用户登录会话) shellbags:打印shellbags信息 shimcache:解析应用程序兼容性Shim缓存注册表项 shutdowntime...timers:打印内核计时器及关联模块DPC truecryptmaster:恢复TrueCrypt 7.1a主密钥 truecryptpassphrase:查找并提取TrueCrypt

4.8K20
领券