服务端:

发送与接收命令

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. Jenkins的Windows Slave的配置

    原文:http://www.cnblogs.com/itech/archive/2011/11/09/2243025.html 参考: https://wiki.jenkins-ci.org/disp ...

  2. Rate Limiter设计

    先存着,以后再写 http://iamzhongyong.iteye.com/blog/1982113 http://baike.baidu.com/view/2530454.htm https:// ...

  3. 269. Alien Dictionary

    题目: There is a new alien language which uses the latin alphabet. However, the order among letters ar ...

  4. JVM生产环境参数实例及分析

    java application项目(非web项目) 改进前: -Xms128m-Xmx128m-XX:NewSize=64m-XX:PermSize=64m-XX:+UseConcMarkSweep ...

  5. 笔记三、apache搭建gitweb【转】

    参考文章:     http://www.latelee.org/using-gnu-linux/ubuntu-apache-gitweb.html     http://blog.csdn.net/ ...

  6. 纯java从apk文件里获取包名、版本号、icon

    简洁:不超过5个java文件 依赖:仅依赖aapt.exe 支持:仅限windows 功能:用纯java获取apk文集里的包名,版本号,图标文件[可获取到流直接保存到文件系统] 原理:比较上一篇文章里 ...

  7. Solr相关概念详解:SolrRequestHandler

    转自:http://www.cnblogs.com/chenying99/archive/2012/07/24/2607339.html 1. standard (StandardRequestHan ...

  8. centos 升级GCC/G++

    #get rep yum install centos-release-scl-rh #yum install centos-release-scl # install g++ 5.2.1 yum - ...

  9. uDig 简介

    uDig是一个 open source (EPL and BSD) 桌面应用程序框架,构建在Eclipse RCP和GeoTools(一个开源的Java GIS工具包)上的桌面GIS(地理信息系统) ...

  10. laravel, Composer和autoloading

    http://www.php-fig.org/psr/psr-4/ http://www.php-fig.org/psr/psr-0/ http://alanstorm.com/laravel_com ...