PcShare2005代码阅读(1)

MSF利用pcshare控住目标主机 MSF利用pcshare控住目标主机 前言 例如:使用工具扫描主机Ip 获得高危漏洞 一、使用nessus扫描 获得到主机MS17-010高危漏洞 二、打开msf和pcshare 1.输入search ms17-010 输入 use 3 查询命令 show options 配置RHOSTS 为攻击目标 输入exploit 开始攻击 显示有漏洞 查看可攻系统 使用反向连接 LHOST配置自己主机ip 成功控制 2.打开pcshare 代码如下(示例): data = pd.r 阅读详情
 

上线线程
//侦听线程
UINT WINAPI MyMainThread(LPVOID lPvoid)
{
UINT   m_Id = 0;
SOCKET   m_LisSocket = (SOCKET) lPvoid;
SOCKET   m_AccSocket = 0;
while(1)
{
   //等待客户连接
   if((m_AccSocket = accept(m_LisSocket,0,0)) == INVALID_SOCKET)
    break;

   //启动客户签到线程
   _beginthreadex(NULL,0,MyChildThread,(LPVOID) m_AccSocket,0,&m_Id);
}
closesocket(m_LisSocket);
return 0;
}

void InterTrans(SOCKET s,LPCLIENTITEM pData , int ExecType)
{
//定位窗口唯一标识
sockaddr_in m_addr = {0};
int addrlen = sizeof(sockaddr_in);
getpeername(s,(sockaddr*) &m_addr,&addrlen);
char mTid[9] = {0};
memcpy(mTid, pData->m_SysInfo.ID, 8);
sprintf(pData->m_Title,"%d.%d.%d.%d:%s",
    m_addr.sin_addr.S_un.S_un_b.s_b1,
    m_addr.sin_addr.S_un.S_un_b.s_b2,
    m_addr.sin_addr.S_un.S_un_b.s_b3,
    m_addr.sin_addr.S_un.S_un_b.s_b4,
    mTid);

//确定命令对应窗口
char m_WndName[256] = {0};
if(ExecType == CONN_FILE_UP || ExecType == CONN_FILE_DL)
{
   //文件传输
   sprintf(m_WndName,"PCSHELL文件管理-%s",pData->m_Title);
}
else if(ExecType == CONN_FILE_MANA_SEND)
{
   sprintf(m_WndName,"PCSHELL文件管理-%s",pData->m_Title);
}
else if(ExecType == CONN_FILE_MANA_RECV)
{
   sprintf(m_WndName,"PCSHELL文件管理-%s",pData->m_Title);
   if(!SendKeepAlive(s)) return;
}
else if(ExecType == CONN_FILE_FRAM_SEND)
{
   sprintf(m_WndName,"PCSHELL屏幕监控-%s",pData->m_Title);
}
else if(ExecType == CONN_FILE_FRAM_RECV)
{
   sprintf(m_WndName,"PCSHELL屏幕监控-%s",pData->m_Title);
   if(!SendKeepAlive(s)) return;
}
else if(ExecType == CONN_FILE_TLNT_SEND)
{
   sprintf(m_WndName,"PCSHELL超级终端-%s",pData->m_Title);
}
else if(ExecType == CONN_FILE_TLNT_RECV)
{
   sprintf(m_WndName,"PCSHELL超级终端-%s",pData->m_Title);
   if(!SendKeepAlive(s)) return;
}
else if(ExecType == CONN_FILE_REGD_SEND)
{
   sprintf(m_WndName,"PCSHELL注册表管理-%s",pData->m_Title);
}
else if(ExecType == CONN_FILE_REGD_RECV)
{
   sprintf(m_WndName,"PCSHELL注册表管理-%s",pData->m_Title);
   if(!SendKeepAlive(s)) return;
}
else if(ExecType == CONN_FILE_PROC_SEND)
{
   sprintf(m_WndName,"PCSHELL进程管理-%s",pData->m_Title);
}
else if(ExecType == CONN_FILE_PROC_RECV)
{
   sprintf(m_WndName,"PCSHELL进程管理-%s",pData->m_Title);
   if(!SendKeepAlive(s)) return;
}
else if(ExecType == CONN_FILE_SERV_SEND)
{
   sprintf(m_WndName,"PCSHELL服务管理-%s",pData->m_Title);
}
else if(ExecType == CONN_FILE_SERV_RECV)
{
   sprintf(m_WndName,"PCSHELL服务管理-%s",pData->m_Title);
   if(!SendKeepAlive(s)) return;
}
else if(ExecType == CONN_FILE_MULT_SEND)
{
   sprintf(m_WndName,"PCSHELL视频监控-%s",pData->m_Title);
}
else if(ExecType == CONN_FILE_MULT_RECV)
{
   sprintf(m_WndName,"PCSHELL视频监控-%s",pData->m_Title);
   if(!SendKeepAlive(s)) return;
}

Sleep(500);

//查找窗口
HWND hWnd = FindWindow(NULL,m_WndName);
if(hWnd == NULL)
{
   Sleep(2000);
   hWnd = FindWindow(NULL,m_WndName);
   if(hWnd == NULL)
   {
    closesocket(s);
    return;
   }
}

//拷贝套接字
DWORD pId = 0;
GetWindowThreadProcessId(hWnd, &pId);
WSAPROTOCOL_INFO m_SocketInfo = {0};
if(WSADuplicateSocket(s, pId , &m_SocketInfo))
{
   closesocket(s);
   return ;
}

//发送套接字到进程
COPYDATASTRUCT ct = {0};
ct.lpData = &m_SocketInfo;
ct.cbData = sizeof(WSAPROTOCOL_INFO);
ct.dwData = ExecType;
SendMessage(hWnd,WM_COPYDATA,0,(LPARAM) &ct);
closesocket(s);
}

