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

NSIS系统内核32::LoadLibrary不搜索Outdir或路径

NSIS系统内核32是一种用于创建Windows安装程序的开源工具。它提供了一套脚本语言和一组API,使开发人员能够自定义安装程序的行为和外观。

在NSIS系统内核32中,LoadLibrary函数用于加载动态链接库(DLL)。然而,默认情况下,LoadLibrary函数不会搜索Outdir或路径,因此需要手动指定DLL的完整路径。

优势:

  1. 灵活性:NSIS系统内核32提供了丰富的脚本语言和API,使开发人员能够根据自己的需求自定义安装程序的行为和外观。
  2. 轻量级:NSIS系统内核32本身的体积较小,安装程序生成的安装包也相对较小,减少了网络传输和存储的成本。
  3. 易用性:NSIS系统内核32具有简单易学的脚本语言,使开发人员能够快速上手并创建自己的安装程序。

应用场景: NSIS系统内核32广泛应用于Windows软件的安装程序开发。无论是个人开发者还是企业开发团队,都可以使用NSIS系统内核32来创建自定义的安装程序,以便更好地向用户展示和分发他们的软件。

推荐的腾讯云相关产品: 腾讯云提供了一系列与云计算相关的产品和服务,以下是一些与NSIS系统内核32开发相关的推荐产品:

  1. 云服务器(CVM):提供弹性的虚拟服务器,可用于部署和运行NSIS系统内核32开发环境。
  2. 对象存储(COS):提供安全可靠的云存储服务,可用于存储NSIS系统内核32生成的安装包和相关文件。
  3. 云监控(Cloud Monitor):提供全面的监控和告警功能,可用于监控NSIS系统内核32开发环境的性能和运行状态。

更多关于腾讯云产品的详细信息,请访问腾讯云官方网站:腾讯云

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

相关·内容

NSIS 打包脚本基础

