红队专题-从零开始VC++C/S远程控制软件RAT-MFC-远程控制软件总结

news2024/11/25 20:24:07

红队专题

  • 招募六边形战士队员
  • [30]远控班第一期课程与远控总结

在这里插入图片描述

招募六边形战士队员

一起学习 代码审计、安全开发、web攻防、逆向等。。。
私信联系
在这里插入图片描述

[30]远控班第一期课程与远控总结

.Bug修复

(1)生成路径

(2)显示系统版本号

二.内存泄露

(1)如何检查内存泄露
#define CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>

_CrtDumpMemoryLeaks();
_CrtSetBreakAlloc(块号);

(2)如何修复内存泄露
AfxSocketInit 导致 memory leak
pThreadState->m_pmapSocketHandle = new CMapPtrToPtr;
pThreadState->m_pmapDeadSockets = new CMapPtrToPtr;
pThreadState->m_plistSocketNotifications = new CPtrList;

(3)实战
void CFileview::ReleaseList()
{
    int count = m_list.GetItemCount();
    __int64 *t;
    for(int i=0;i<count;i++)
    {
        t = (__int64*)m_list.GetItemData(i);
        delete t;
    }
    m_list.DeleteAllItems();
}

void CFileview::ReleaseTree()
{
    DRIVER *disk_t;
    HTREEITEM hItem = m_tree.GetRootItem();
    if(hItem != NULL)
    {
        disk_t = (DRIVER*)m_tree.GetItemData(hItem);
        delete disk_t;
        for(;;)
        {
            hItem = m_tree.GetNextSiblingItem(hItem);
            if(hItem != NULL)
            {
                disk_t = (DRIVER*)m_tree.GetItemData(hItem);
                delete disk_t;
            }
            else
            {
                break;
            }
        }
    }
}.编码规范

(1)避免二义性
if((a + b) > (c + d))

(2)避免否定表达式
bool t;
...
if(t == false)(!t)
{
}

(3)避免if then if
if(mmm)
{
   if(nnn)  
   {
      ...;
   }
}

if(mmm && nnn)
{
}

(4)避免else return
单入口单出口
int func()
{
   int t;
   if(,,,)
   {
      t = 1;
   }
   else
   {
      t = 2;
   }
   return t;
}.远控历史

(1)第一代远控 --- (架构:Socket/Server 1/1)(模型:多线程 + 阻塞Socket)

(2)第二代远控 --- (架构:Socket/Server N/1)(模型:多线程 + 阻塞Socket)

主机
   Socket --- 判断主机是否下线
   Socket --- 文官管理Sock
   Socket --- 屏幕
   Socket --- 进程
服务端

(3)第三代远控 --- (架构:Socket/Server N/1)(模型:完成端口).功能扩展

(1)如何对远控进行功能扩展

(2)实例一:控制密码

(3)实例二:显示信息框

(4)实例三:服务管理

(5)实例四:注册表管理

(6)实例五:域名上线 StartSocket

六.学习经验

(1)书籍推荐
谭浩强 C语言
C Primer Plus 中文版
C++ Primer Plus

func(char *a)
{
    int t = sizeof(a);
}

VC++开发实战宝典(个人推荐)
VC++项目开发全程实录(个人推荐) MIS(管理信息系统),工具

VC++入门经典2008 2010

windows核心编程(第五版)

(2)学习方法

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

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

相关文章

Modbus通讯模拟仿真环境的搭建

文章目录 一、概要二、所需工具介绍三、搭建虚拟仿真环境1.Modbus RTU虚拟仿真环境搭建1.1.虚拟串口工具&#xff08;VSPD&#xff09;使用1.2.虚拟从站工具&#xff08;ModSim32&#xff09;使用1.3.虚拟主站工具&#xff08;Modscan32&#xff09;使用1.4.更改虚拟从站工具&a…

如何处理数据集内的缺失值?