//////////////////////////////////////////////////////////////////////////////////////////////////
WSADuplicateSocket
这个函数用来传递一个WSAPROTOCOL_INFO结构带另外一个进程,其他进程就用这个结构打开一个socket就可以操作同一个socket了。函数声明:
int WSADuplicateSocket(
    SOCKET s,
    DWORD dwProcessId,
    LPWSAPROTOCOL_INFO lpProtocolInfo
);

通过WM_COPYDATA消息来实现不同进程中数据传递,传递SOCKET给子进程,子进程在控制端发出管理命令后立即运行
void CMainFrame::StartChildWork(LPCLIENTITEM pItem, char* pTitle, UINT nCmd,char* pExeName)
{
if(!pItem) return;

char m_Text[256] = {0};
sprintf(m_Text,"PCSHELL%s-%s", pTitle, pItem->m_Title);
HWND hWnd = ::FindWindow(NULL,m_Text);
if(hWnd)
{   //已存在该窗口
   ::BringWindowToTop(hWnd);
   return;
}

char* pFind = strrchr(m_Text,':');
if(pFind != NULL) *pFind = 0;

//启动新的子进程
char m_AppName[512] = {0};
char m_FileName[256];
strcpy(m_FileName, pExeName);
GetMyFilePath(m_FileName);
sprintf(m_AppName,"%s %s:%s",m_FileName,m_Text,pItem->m_SysInfo.ID);

STARTUPINFO st = {0};
st.cb = sizeof(STARTUPINFO);
PROCESS_INFORMATION pi = {0};
if(!CreateProcess(NULL , m_AppName , NULL ,
   NULL , TRUE , 0 , NULL , NULL , &st , &pi))
   return;

ExecCmd(pItem->m_WorkSocket , nCmd , 0);
}