简介 NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序。它提供了安装、卸载、系统设置、文件解压缩等功能。...除了用户自定义的变量外,nsi脚本中定义了寄存器变量$0~$9,$R0~$R9用于参数传递,以及系统变量用于特定用途,这些变量主要有: $INSTDIR 用户定义的解压路径。...Windows 系统目录(通常为 C:\windows\system C:\winnt\system32 但在运行时会检测) $TEMP 系统临时目录(通常为 C:\windows\temp...如果使用了 /nonfatal 开关且当文件未找到时使用警告来代替错误 如果使用了 /a 开关,则被添加的文件的属性将会保持 如果使用了 /r 开关,匹配的文件将会在子目录里被递归的搜索。...($OUTDIR)且当路径不存在时创建(需要时会递归创建)。

4.9K60

进程注入1:通过LoadLibrary注入DLL

函数时,系统会尝试查找DLL,如果搜索成功,则系统将DLL模块映射到进程的虚拟地址空间中,并增加引用计数。...系统在名为LoadLibraryLoadLibraryEx的线程的上下文中调用入口点函数。...如果系统找不到DLL入口点函数返回FALSE,则LoadLibraryLoadLibraryEx返回NULL。...该GetModuleFileName函数检索模块通过返回的句柄相关联的完整路径的GetModuleHandle,LoadLibraryLoadLibraryEx。...如果用户可以提供缺少的DLL的完整路径,则该进程可以使用此信息来加载DLL,即使它不在常规搜索路径中也是如此。这种情况与加载时链接形成对比,在加载时链接中,如果找不到DLL,系统将简单地终止进程。

2.4K30
  • DLL劫持详解

    Windows操作系统通过“DLL路径搜索目录顺序”和“Know DLLs注册表项”的机制来确定应用程序所要调用的DLL的路径,之后,应用程序就将DLL载入了自己的内存空间,执行相应的函数功能。...DLL路径搜索目录顺序 1.程序所在目录 2.程序加载目录(SetCurrentDirectory) 3.系统目录即 SYSTEM32 目录 4.16位系统目录即 SYSTEM 目录 5.Windows...); LoadLibraryEx的最后一个参数设置为LOAD_WITH_ALTERED_SEARCH_PATH即可让系统dll搜索顺序从我们设置的目录开始 image-20211002165004352...dll进行劫持,因为在这个路径里面的dll是优先加载的,加载之后已经进入内核空间,想要劫持难度很大。...4个导出函数 image-20211003105128024 那么这里用vs新建一个dll,把这4个导出函数由我们自己来写,这里尝试转发即时调用,如果不成功在尝试转发 image-20211003105143383

    2K20

    实战 | DLL劫持思路和研究

    Windows操作系统通过“DLL路径搜索目录顺序”和“Know DLLs注册表项”的机制来确定应用程序所要调用的DLL的路径,之后,应用程序就将DLL载入了自己的内存空间,执行相应的函数功能。...DLL路径搜索目录顺序 1.程序所在目录 2.程序加载目录(SetCurrentDirectory) 3.系统目录即 SYSTEM32 目录 4.16位系统目录即 SYSTEM 目录 5.Windows...LoadLibrary和LoadLibraryEx一个是本地加载,一个是远程加载,如果DLL不在调用的同一目录下,就可以使用LoadLibrary(L"DLL绝对路径")加载。...); LoadLibraryEx的最后一个参数设置为LOAD_WITH_ALTERED_SEARCH_PATH即可让系统dll搜索顺序从我们设置的目录开始 这里使用vs2019编译一个dll 这里使用到...dll进行劫持,因为在这个路径里面的dll是优先加载的,加载之后已经进入内核空间,想要劫持难度很大。

    1.9K20

    内核漏洞利用:通过WARBIRD在Windows 10上提升权限

    为了加载我们的DLL,我们将使用另一个Win32 API调用LoadLibrary,它可以获取DLL的路径并将其动态加载到进程地址空间中。...2.使用VirtualAllocEx分配足够的空间以便复制我们的LoadLibrary参数值,这将成为用于利用的DLL的路径。...4.最后,使用CreateRemoteThread生成一个线程并在远程进程中执行LoadLibrary调用,将复制的DLL路径地址作为参数传递。...从内核返回 不幸的是,在处理内核漏洞利用时,如果不先确认操作系统是否处于安全状态,我们就不能让我们的利用返回。...当内核地址空间中的内存被破坏时,保持操作系统正常运行会变得非常困难,这个exploit也例外。 简单地通过retret 0xc指令将执行返回给内核将导致如下所示结果: ?

    1.6K80

    最新dll劫持详解

    Windows操作系统通过“DLL路径搜索目录顺序”和“Know DLLs注册表项”的机制来确定应用程序所要调用的DLL的路径,之后,应用程序就将DLL载入了自己的内存空间,执行相应的函数功能。...DLL路径搜索目录顺序 1.程序所在目录 2.程序加载目录(SetCurrentDirectory) 3.系统目录即 SYSTEM32 目录 4.16位系统目录即 SYSTEM 目录...); LoadLibraryEx的最后一个参数设置为LOAD_WITH_ALTERED_SEARCH_PATH即可让系统dll搜索顺序从我们设置的目录开始 [image-20211002165004352...dll进行劫持,因为在这个路径里面的dll是优先加载的,加载之后已经进入内核空间,想要劫持难度很大。...4个导出函数 [image-20211003105128024.png] 那么这里用vs新建一个dll,把这4个导出函数由我们自己来写,这里尝试转发即时调用,如果不成功在尝试转发 [image-20211003105143383

    2.9K30

    Windows平台LoadLibrary加载动态库搜索路径的问题

    当然,我们也可以在环境变量里面增加一条路径,但是这容易污染环境变量,或者与其他的程序库产生冲突。LoadLibrary在这个时候就产生作用了。...LoadLibrary通过将指定路径的动态库加载到当前的调用进程,然后获取其导出的函数就可以正常使用了。对于像第三方插件这样的应用场景,LoadLibrary可以说是个不错的实现方式。...程序先从注册表中获取core.dll所在的文件夹,然后设置到DLL的搜索路径中。最后再调用LoadLibrary加载它。在最初开发及发布后,插件运行的很好。...看MSDN的解释是,LoadLibrary会先从调用进程的目录下搜索动态库的依赖。这样的行为显然不是我们想要的。这个时候,我们还有个选择:使用LoadLibraryEx。...DLL搜索顺序从DLL所在目录开始。

    4.7K50

    VC下提前注入进程的一些方法1——远线程不带参数

    首先说LoadLibrary ,这个函数只有一个参数,需要传递Load的DLL路径。那么什么地方保存这个参数呢?...如果采用的相对路径,windows会优先在本进程所在的目录下寻找这个文件,最后回去到系统相关文件夹下去找。但是它肯定不会全盘去搜索这个文件的。...我们Load DLL文件的函数是LoadLibrary,这个函数是Kernel32.dll中的导出函数。...像Kernel32.dll、NtDll.dll等这些系统关键DLL是被映射到系统的0x7FFFFFFF~0xFFFFFFFF(32系统)地址空间,说到这里不得不介绍windows系统的内存管理问题,32...位系统下进程内存地址上限是4G,而程序自身只能在低2G内,高2G是系统文件的映射。

    87220

    默认的 DLL 搜索路径优先级

    结论 在默认情况下,Windows 加载程序在用户磁盘上搜索 DLL 的搜索顺序: 包含可执行文件的目录。...Windows 的系统目录,该目录可以通过 GetSystemDirectory 得到,一般为 System32 目录,若为 32 位程序跑在 64 位系统下,则为 SysWOW64 目录。...如果调用 LoadLibrary 时传入的是绝对路径,那么加载程序将只尝试从该绝对路径搜索 DLL。...附注 以上结论在「Windows 核心编程」中列出,书中指出: 注意,对应用程序当前目录的搜索位于 Windows 目录之后,这个改变始于 Windows XP SP2,其目的是防止加载程序在应用程序的当前目录中找到伪造的系统...另外,有一些其它方法可以改变加载程序的搜索顺序,已知的有: SetDllDirectory 函数。如果传入一个有效路径,那么它将被插入在默认顺序的 1 与 2 之间。

    3.1K10

    白加黑免杀制作(详细)

    系统启动终止进程线程时,它会使用进程的第一个线程为每个加载的 dll 调用入口点函数。...1. dll 文件的搜索路径顺序 dll 加载如果指指定了 dll 文件名而没有指定具体路径一般是按照一定的路径顺序一次去搜索,如果能在搜索到正确的 dll 之前使其先搜索到我们的恶意 dll 就能造成...如何让其加载我们的 dll 跟 dll 的搜索路径顺序有关,不过不是很重要,一般我们能利用的 dll 都是特殊的 dll,无论 SafeDllSearchMode 是否开启最终都是在当前路径之下搜索。...一般情况下,我们只能利用当前路径下的 dll,即 ffmpeg.dll,但有时也能劫持系统 dll,个别系统 dll 也会从当前路径加载,当然,这部分只能通过动态查找才能发现。...dll,可以看到有部分名称全大写的系统 dll 也从当前路径加载,按理论来说系统 dll 应该优先从系统目录下加载的,但事实是部分系统 dll 会直接从当前目录加载,原因不明: 注意,这里并不是全部,

    5.3K71

    货拉拉 Android 动态资源管理系统原理与实践(下)

    关于as中新建插件的方法,请自行搜索其他博客,本文因为篇幅问题,不进行讲解。...它可以用于修改现有的class文件动态生成class文件。...数组:系统用来存储所有的so文件路径 当外界调用System.loadLibrary方法时,系统最终会调用到DexPathList类的findLibrary方法,该方法会在nativeLibraryPathElements...更新之后,Linker 里检索的路径在创建 ClassLoader 实例后就被系统通过 Namespace 机制绑定了,当我们注入新的路径之后,虽然 ClassLoader 里的路径增加了,但是 Linker...我们替换系统方法的目的。一个是为了保证so库不存在时,程序崩溃,另外一个就是so库下载校验完成后,能自动完成之前失败的加载,为此,我们设计了如下流程。

    1.1K31

    java高级用法之:调用本地方法的利器JNA

    使用System.loadLibrary(java.lang.String)从系统的library path中查找。...如果你的系统对于从jar文件中解压文件有安全方面的限制,比如SELinux,那么你需要手动将jnidispatch安装在一个可以访问的地址,然后使用1或者2的方式来设置加载方式和路径。...在loadLibrary的时候有一些搜索路径的规则如下: jna.library.path,用户自定义的jna lib的路径,优先从用户自定义的路径中开始查找。...如果是在OSX操作系统上,则会去搜索 ~/Library/Frameworks, /Library/Frameworks, 和 /System/Library/Frameworks ,去查询对应的Frameworks...所有的搜索逻辑都放在NativeLibrary的方法loadLibrary中实现的,方法体太长了,这里就不一一列举了,感兴趣的朋友可以自行去探索。

    1.6K10

    红队提权 - 可写系统路径权限提升

    可写系统路径目录漏洞 可写路径本地权限提升漏洞源于系统管理员应用程序安装程序修改系统路径环境变量以包含非特权用户可写目录的情况。...一个重要的注意事项是,根据微软的说法,这种行为并不构成 Windows 中的漏洞,因为系统正在执行适当的操作来搜索路径 [3]。...攻击者只需将恶意 DLL 放入可写路径目录,然后等待触发系统重启。但是,在 Windows Server 操作系统上,非管理用户无权执行关机重新启动操作。...在这种情况下,微软似乎已经通过修改 LoadLibrary 调用来解决 IKEEXT 服务 DLL 劫持问题,改为调用 LoadLibraryEx,并将 LOAD_LIBRARY_SEARCH_SYSTEM32...标志设置为仅在 System32 目录中搜索“wlbsctrl.dll”文件。

    97640

    默认的 DLL 搜索路径优先级

    结论 在默认情况下,Windows 加载程序在用户磁盘上搜索 DLL 的搜索顺序: 包含可执行文件的目录。...Windows 的系统目录,该目录可以通过 GetSystemDirectory 得到,一般为 System32 目录,若为 32 位程序跑在 64 位系统下,则为 SysWOW64 目录。...如果调用 LoadLibrary 时传入的是绝对路径,那么加载程序将只尝试从该绝对路径搜索 DLL。...附注 以上结论在「Windows 核心编程」中列出,书中指出: 注意,对应用程序当前目录的搜索位于 Windows 目录之后,这个改变始于 Windows XP SP2,其目的是防止加载程序在应用程序的当前目录中找到伪造的系统...另外,有一些其它方法可以改变加载程序的搜索顺序,已知的有: SetDllDirectory 函数。如果传入一个有效路径,那么它将被插入在默认顺序的 1 与 2 之间。

    99830

    Windows 权限提升

    Windows 内核漏洞提权 参考: windows-kernel-exploits 微软安全公告 渗透测试小技巧一:寻找EXP Windows 内核漏洞的关键是目标系统没有安装补丁,如何查询目标系统是否安装补丁...则该函数仅在该路径搜索#如果指定相对路径不带路径,则该函数使用标准搜索策略查找HMODULE LoadLibraryEx(LPCSTR lpLibFileName, HANDLE hFile, DWORD...可以概括3个条件: 常见加载不存在的DLL,指定完整的路径。 没有使用安全DLL搜索模式 它以NT AUTHORITY\SYSTEM,主要为了方便讨论,不是严格要求的。...搜索标准搜索路径中的目录。#LOAD_LIBRARY_SEARCH_SYSTEM32 如果使用此值,则在%windows%\ system32搜索DLL及其依赖项。搜索标准搜索路径中的目录。...搜索标准搜索路径中的目录 可能这样描述没有什么感觉,这里提一个DLL劫持的漏洞案例:“ikeext dll hijacking” IKEEXT(IKE and AuthIP IPsec Keying

    3.7K20

    Python Flask项目打包成exe文件

    说明: # Python是解释型语言,我们写的FlaskDjango项目如果部署,源码可能会泄露,因此我们可以把项目打包成exe,来保护源码# 需要用到工具 -pyinstaller:把python...项目打包成不同平台的可执行文件 -nsisNSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序,它提供了安装、卸载、...系统设置、文件解压缩等功能。...2.进入到项目路径下,执行 # run.py 是flask项目的执行文件,app.run所在py文件 pyinstaller -D run.py # 可以看到项目路径下有 -build文件夹...文件名字),有个run.exe(py文件的名字) -run.spec # 把pro_flask这个文件夹,拷贝到dist下的run文件夹 -因为flask项目有静态文件和html文件,如果拷贝过去

    2.4K60
    领券