照片 奥坎耶尼贡 由Pierre Bamin在Unsplash上拍摄 一、说明 也许数据科学或机器学习问题研究中要求最高的阶段是数据预处理阶段&#xff0c;其目的是最终创建有用的数据集。如果说处理很酷的机器学习模型是阿喀琉斯的热门&#xff0c;那么数据预处理就是被诅咒的西西弗斯。…

Git的高效使用 git的基础 高级用法

Git的高效使用 git的基础 高级用法 前言 什么是Git 在日常的软件开发过程中&#xff0c;软件版本的管理都离不开使用Git&#xff0c;Git是一个开源的分布式版本控制系统&#xff0c;可以有效、高速地处理从很小到非常大的项目版本管理。 也是Linus Torvalds为了帮助管理Linu…

认识EPLAN软件中的各种“点”

原文是网络上的一篇文章&#xff0c;内容有很多错字&#xff0c;我重新编辑了一下发出来&#xff0c;供参考。 在 EPLAN 中&#xff0c;有很多"点"&#xff0c;不同的点的具体含义各有不同&#xff0c;只有弄清楚了不同点的含义&#xff0c;在软件应用中才会得心应手…

【爬虫】Java爬虫爬取某招聘网站招聘信息

目录 前言 一、爬虫程序的基本架构 二、如何获取目标网站的页面内容 三、解析HTML页面&#xff0c;提取所需信息 四、代理IP的使用 五、完整代码 总结 前言 随着互联网的普及&#xff0c;越来越多的人开始关注网络上的招聘信息&#xff0c;而传统的求职方式愈发显得不够…

壹基金防灾减灾宣传进社区 提升家庭安全能力

11月7日&#xff0c;瑞金市赋能济困公益协会、蓝天救援队等联合沙洲坝镇红都新城社区一起走进梦想家园小区&#xff0c;开展家庭安全计划社区活动包挑战赛活动暨壹基金安全家园项目防灾减灾宣传社区行活动。 活动中&#xff0c;志愿者针对从洪涝灾害、风灾、火灾、雪灾、地质灾…

k8s:kubectl 详解

目录 1 kubectl 2 基本信息查看 2.1 查看 master 节点状态 2.2 查看命名空间 2.3 查看default命名空间的所有资源 2.4 创建命名空间app 2.5 删除命名空间app 2.6 在命名空间kube-public 创建副本控制器&#xff08;deployment&#xff09;来启动Pod&#xff08;nginx-wl…

基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖(二)

新增员工功能开发 1. 新增员工1.1 需求分析和设计1.1.1 产品原型1.1.2 接口设计1.1.3 表设计 1.2 代码开发1.2.1 设计DTO类1.2.2 Controller层1.2.3 Service层接口1.2.4 Service层实现类1.2.5 Mapper层 1.3 功能测试1.3.1 接口文档测试 1.4 代码完善1.4.1 问题一1.4.2 问题二1.…

从零开始的C++(十四)

继承&#xff1a; 作用&#xff1a;减少重复代码&#xff0c;简化程序。 用法&#xff1a; class b&#xff1a;public a {//...b中成员 } 在如上代码中&#xff0c;b类以public的方式继承了a类。规定a类是父类、基类&#xff0c;b类是子类、派生类。 关于继承方式&#xf…

Tcl语言:SDC约束命令create_generated_clock详解(下)

相关阅读 Tcl语言https://blog.csdn.net/weixin_45791458/category_12488978.html?spm1001.2014.3001.5482 设定生成时钟特性 前文的末尾提到&#xff0c;当使用-divide by或-multiply_by选项创建生成时钟时&#xff0c;会根据master clock的时钟周期派生出生成时钟的周期&am…

【Java 进阶篇】Java Filter 快速入门

欢迎来到这篇有关 Java Filter 的快速入门指南&#xff01;如果你是一名 Java 开发者或者正在学习 Java Web 开发&#xff0c;Filter 是一个强大的工具&#xff0c;可以帮助你管理和控制 Web 应用程序中的请求和响应。本文将向你解释 Filter 的基本概念&#xff0c;如何创建和配…