一段关于共享套接字的描述
为了在进程间共享套接口,Windows Sockets 2引入了WSADuplicateSocket()
函数。共享套接口是通过对底层的套接口创建附加的套接口描述字实现的。该函
数的输入是本地的套接口描述字和目标进程的句柄。它返回一个仅在目标进程中
有效的新的套接口描述字(目标进程有可能就是原始进程)。这一机制既可以在
单线程Windows版本(例如Windows 3.1)中使用,也可以在占先的多线程
Windows版本(例如Windows 95和Windows NT)中使用。要注意的是,套接
口可以在一个进程的不同线程中共享而不需要使用WSADuplicateSocket()函数,
因为一个套接口描述字在进程的所有线程中都有效。
基于一个共享套接口的两个或者单个套接口描述字应该独立地使用套接口
I/O。然而Windows Sockets没有实现任何共享控制。因此,在一个共享套接口上
协调它们的操作是应用程序的责任。一个典型的使用共享套接口的例子是,有一
个进程专门负责创建套接口和建立连接,并把套接口交给其他负责信息交换的进
程。由于重新创建的是套接口描述字而不是底层的套接口,所以一切与套接口相
关的状态对于所有套接口描述字都是相同的。例如对一个套接口描述字应用
setsockopt()操作后,对所有的套接口描述字应用getsockopt()操作都可以看到这
一变化。一个进程有可能调用closesocket()函数关闭一个复制的套接口描述字,
于是该描述字就被清除了,然而,底层的套接口并不会被关闭,底层的套接口将
一直保持打开,直到最后的一个套接口描述字被关闭。
选择对共享套接口的通知可以使用WSAAsyncSelect()函数和
WSAEventSelect()函数。对任何共享的套接口描述字发出这些调用将会取消在这
一套接口上的所有注册事件,无论先前的注册使用了那个套接口描述字。因此,
如果应用程序想使进程A接收FD_READ事件,进程B接收FD_WRITE事件,
这是做不到的。如果应用程序确实需要使用这种紧密的协调方式,我们建议应用
程序开发者使用线程而不要使用进程。

PcShare也山寨


构建pcshare超级终端:命令行通信工具 在信息技术的海洋中,命令行通信工具是基础中的基础,它们是IT专家和系统管理员的得力助手。本章将带领读者步入命令行的神秘世界,了解其核心概念和实际应用。在现代信息技术中,通信协议是指一套用于实现计算机网络或通信系统之间数据交换的规则、标准或约定。它们定义了数据传输过程中的格式、语法、同步和其他参数,确保信息可以被正确地发送和接收。通信协议通常分为不同的层级,例如物理层、数据链路层、网络层、传输层、会话层、表示层和应用层等。物理层协议如RS-232、RS-485等,定义了数据在物理媒介上的传输方式。 阅读详情

相关推荐

PCShare:PCShare是一款强大的远程控制软件,可以监视目标机器屏幕、注册表、文件系统等

PCShare是一款强大的远程控制软件,可以监视目标机器屏幕、注册表、文件系统等。 一、软件使用方法介绍: 启动PcShare.exe,这是控制端主程序,该程序会在8080端口上监听被控制端的连接。 生成被控制端宿主程序,点击控制端主界面上的“生成客户按钮”: 生成一个新的宿主程序,这个程序的名称叫ps.exe,然后将ps.exe与PcStat.exe一起发给要被控制的机器上。在被控制的机器上启动PcStat.exe,过一会儿被控制端就连接上控制终端了,控制终端就可以对被控制终端进行各种控制了。 二、原理介绍 控制端生成的宿主程序ps.exe实际上是一个后台程序,该程序先由PcStat.exe启动,ps.exe被启动后,释放自己二进制文件尾部的节,该节实际上是一个dll文件,这个dll可以根据生成时的配置信息以三种方式运行:1、独立进程运行 2、注入到ie浏览器中运行 3、注入到windo

开源一款远程控制软件 —— pcshare

