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

红队专题

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

在这里插入图片描述

招募六边形战士队员

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

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

.Bug修复

(1)生成路径

(2)显示系统版本号

二.内存泄露

(1)如何检查内存泄露
#define CRTDBG_MAP_ALLOC
#include 
#include 

_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)学习方法

你可能感兴趣的:(c++,c语言,mfc)