![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Windows
文章平均质量分 66
langshanglibie
这个作者很懒,什么都没留下…
展开
-
NSIS 安装包默认支持的参数
并且如果在安装包内调用 ${GetParameters} $R0 来获取安装包参数时,将获取不到 /D= 参数,被 NSIS 自己吃掉了,不会传给 nsi 脚本。只要指定了 /S 这个参数(S必须大写),NSIS 脚本中 IfSilent 函数自动设为 true,这是 NSIS 内置支持的,不需要自己在 NSIS 脚本中写代码来解析。如果想自己处理 /D= 参数,比如加一些自己的逻辑,必须换个参数,比如改为 /d=(即 D 改为小写的 d)。另外,注意这个参数不能包含引号,即使路径中含有空格。原创 2024-06-05 18:10:07 · 743 阅读 · 0 评论 -
如何让指定 Windows 程序崩溃
在不修改任何代码的前提下,做到让指定程序崩溃原创 2024-04-19 12:16:53 · 955 阅读 · 1 评论 -
获取 Windows CPU 使用率
获取 Windows CPU 使用率原创 2024-03-01 16:43:10 · 619 阅读 · 0 评论 -
Windows 获取内存 API 汇总及使用方法
Windows 获取内存 API 汇总及使用方法原创 2024-02-19 17:48:23 · 1674 阅读 · 0 评论 -
可以绕过 Windows UAC 吗
Windows 系统安全机制并非固若金汤。通过 COM 提升名称方法,程序可以绕过其核心安全机制 UAC 而获取到系统管理员权限。原创 2023-01-31 00:25:00 · 1593 阅读 · 0 评论 -
Windows bat 命令 start /wait 失效问题
start /wait 失效问题原创 2022-12-22 14:27:15 · 1548 阅读 · 0 评论 -
Windows 安装包介绍
Windows 安装包介绍,NSIS原创 2022-06-01 12:26:18 · 639 阅读 · 0 评论 -
Windows 中的三种常用 DLL 注入技术
Windows 中的三种常用 DLL 注入技术一、DLL 注入技术的用途二、DLL 注入基础2.1 进程虚拟地址空间2.2 读写其他进程的内存2.3 LoadLibraryW 函数三、APC 注入四、远程线程注入五、Windows 钩子六、全局钩子注入一、DLL 注入技术的用途在 Windows 中,每个进程都有自己私有的虚拟地址空间。所以,一个进程没法访问另一个进程的内存。但是,很多时候我们还是需要跨越进程的边界,来访问另一个进程的地址空原创 2022-03-30 18:24:43 · 6384 阅读 · 4 评论 -
激活任意 Windows 窗口
被 AttachThreadInput 的进程,如果是具有管理员权限的进程,则调用 AttachThreadInput 的进程也必须要有管理员权限,否则会失败,GetLastError 返回 5(拒绝访问)。研究了一下,发现是否能够成功,和 SetForegroundWindow 所在线程所附加的输入上下文有关(可以调用。但是根据经验可知,微软说废弃的,不知道到猴年马月才会真的从系统 API 中去除。想将某个窗口带到前台并且激活时,该窗口只是在任务栏上闪动(),并未能带到前台来。原创 2021-10-20 14:13:45 · 1688 阅读 · 0 评论 -
使用 Visual Studio 编译 ARM64 架构程序指南
使用 Visual Studio 编译 ARM64 架构程序指南1. Visual Studio 安装 ARM64 开发组件首先安装 Visual Studio 2019,在安装过程中勾选 ARM64 开发组件,如下图:如果已经安装过 Visual Studio 2019,则打开 Visual Studio Installer 单独安装 ARM64 开发组件。Visual Studio Installer 可在开始菜单中找到,位置如下:打开后,点击 Visual Studio 2019 右侧的【原创 2021-08-18 20:27:41 · 13096 阅读 · 11 评论 -
为什么会连续弹出多个UAC框
问题在用户机器上,我们的升级程序弹出一个UAC请求框,用户同意后,又弹出一个,用户再次同意后,又弹出一个……一直这样弹了十几个。程序的逻辑我们的主程序启动之后,会启动一个异步回调,周期是8小时。异步回调函数里面会启动一个更新进程。更新进程用来检查服务端有没有新版本。更新进程是以runas方式调用ShellExecuteEx来启动的,会弹出UAC框,来请求管理员权限。更新进程安装新版本时,需要释放文件到Program Files (x86)目录下,是需要管理员权限的。问题原因发生问题的用户的原创 2021-05-28 19:21:32 · 211 阅读 · 0 评论 -
Windows 中通过进程 ID 获取可执行文件路径的方法
Windows中通过进程ID获取进程全路径 GetModuleFileNameEx 在Win7上,如果32进程调用用来获取64位进程路径,返回失败。由于函数GetModuleFileName() 和 函数GetModuleFileNameEx()都是通过PEB头信息获取进程文件路径,所以它们只能工作于与调用进程相同位数的进程,比如:调用进程32位时,这两个函数只对32位进程有效,64位同理。 GetProcessImageFileName 所以在64位进程与32位进程并.原创 2020-11-03 18:25:23 · 4169 阅读 · 0 评论 -
SendInput发送失败
当在一个没有管理员权限的进程中,使用 SendInput 向一个含有管理员权限的进程发送数据时,会失败,虽然函数返回成功。所以使用 SendInput 的进程应该以管理员权限启动。...原创 2020-02-16 23:17:13 · 1023 阅读 · 0 评论 -
Windows获取模块基地址
获取模块的基地址有如下几种方法:1. 模块句柄就是模块基地址(或称模块加载地址),直接将模块句柄转换为模块基地址2. 根据模块中的地址得到模块句柄,模块句柄就是基地址GetModuleHandleEx3. 根据模块中的地址得到这个地址所属模块的基地址但是 SymGetModuleInfoW64 总是运行失败4. 使用 VirtualQueryEx 函数5. 根据进程句...原创 2019-05-29 10:03:35 · 7869 阅读 · 0 评论