服务端:

发送与接收命令

DWORD WINAPI SLisen(LPVOID lparam)
{
SOCKET client = (SOCKET)lparam;
COMMAND command;
while (true)
{
memset((char *)&command, , sizeof(command));
if (recv(client, (char *)&command, sizeof(command), ) == SOCKET_ERROR)
{
cout<<"Client order incorrect"<<endl;
break;
}
else
{
cout<<"Client order correct"<<endl;
switch (command.ID)
{
case GetDriver:
GetDriverProc(command, client);
break;
default:
break;
}
}
}
closesocket(client);
return ;
}

逻辑处理

DWORD GetDriverProc(COMMAND command, SOCKET client)
{
COMMAND cmd;
memset((char *)&cmd, , sizeof(cmd));
cmd.ID = GetDriver; for (char i = 'A'; i <= 'Z'; i++)
{
char x[] = {i, ':', '\0'}; UINT Type = GetDriveType(x);
if (Type == DRIVE_FIXED || Type == DRIVE_REMOVABLE || Type == DRIVE_CDROM)
{
memset((char *)cmd.lparam, , sizeof(cmd.lparam));
strcpy((char *)cmd.lparam, x);
if (send(client, (char*)&cmd, sizeof(cmd), ) == SOCKET_ERROR)
{
cout<<"Feedback failed"<<endl;
}
}
}
return ;
}

客户端

发送与接收数据

DWORD WINAPI CLisen(LPVOID lparam)
{
CRemoteClientDlg* dlg = (CRemoteClientDlg *) lparam;
COMMAND cmd;
memset((char *)&cmd, , sizeof(cmd));
while (true)
{
memset((char *)&cmd, , sizeof(cmd));
if (recv(server, (char *)&cmd, sizeof(cmd), ) == SOCKET_ERROR)
{
break;
}
else
{
switch (cmd.ID)
{
case GetDriver:
dlg->GetDriverProc(cmd.lparam);
break;
default:
break;
}
}
}
closesocket(server);
return ;
}

逻辑处理

DWORD CRemoteClientDlg::GetDriverProc(BYTE* DATA)
{
char buff[];
strcpy(buff, (char*)DATA); //将接受到的磁盘信息插入到TreeView中。
m_tree.InsertItem(buff, , , m_hRoot, );
//展开收缩子目录,初始状态为展开的。
m_tree.Expand(m_hRoot, TVE_EXPAND);
return ;
}

treeView树形显示

    DWORD dwStyle = GetWindowLong(m_tree.m_hWnd, GWL_STYLE);
dwStyle |= TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT;
SetWindowLong(m_tree.m_hWnd, GWL_STYLE, dwStyle);

VC远控(三)磁盘显示的更多相关文章

  1. VC远控(一)界面设计及套接字连接测试

    首先创建一个MFC项目. 选择基于对话框: 勾选Windows套接字 依次拉上各种不同的控件: Edit Control.Button.Tree.Static Text.List.Progress C ...

  2. VC远控(二)连接Server端及密码验证

    首先服务端是一个win32console应用程序. 在建立项目的时候需要勾选MFC 套接字的初始化同客户端相似: //对套接字进行初始化 WSADATA wsadata; WORD ver = MAK ...

  3. HackingTeam重磅炸弹: 估值超1000万美金带有军火交易性质的木马病毒以及远控源代码泄露

    [简单介绍] 经常使用网名: 猪头三 出生日期: 1981.XX.XX 个人站点: http://www.x86asm.com QQ交流: 643439947 编程生涯: 2001年~至今[共14年] ...

  4. 【逆向&编程实战】Metasploit中的安卓载荷凭什么吊打SpyNote成为安卓端最强远控

    文章作者:MG1937 QQ:3496925334 CNBLOG:ALDYS4 未经许可,禁止转载 前言 说起SpyNote大家自然不陌生,这款恶意远控软件被利用在各种攻击场景中 甚至是最近也捕获到了 ...

  5. Python3实现ICMP远控后门(上)_补充篇

    ICMP后门(上)补充篇 前言 在上一篇文章Python3实现ICMP远控后门(上)中,我简要讲解了ICMP协议,以及实现了一个简单的ping功能,在文章发表之后,后台很多朋友留言,说对校验和的计算不 ...

  6. Python3实现ICMP远控后门(下)之“Boss”出场

    ICMP后门 前言 第一篇:Python3实现ICMP远控后门(上) 第二篇:Python3实现ICMP远控后门(上)_补充篇 第三篇:Python3实现ICMP远控后门(中)之"嗅探&qu ...

  7. 用nc+简单bat/vbs脚本+winrar制作迷你远控后门

    前言 某大佬某天和我聊起了nc,并且提到了nc正反向shell这个概念. 我对nc之前的了解程度仅局限于:可以侦听TCP/UDP端口,发起对应的连接. 真正的远控还没实践过,所以决定写个小后门试一试. ...

  8. 远程控制(远控Bin)

    一.概念 控制端:运行在攻击者的电脑中,负责控制其他肉鸡: 被控制端:需要去生成,运行在肉鸡上,木马病毒 二.使用远控Bin工具实现内网远程控制 Step1:打开Kill.exe,点击系统设置,修改监 ...

  9. 使用kali生成远控payload

    kali linux中的metasploit框架是优秀的渗透框架之一,今天记载一下使用kali生成windows远控木马的过程 生成payload使用的工具是MSFVenom,我们输入msfvenom ...

