首页
学习
活动
专区
工具
TVP
发布

从零开始做远控 源代码及已编译

Hello!!!

众位道友好呀

好久没玩远控了,挺怀念的晒晒

在服务端生成客户端,特点是自定义域名和端口,不用每次更改端口就编译一次客户端:

1.修改客户端的main.cpp文件,让服务端创建客户端时能自定域名和端口

2.把编译好的发布版本客户端放到服务端的目录。

3.修改服务端的Widget::CreateClient()函数

[cpp]view plaincopy

voidWidget::createClient()

{

// 读取ZeroClient.exe文件

constQString fileName ="ZeroClient.exe";

QFile file(fileName);

if(!file.exists()) {

QMessageBox::warning(this,"提示","请将编译好的ZeroClient.exe放到本程序的目录下");

return;

}

// 获取保存客户端的位置

QString saveFileName = QFileDialog::getSaveFileName(this,"保存自定义客户端",

QDir::current().absoluteFilePath("Release_ZeroClient.exe"),"应用程序(*.exe)",

0, QFileDialog::ShowDirsOnly);

if(saveFileName.size()

return;

}

// 打开ZeroClient.exe

if(!file.open(QFile::ReadOnly)) {

QMessageBox::warning(this,"提示","无法打开ZeroClient.exe");

return;

}

QByteArray fileData = file.readAll();

// 关闭文件

file.close();

// 自定义客户端的连向的域名和端口

constintoffsetDomain = 10;

constchardomain[100] ="DNSDNSDNS:\0";

constintoffsetPort = 13;

constcharport[100] ="PORTPORTPORT:\0";

// 自定义域名

intdomainPos = fileData.indexOf(domain);

if(domainPos == -1) {

QMessageBox::warning(this,"提示","无法创建客户端,因为无法找到\'DNSDNSDNS:\'的位置");

return;

}

domainPos += offsetDomain;

QByteArray afterDomain;

afterDomain.append(mEditDomain->text()+" ");

fileData.replace(domainPos, afterDomain.size(), afterDomain);

// 自定义端口

intportPos = fileData.indexOf(port);

if(portPos == -1) {

QMessageBox::warning(this,"提示","无法创建客户端,因为无法找到\'PORTPORTPORT:\'的位置");

return;

}

portPos += offsetPort;

QByteArray afterPort;

afterPort.append(mEditPort->text()+" ");

fileData.replace(portPos, afterPort.size(), afterPort);

// 保存文件

QFile saveFile(saveFileName);

if(!saveFile.open(QFile::WriteOnly)) {

QMessageBox::warning(this,"提示","无法打开"+saveFileName);

return;

}

saveFile.write(fileData.data(), fileData.size());

saveFile.flush();

saveFile.close();

}

你在学习Zero远控的开发过程当中,你会更加巩固你对"TCP网络,多线程,Win32 API,Qt,c++语言"的运用。

中国黑客六道

公众号:一个黑客创业者

后期会出教程视频的哟

谢谢转发分享

哈哈哈

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180225B0WZVC00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券