C#连接到WMI

star8618 2011-03-22 04:03:50

我想问下C#连接WMI 如何把EXE文件通过16进制方式传送到对方主机上 在转换成EXE文件 运行呢?

如果是用CMD命令 那该怎么写?

如果不用CMD命令 那又该怎么写?

methodParameters["CommandLine"] = "写入16进制文件再转换成EXE文件(PE文件了)在运行PE文件"
...全文
99 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
star8618 2011-03-22
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 yalan 的回复:]
你不是要用wmi发送文件吗呵呵?
[/Quote]

晕 都没人会吗???
star8618 2011-03-22
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 yalan 的回复:]
你不是要用wmi发送文件吗呵呵?
[/Quote]

是啊 你帮我写个啊
yalan 2011-03-22
  • 打赏
  • 举报
回复
你不是要用wmi发送文件吗呵呵?
star8618 2011-03-22
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 yalan 的回复:]
http://www.xueit.com/html/2010-05/21-7643156652010511221607546.html
[/Quote]

我上面发的不是通过WMI来终止进程的吗 你怎么回我个共享的!
star8618 2011-03-22
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yalan 的回复:]
将exe转为16进制很容易:

C# code

FileStream fs = new FileStream( "c:\\abc.exe ", FileMode.Open, FileAccess.ReadWrite);
fs.Seek(10, SeekOrigin.Begin);//把文件指针移到指定位置
byte[] bytes = ne……
[/Quote]

哦帮我这个代码注释下

class Sample_InvokeMethodOptions
{
public static int Main(string[] args) {
ManagementObject service =
new ManagementObject("win32_service=\"winmgmt\"");
InvokeMethodOptions options = new InvokeMethodOptions();
options.Timeout = new TimeSpan(0,0,0,5);
ManagementBaseObject outParams = service.InvokeMethod("StopService", null, options);
Console.WriteLine("Return Status = " + outParams["Returnvalue"]);
return 0;
}
}
star8618 2011-03-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 yalan 的回复:]
引用 4 楼 star8618 的回复:
传送文件 使用FTP?还是 HTTP呢 这样杀毒会报毒的?如果有好的办法请贴出代码!

说实话我这贴就是给你发你 知道你现在要升级 嘿嘿 快点谢谢妹妹我!


哈哈刚做了个政府网,正在FTP上传文件,等的功夫看看帖子哈哈
[/Quote]

Sokect 好像还要接收端和发送端吧!!!太麻烦了!想点更好的!

反正是把文件下载到对方主机在运行,是通过连接WMI方式的!!!
yalan 2011-03-22
  • 打赏
  • 举报
回复
将exe转为16进制很容易:

FileStream fs = new FileStream( "c:\\abc.exe ", FileMode.Open, FileAccess.ReadWrite);
fs.Seek(10, SeekOrigin.Begin);//把文件指针移到指定位置
byte[] bytes = new Byte[10];
int iRead = fs.Read(bytes, 0, 8);//从当前位置读出8个字节
long l = System.BitConverter.ToInt64(bytes, 0);//从字节数组里读出8个字节

string strhex = Convert.ToString(l, 16).ToUpper();//转成16进制
string strNewHex = "EE8811 ";
l = Convert.ToInt64(strNewHex, 16); //16进制转成long类型
fs.Seek(-8, SeekOrigin.Current);
bytes = System.BitConverter.GetBytes(l);
fs.Write(bytes, 0, 8);
fs.Flush();
fs.Close();


但我没有向回转为exe文件过呵呵,写个代码测试一下
yalan 2011-03-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 star8618 的回复:]
传送文件 使用FTP?还是 HTTP呢 这样杀毒会报毒的?如果有好的办法请贴出代码!

说实话我这贴就是给你发你 知道你现在要升级 嘿嘿 快点谢谢妹妹我!
[/Quote]

哈哈刚做了个政府网,正在FTP上传文件,等的功夫看看帖子哈哈
star8618 2011-03-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 yalan 的回复:]
为什么搞这么复杂?
使用Sokect或其他协议直接给对方传文件不行吗?
[/Quote]

传送文件 使用FTP?还是 HTTP呢 这样杀毒会报毒的?如果有好的办法请贴出代码!

说实话我这贴就是给你发你 知道你现在要升级 嘿嘿 快点谢谢妹妹我!
子夜__ 2011-03-22
  • 打赏
  • 举报
回复
yalan 2011-03-22
  • 打赏
  • 举报
回复
为什么搞这么复杂?
使用Sokect或其他协议直接给对方传文件不行吗?

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