随机推荐

  1. QT 实现彩色图亮度均衡,RGB和HSI空间互相转换

    从昨天折腾到今天.再折腾下去我都要上主楼了  大致和灰度图均衡是一样的,主要是不能像平滑什么的直接对R,G,B三个分量进行.这样出来的图像时没法看的.因此我们要对亮度进行均衡.而HSI彩色空间中的分量 ...

  2. VIM的配置文件(vimrc)在哪里?【Win7】

    如果你使用VIM有一段时间的话,你会想要修改它的一些配置,例如默认显示行号.在哪改呢? 答案是:vimrc 那这个配置文件在哪呢? 打开你的vi,在命令模式下,输入[:version],会看到如下图所 ...

  3. box-sizing的学习和认识

    先上自己写的DEMO代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> ...

  4. 5.cadence原理图上[原创]

    一.库管理 1.打开原理图,,按键盘P键 在目标库下可以直接收索需要的元件,则可直接找到 在原理图中放置器件时,结束放置快捷键:Esc 双击后,可自动将该元件对应的库添加到你的库中,该方法找元件效果好 ...

  5. [POJ1631]Bridging signals (DP,二分优化)

    题目链接:http://poj.org/problem?id=1631 就是求一个LIS,但是范围太大(n≤40000),无法用常规O(n²)的朴素DP算法,这时需要优化. 新加一个数组s[]来维护长 ...

  6. poj1860Currency Exchange(bell_fordmoban)

    http://poj.org/problem?id=1860 模板提 #include <iostream> #include<cstdio> #include<cstr ...

  7. Navicat数据存放位置和备份数据库路径设置

    navicat的数据库存放位置在什么地方?带着这样的疑问,我们去解决问题,navicat是默认安装,mysql也是默认安装,数据库存在默认用户所在的目录下面. 安装MySQL时,请选择“Custom” ...

  8. 最全的PHP常用函数大全

    PHP的一些常用函数 quotemeta() 函数在字符串中某些预定义的字符前添加反斜杠. quoted_printable_decode() 函数对经过 quoted-printable 编码后的字 ...

  9. Qt之等待提示框(QMovie)

    简述 关于gif的使用在实际项目中我用的并不多,因为我感觉瑕疵挺多的,很多时候锯齿比较严重,当然与图存在很大的关系. 关于生成gif的方法可以提供一个网站preloaders,基本是可以满足需求的. ...

  10. Qt Assistant介绍

    简介 Qt Assistant也就是我们常说的Qt助手,是一款用于呈现在线文档的工具. 简介 一分钟学会使用 Qt参考文档 Qt Assistant详解 命令行选项 工具窗口 文档窗口 工具栏 菜单 ...