安全认证框架Shiro入门学习(shiro概述和shiro入门小案例);后续整合SpringBoot,应用程序安全;

权限概述 什么是权限 什么是权限 权限管理&#xff0c;一般指根据系统设置的安全策略或者安全规则&#xff0c;用户可以访问而且只能访问自己被授权的资源&#xff0c;不多不少。权限管理几乎出现在任何系统里面&#xff0c;只要有用户和密码的系统。 权限管理再系统中一般分…

小米6安装Ubuntu Touch系统也不是很难嘛

序言 这个文章是用来解说,小米6如何安装Ubuntu Touch系统 正文 安装这个系统需要注意的几点 1.手机必须已经解BL锁 2.没了 安装步骤 先双击打开压缩包查看,按照第一步第二步来进行执行,下面是解压图片 第一步 1.打开第一个文件夹 复制刷入rec的命令.txt里面的内容,然后打开红…

pytorch(小土堆)深度学习

第五节课讲项目的创建和对比 第六节&#xff1a;Dataset,Dataloader Dataset提供一种方式区获取数据及其label(如何获取每一个数据及其label&#xff0c;告诉我们总共有多少的数据) Dataloader为后面的网络提供不同的数据形式 第七节&#xff1a;Dataset类代码实战 显示图片 f…

挑战100天 AI In LeetCode Day05(热题+面试经典150题)

挑战100天 AI In LeetCode Day05&#xff08;热题面试经典150题&#xff09; 一、LeetCode介绍二、LeetCode 热题 HOT 100-72.1 题目2.2 题解 三、面试经典 150 题-73.1 题目3.2 题解 一、LeetCode介绍 LeetCode是一个在线编程网站&#xff0c;提供各种算法和数据结构的题目&am…

开源的全能维护 U 盘工具:Ventoy

开源的全能维护 U 盘工具&#xff1a;Ventoy 本篇文章聊聊迄今为止&#xff0c;我用着最舒服的一款开源 U 盘启动工具&#xff0c;Ventoy。 写在前面 好久不见&#xff0c;接下来计划写一个比较连续的内容&#xff0c;就先从最小的处着手吧。 经过长久的折腾&#xff0c;除…

Docker本地镜像发布到阿里云或私有库

本地镜像发布到阿里云流程 &#xff1a; 1.自己生成个要传的镜像 2.将本地镜像推送到阿里云: 阿里云开发者平台:开放云原生应用-云原生&#xff08;Cloud Native&#xff09;-云原生介绍 - 阿里云 2.1.创建仓库镜像&#xff1a; 2.1.1 选择控制台&#xff0c;进入容器镜像服…

Makefile 总述

目录 一、Makefile 里有什么&#xff1f; 1、显式规则 2、隐晦规则 3、变量的定义 4、文件指示 5、注释 二、Makefile 的文件名 三、引用其它的 Makefile 四、环境变量 MAKEFILES 五、make 的工作方式 一、Makefile 里有什么&#xff1f; Makefile 里主要包含了五个东…

Ps:图层蒙版的基本操作

点击图层蒙版缩览图选中图层蒙版之后&#xff0c;方可进行图层蒙版的操作。 反相蒙版 Invert 将图层蒙版上的白色转换为黑色&#xff0c;黑色转换为白色。 方法一&#xff1a; Ps菜单&#xff1a;图像/调整/反相 Adjustments/Invert 方法二&#xff1a; 快捷键&#xff1a;Ctrl…

window10单机部署hbase-2.5.5-hadoop3

一、介绍 hbase是什么&#xff0c;Hbase是一个分布式&#xff0c;可扩展&#xff0c;支持海量数据存储的noSQL数据库 二、下载hbase https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.5.6/ 三、配置hbase环境变量 三、修改hbase配置文件 在hbase-env.cmd添加如下配置…