昨天在网上搜了一个帖子“用c#实现木马程序”, 我到不是想做黑客,我是个超级菜鸟,就是想要学学,程序写好了,编译也通过了,可是我发现c#生成的exe文件好像不能在别人没装framework的机器上用啊(我有2台电脑),如果打包的话,谁会一步一步的来安装木马呢?
看诸位前辈纷纷说.net不好,是不是这也算是它的一个缺陷啊?
哪位前辈给说说c#怎样才能生成可以直接执行的exe呢??
.net c#是个挺好的东西,难道非要放弃它么:(

解决方案 »

  1.   

    有意思,不过c#写的web应用程序就是不行,除非客户端装有.net环境,exe应用程序是可以的
      

  2.   

    c#写的exe必须要在有.net framework的机器上才能运行,不论是操作系统自带的(如:win2003)还是自己装的,framework是.net托管程序运行的一个必备条件。c#是写不出非托管的程序的。
      

  3.   

    1楼:winform是指win32的窗口程序么?
    2楼:那个生成以后的东西只能在有framework环境下才能运行吧?
    3楼:我是要写exe应用程序,不是web的,能教教我么?
    4楼:服务端只要有framework就行是吧,难道非要装了.net?
    5楼:啥叫托管/非托管啊?有这方面的书么我想看看?谢谢!
    最后谢谢各位前辈了,给您行个礼:)
      

  4.   

    C#写以,用C#写PE文件格式 :)
      

  5.   

    Client 端运行时总是出错,不知何故,我把代码贴出来,大家帮我找找吧。
    还只是建立一个连接,控制码还都没有写呢:) :
    Client 端:
    using System;
    using System.Net.Sockets;
    using System.Net;namespace mumaClient
    {
    /// <summary>
    /// Class1 的摘要说明。
    /// </summary>
    class Class1
    {
    /// <summary>
    /// 应用程序的主入口点。
    /// </summary>
    [STAThread]
    static void Main(string[] args)
    {
    //
    // TODO: 在此处添加代码以启动应用程序
    //

    string hostname;
    Console.WriteLine("please input the server IP");
    hostname = Console.ReadLine();
    int port = 6678;
    TcpClient client = new TcpClient(hostname, port);
    NetworkStream stream = client.GetStream();
    string control = "connect";
    Byte[] by = System.Text.Encoding.ASCII.GetBytes(control.ToCharArray());
    stream.Write(by,0,by.Length);
    stream.Flush();

    byte[] bb = new byte[3];
    int i = stream.Read(bb,0,3);
    string ss = System.Text.Encoding.ASCII.GetString(bb);
    if(ss=="hjc")
    {
    Console.WriteLine("连接成功");
    }
    if(ss== "hkz")
    {
    Console.WriteLine("控制成功");
    }

    Console.ReadLine();
    }
    }
    }server端:
    using System;
    using System.Net;
    using System.Net.Sockets;namespace mumaserver
    {
    /// <summary>
    /// Class1 的摘要说明。
    /// </summary>
    class Class1
    {
    /// <summary>
    /// 应用程序的主入口点。
    /// </summary>


    [STAThread]
    static void Main(string[] args)
    {
    //
    // TODO: 在此处添加代码以启动应用程序
    //
    int port =6678;
    IPAddress localAddr = IPAddress.Parse("127.0.0.1");
    TcpListener listener = new TcpListener(localAddr,port);
    listener.Start();
    Socket socket = listener.AcceptSocket();
    if (socket.Connected)
    {
    byte [] by =new byte[6];
    Console.WriteLine("恭喜");
    int i = socket.Receive(by,by.Length ,0);
    string ss = System.Text.Encoding.ASCII.GetString(by);
    if (ss == "jiance")//测试连接,返回测试信息
    {
    string str ="hjc";
    byte [] bytee = System.Text.Encoding.ASCII.GetBytes(str);
    socket.Send(bytee,0,bytee.Length,0);
    }
    }
    }
    }
    }