现在遇到一个这样的问题,我要用C#编写一个功能,在本地可以启动另一台计算机上的EXE文件。
在网上搜索了很多,提出“用socket,客户端监听到服务器命令之后使用Process.Start("XXX")”
但是小弟从来没有用过socket,现在任务比较紧急,也没有时间过多研究,希望哪位高手给予帮助,最好有代码或者大致的一个代码。多谢啦!!!!
在网上搜索了很多,提出“用socket,客户端监听到服务器命令之后使用Process.Start("XXX")”
但是小弟从来没有用过socket,现在任务比较紧急,也没有时间过多研究,希望哪位高手给予帮助,最好有代码或者大致的一个代码。多谢啦!!!!
socket方面的知识,不是看代码就行了啊,还是先看书学习啊
不过,要求不是很高的话,可以使用Remoting
这是基本的木马入侵执行原理
这分为两种情况第一种,就是远程的机器是你自己的机器或者说是可以合法控制的机器那么你可以按照computerfox兄的思路去做。第二种,以非正常的手段控制远端机器执行exe那么你可以扫描远程机器的漏洞,根据漏洞找一些攻击脚本,把你的exe文件上传远端机器然后获取远端机器的管理员权限,然后以管理员身份后台启用计划任务,定时自动运行你的exe
process启动TcpListener listen = new TcpListener(100);
如果没接触过Socket,你可以使用B/S,对方机器运行你的Web端,你用浏览器发送exe文件的路径,IIS那边在后台可以执行程序。
商量好暗号和协议,本地发什么指令,远程执行什么操作就可以了,
收发指令应该要用SOCKET,别的方式没有弄过
/// <summary>
/// 用ServiceController启用服务
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Button5_Click(object sender, EventArgs e)
{
System.ServiceProcess.ServiceController myController =
new System.ServiceProcess.ServiceController("Application Layer Gateway Service");
///不同的button中写不同的代码
///ContinuePending 服务即将继续。这对应于 Win32 SERVICE_CONTINUE_PENDING 常数,该常数定义为 0x00000005。
//Paused 服务已暂停。这对应于 Win32 SERVICE_PAUSED 常数,该常数定义为 0x00000007。
//PausePending 服务即将暂停。这对应于 Win32 SERVICE_PAUSE_PENDING 常数,该常数定义为 0x00000006。
//Running 服务正在运行。这对应于 Win32 SERVICE_RUNNING 常数,该常数定义为 0x00000004。
//StartPending 服务正在启动。这对应于 Win32 SERVICE_START_PENDING 常数,该常数定义为 0x00000002。
//Stopped 服务未运行。这对应于 Win32 SERVICE_STOPPED 常数,该常数定义为 0x00000001。
//StopPending 服务正在停止。这对应于 Win32 SERVICE_STOP_PENDING 常数,该常数定义为 0x00000003。 if (myController.Status.Equals(ServiceControllerStatus.Stopped)||myController.Status.Equals(ServiceControllerStatus.StopPending))
{
myController.Start();
this.Button5.Text="关闭服务";
Response.Write("<script language=javascript>alert('开启');</script>");
}
else
{
myController.Stop();
this.Button5.Text="开启服务";
Response.Write("<script language=javascript>alert('关闭服务');</script>");
} }
}