这里开放一款远程控制软件的源码——pcshare,该软件分为被控制端和控制端。部分界面如下:控制端通过寄生在被控制端的后台程序来实现控制,可以对被控制台进行文件管理、屏幕监控、键盘监控、监控管理、查看被控制端的服务和注册表,甚至是控制被控制端的摄像头。一、软件使用方法介绍:1. 启动PcShare.exe,这是控制端主程序,该程序会在8080端口上监听被控制端的连接。2. 生成被控制端宿主程序,点...

左雪菲的专栏 6万+

PCshare源代码合集,最终版本源代码

PCshare源代码合集,最终版本源代码

Pcshare远控源码偏重分析(一)

PcShare是一款功能强大的远程管理软件,可以在内网、外网任意位置随意管理需要的远程主机,该软件是由国内安全爱好者无可非议开发

Jsen_1984的专栏 2916

PcShare远控源代码c#

一个比较好的远程控制源代码,C#开发,已试过,可用!

pcshare

绝好的远程控制软件 菜鸟都会用

PcShare2005代码阅读(2)

 PcShare的上线信息是通过的HTTP协议的GET方式来发送的,所以我们要提取GET的URL(上线信息),先接收完整的HTTP Header,它以"/r/n"结尾,然后提取/和"/r/n"之间的上线信息,这个信息经过了BcdToAsc编码,所以需要解码int AcceptClientMain(SOCKET s,LPCLIENTITEM pData){char ch = 0;int

1016

PCShare-2005--VIP

很不错的代码,仅供学习参考,请勿乱用,有什么问题可以给我留言

【亲测免费】 推荐开源项目:PCShare - 跨平台远程桌面共享工具

推荐开源项目:PCShare - 跨平台远程桌面共享工具 项目简介 是一个轻量级、高效且易用的跨平台远程桌面共享工具。由开发者 [xdnice](https) 创建并开源,它旨在简化个人和团队之间的远程协作,提供安全、实时的屏幕共享体验。 技术分析 1. 基于WebRTC的技术架构 PCShare 利用了先进的 WebRTC(Web Real-Time Communication)技术,这是一种浏...

gitblog_00013的博客 1873

PcShare2005资源稳定加强版.rar

PcShare2005资源稳定加强版,屏幕监控、屏幕控制、键盘控制、键盘监控、 文件管理、超级终端、 进程管理 、视频监控不再难。

PcShare2010企业免杀版

PcShare2010企业免杀版 `

一款远程控制软件 —— pcshare

1. 启动PcShare.exe,这是控制端主程序,该程序会在8080端口上监听被控制端的连接。2. 生成被控制端宿主程序,点击控制端主界面上的“生成客户按钮”:3. 生成一个新的宿主程序,这个程序的名称叫ps.exe,然后将ps.exe与PcStat.exe一起发给要被控制的机器上。在被控制的机器上启动PcStat.exe,过一会儿被控制端就连接上控制终端了,控制终端就可以对被控制终端进行各种控制了。

张小方的博客 1084

实验三 Gmapping建图

自主移动机器人第三次实验课,内容包括:(1)turtlebot的gmapping建图;(2)rosbag的使用;(3)gazebo中的gmapping建图。

lj164567487的博客 4649

PcShareVIP弄来的免杀思路

有些东西还是不错,有许多已经是老东西了!------------------------------------------------------其实也不只是pcshare别的木马也都差不多需要准备的软件为1.定位特征码的软件 myccl 或者multiCcL12.修改软件c32asm ollydbg ultraedit winhex LordPE peditor w32dasm3.一些辅助软件

2419

避开这些坑,你的Python爬虫才能稳定爬取IEEE Xplore(含反爬策略与MongoDB存储实战)

本文详细介绍了如何构建稳定的Python爬虫系统以爬取IEEE Xplore学术论文,包括反爬策略、MongoDB存储优化和断点续传机制。通过动态等待时间算法、请求头指纹管理和会话保持策略,有效应对IEEE的反爬机制。同时,优化MongoDB数据结构和索引,提升存储效率。最后,强调法律合规与伦理考量,确保爬虫合法合规运行。

weixin_29031057的博客 1095

RocketMQ 为什么要自己做一个 NameServer ?RocketMQ 5.x 版本中的 proxy、controller 和 container 分别有什么用 ?

1.独立运行的分散结构 2.简化实现,容忍部分数据不一致 Proxy:多语言支持、简化开发 Controller: 提高 Broker 的性能 Container:提高资源利用率,平衡负载

xaiobit_hl的博客 1490

一款不错的windows平台下的开源远控软件

PCShare是一款强大的远程控制软件,可以监视目标机器屏幕、注册表、文件系统等。 github连接:https://github.com/xdnice/PCShare

paradox_1_0的博客 3090

Python爬虫实战:从巨潮资讯网高效获取结构化JSON数据

在数据采集与处理领域,网络爬虫是实现自动化信息获取的核心技术。其基本原理是通过模拟浏览器行为,向目标服务器发送HTTP请求并解析响应内容,从而提取所需数据。相较于传统的网页解析,直接获取结构化数据(如JSON格式)能极大提升数据处理的效率与准确性,避免了复杂的HTML解析或PDF文本提取过程。这一技术价值在金融数据分析、市场研究、舆情监控等场景中尤为突出,能够快速构建高质量的数据集。本文以Python爬虫为例,聚焦于从巨潮资讯网这类官方信息披露平台,精准定位并抓取JSON格式的上市公司年报数据,详细阐述了接

weixin_29243279的博客 1419

pcshare远控软件编译过程

参考链接:PCSHARE最终版本源代码编译教程,PcShare远程管理编译过程!

BlackNight168的博客 2704

安路TangDynasty和FD和JTAG驱动器安装

安路FPGA产品矩阵包含SALPHOENIX高性能、SALEAGLE高性价比和SALELF低功耗三大系列,广泛应用于网络通信、消费电子等领域。配套的TangDynasty(TD)集成开发环境支持标准设计输入,提供完整优化流程与调试工具。简要介绍了TD 6.2.1版本的安装步骤。

wangjie36的博客 1038

进阶05:Labview与汇川PLC通过OPC UA通信(AM500系列)

本文介绍了LabVIEW与汇川PLC通过OPC UA通信的实现方法。主要内容包括:1)编写汇川AM521 PLC结构化文本程序,配置OPC UA服务器并导出变量;2)使用UaExpert客户端测试读取PLC变量;3)开发C#封装库实现OPC UA连接、读写和订阅功能;4)在LabVIEW中创建通信类,封装dll功能;5)设计LabVIEW界面实现变量读写和PLC程序触发。最终实现了PLC变量监控、数据读写及Y1-Y4输出控制功能,为自动化系统开发提供了基础框架。

weixin_38637405的博客 1302

详细讲解黑客常用的远程控制木马

<!--v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);}-->  Normal 0 7.8 磅 0

yakoo5的专栏 3万+

情感分析在金融领域的应用:舆情影响股价预测

我们都知道,股价的波动受到多种因素的影响,而大众的情绪和看法就是其中很重要的一部分。我们在日常生活中都有根据别人的评价来判断事物好坏的经验,在金融市场里,舆情就像是大众对某家公司的集体评价,它能反映出市场参与者的情绪和预期。学习这方面的知识,能帮助投资者更好地把握市场动态,做出更明智的投资决策,无论是个人投资者还是金融机构的分析师,都能从中受益。有一天,你看到某家知名企业被曝光了严重的产品质量问题,新闻铺天盖地,股民们也都在热议纷纷,负面情绪弥漫。这时,你会不会觉得这家公司的股价可能要下跌了呢?

AI 原生应用开发的博客 1147
上一篇: 内存拷贝的优化方法(1)[转]
下一篇: 内存拷贝的优化方法(2)
iiprogram
博客等级 码龄25年 1068粉丝 1515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值