内存取证volatility工具命令详解

2024-01-04

一、环境安装

1.kali下安装Volatility2

注意:一般Volatility2比Volatility3好用

wget https://bootstrap.pypa.io/pip/2.7/get-pip.py

python2 get-pip.py

python2 -m pip install Crypto

python2 -m pip install pycryptodome

python2 -m pip install pytz

python2 -m pip install Pillow #PIL图形处理库

apt-get install pcregrep python2-dev #插件安装依赖库

python2 -m pip install distorm3 #反编译库

python2 -m pip install openpyxl #读写excel文件

python2 -m pip install ujson #JSON解析

python2 -m pip uninstall yara #恶意软件分类工具

python2 -m pip install pycrypto #加密工具集

python2 -m pip install construct #mimikatz依赖库

在 https://github.com/virustotal/yara/releases 下载 YARA 压缩包

tar -zxf yara-4.4.0.tar.gz

cd yara-4.4.0

sudo apt-get install automake libtool make gcc pkg-config

sudo apt-get install flex bison libssl-dev

./bootstrap.sh

./configure

make

sudo make install

sudo sh -c ‘echo “/usr/local/lib” >> /etc/ld.so.conf’

sudo ldconfig

yara -h

git https://github.com/volatilityfoundation/volatility.git

cd volatility

python2 setup.py install

2.windows下安装

https://www.volatilityfoundation.org/releases

二、常用命令使用

  1. 查看内存镜像系统信息

volatility.exe -f worldskills3.vmem imageinfo

2.查看当前内存镜像注册表中用户名

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 printkey -K “SAM\Domains\Account\Users\Names”

3.使用hashdump命令获取sam hash值

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 hashdump

4.使用lasdump命令查看密码明文

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 lsadump

5.查看网络连接状态信息

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 netscan

同时也可以查看到当前系统中存在挖矿进程,获取指向的矿池地址

6.查看当前系统主机名

主机名通过注册表查询,需先用hivelist(也可以查看内存镜像中的虚拟地址)查询

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 hivelist

查看键名

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K “ControlSet001”

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K "ControlSet001\Control "

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K “ControlSet001\Control\ComputerName”

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printkey -K “ControlSet001\Control\ComputerName\ComputerName”

也可以直接通过 hivedump查询相应的键名, 但是查询非常费时间

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 hivedump -o 0xfffff8a000024010 > system.txt

7.获取当前系统IE浏览器存储的信息

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 iehistory

8.查询系统服务名称

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 svcscan

9.从内存文件中找到异常程序植入到系统的开机自启痕迹

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 shimcache

10.查看父进程与子进程

注意:在进程中PPID比PID大,那就可能这个进程有异常程序

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 pstree

11.查看程序版本信息

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 verinfo

12.通过 pslist命令查询进程

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 pslist

注意:可列举出系统进程,但它不能检测到隐藏或者解链的进程

也能进一步查到子进程的信息

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 pslist -p 2588

13.查看隐藏或解链的进程

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 psscan

或者

volatility.exe   -f  worldskills3.vmem     --profile=Win7SP1x64   psxview

注意:可以找到先前已终止(不活动)的进程以及被rootkit隐藏或解链的进程

14.显示cmd历史命令记录

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 cmdscan

或者

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 consoles #能看到指令的输入和输出

15.查看进程命令行参数

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 cmdline

16.扫描内存系统中的所有文件列表

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 filescan

在linux系统中可使用filescan命令参数配合gerp命令进行搜索关键字

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 filescan |grep “flag”

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 filescan | grep -E ‘jpg|png|jpeg|bmp|gif’

搜索图片或者text

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 filescan |grep -E ‘txt’

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 filescan |grep -E ‘jpg’

导出flag.txt文件

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 dumpfiles -Q 0x000000007f1b6c10 -D ./

dump 出来的进程文件,建议使用 foremost 来分离里面的文件

17.查看文件内容(需要 filescan配合命令查询)

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 dumpfiles -Q 0xxxxxxxx -D ./

注意:需要指定偏移量 -Q 和输出目录 -D,dumpfiles:导出某一文件,指定虚拟地址

18.查看当前展示的notepad内容(win7不支持该命令)

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 notepad

19.显示有关编辑控件(曾经编辑过的内容)的信息

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 editbox

20.提取进程内容(需要pslist命令配合查询使用)

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 memdump -p 2588 --dump-dir=./

注意:memdump:提取出指定进程,常用foremost 来分离里面的文件 ,需要指定进程-p [pid] 和输出目录 -D

提取出来的直接用strings是无法查看,需要添加-e参数

strings -e l 2626.dmp | grep flag

21.屏幕截图

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 screenshot --dump-dir=./

注意:需要安装PIL库,建议linux下运行

22.查看运行程序相关记录,比如最后一次更新时间,运行过的次数等

提取出内存中记录的,当时正在运行的程序有哪些,运行过多少次,最后一次运行的时间等信息

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 userassist

23.最大程度上将内存中的信息提取出来

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 timeliner

注意:将所有操作系统事件以时间线的方式展开

24.查看剪贴板信息

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 clipboard

25.显示关于计算机及其操作系统的详细配置信息(需要安装插件)

volatility -f 1.vmem --profile=Win7SP1x64 systeminfo 26.查看访问时间

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 mftparser

27.查看环境变量

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 envars

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 envars | grep “Password”

28.列出某一进程加载的所有dll文件

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 dlllist

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 dlllist -p 2588

29.获取最后登录系统的账户

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 printkey -K "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" 30.显示进程权限

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 privs 31.导出注册表

volatility.exe -f worldskills3.vmem --profile=Win7SP1x64 dumpregistry --dump-dir=./

32.获取明文密码,直接爆破出用户密码(linxu)

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 mimikatz

33.查看SID

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 getsids

34.获取TrueCrypt密码信息

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 truecryptpassphrase

35.获取TrueCrypt秘钥信息

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 truecryptmaster

36.解析MFT记录、导出MFT记录

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 mftparser

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 mftparser --output-file=mftverbose.txt -D ./

37.寻找可能注入到各种进程中的恶意软件

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x6 malfind

38.usb连接信息

python2 vol.py -f worldskills3.vmem --profile=Win7SP1x64 usbstor

三、插件安装

下载地址:

https://github.com/ruokeqx/tool-for-CTF/tree/master/volatility_plugins

https://github.com/superponible/volatility-plugins

下载之后,将 .py 插件放进volatility 的 plugins 文件夹目录下(/volatility-master/volatility/plugins)

  • lastpass.py Chrome 记录的登录密码
  • usbstor.py 扫描注册表查找插入系统的 USB 设备
  • chromehistory.py 谷歌浏览器历史记录
  • firefoxhistory.py 火狐浏览器历史记录
  • system_info.py systeminfo
  • sqlite_help.py 上面两个插件的必须文

四、CTF中内存取证题目类型

类型1:隐藏图片
1.查看可疑进程(pslist)
2 导出进程文件
3.使用查看文件内容,确认文件类型(file *.dmp)
4.一般图片文件使用foremost 分离 ( foremost *.dmg)
5.如果分离出来是镜像文件.img损坏(testdisk *.img进行修复)

类型2:剪切板
1.搜索关于flag的文件(filescan | grep flag)
2.搜索IE浏览器历史记录,查看访问了什么网站(iehistory | grep ‘https://’)
3.查看编辑器中有什么,和文档有关的取证(editbox或者notepad)
4.查看剪切板复制中有什么记录,mspaint对应进程的内容(memdump -p PID值 --dump-dir=./)

类型3:TrueCrypt加密
1.导出TrueCrypt对应进程的内容(memdump -p PID值 --dump-dir=./)
2.使用Elcomsoft Forensic Disk Decryptor对导出的进程进行还原内容
3.用VeraCrypt挂载查看还原的内容

类型4:传输压缩包
1.查看使用过得命令(cmdscan)
2.搜索关键字(filescan | grep ‘P@ss’)
4.dump出压缩包内存文件(dumpfiles -Q 0x0000000002c61318 -D ./)

类型5:用户密码
1.hashdump导出密码hash值
2.使用jone或者在线工具对其进行NTML值破解
https://crackstation.net/
3.或者使用mimikatz插件进行明文读取用户的密码

类型6:IE浏览器中保存的文件
1.获取IE浏览器历史记录(iehistoy)
2.过滤IE浏览器中的关键字(iehistory | grep jpg或者hint)
3.dump出对应的jpg和hint内存文件(dumpfiles -Q 0x0000000002c61318 -D ./)

类型7:查看主机名和IP
1.主机名(systeminfo插件或者注册表查找对应的键名)
2.ip(netscan)

类型8:剪切板内容
1.获取剪切板内容(clipboard插件)

类型9:隐藏了flag
1.搜索flag.txt文件(filescan | grep flag)
2.导出flag.txt内存文件(dumpfiles -Q 0x0000000002c61318 -D ./)

类型10:隐藏的加密的AES
1.查看可疑程序进程(查看ppid和pid值对比以及时间不一样可判断出可疑进程也还可以用chatget来判断)
2.查找曾经使用过的命令(cmdscan)
3.分别导出子进程和父进程的内存内容分析(memdump -p PID值 --dump-dir=./)
4.找到KEY和IE值,是AES加密

类型11:encryto加密
1.查看可疑进程(pslist)
2.查看历史命令,.查看到加密的历史文件(cmdscan)
3.导出加密的历史可疑文件(dumpfiles -Q 0x000000003e435890 --dump-dir=./**)
4.使用encryto进行解密

类型12:匿名用户登录
1.查看可疑进程,这里是注册表的进程有可疑(pslist)
2.dump出注册表的进程内容(memdump -p 804 --dump-dir=./)
3.查看DUMP出注册表内存关键字sam (strings -e l -d 804.dmp|grep “SAM” ),发现有可疑的用户名
4.检索注册表中的该用户 printkey -K “SAM\Domains\Account\Users\00000493”
5.hashdum出对应账号的用户名的密码(hashdump|grep “FHREhpe”)

类型13:rootkiet.exe木马
1.查看可疑进程(pslist)
一般rootkit恶意程序与svchost进行捆绑并注入到svchost.exe中,需要进入安全电脑模式才能清理
2.-查找进程注入引用的文件(-p 880 handles -t file)
3进程在运行过程中被注入的DLL文件(ldrmodules -p 880 | grep -i false)
4.个注入的dll文件的内存地址(malfind -p 880)
dlldump -p 880 --base=0x980000 --dump-dir=.

volatility命令练习的内存镜像:

链接: https://pan.baidu.com/s/1LXSJ_RL9yotb8IKbzIQZ3g 提取码: syny

​最后

为了帮助大家更好的学习网络安全,小编给大家准备了一份网络安全入门/进阶学习资料,里面的内容都是适合零基础小白的笔记和资料,不懂编程也能听懂、看懂,所有资料共282G,朋友们如果有需要全套网络安全入门+进阶学习资源包,可以 点击免费领取 (如遇扫码问题,可以在评论区留言领取哦)~

????有需要的小伙伴,可以 点击下方链接免费领取 或者 V扫描下方二维码免费领取 ????

???? ????

网络安全源码合集+工具包
​​
网络安全面试题
最后就是大家最关心的网络安全面试题板块
在这里插入图片描述

所有资料共282G,朋友们如果有需要全套网络安全入门+进阶学习资源包!

​视频配套资料&国内外网安书籍、文档

????有需要的小伙伴,可以 点击下方链接免费领取 或者 V扫描下方二维码免费领取 ????

???? ????

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

内存取证volatility工具命令详解 的相关文章

  • 如何使用 PHP 正确添加跨站请求伪造 (CSRF) 令牌

    我正在尝试为我网站上的表单添加一些安全性 其中一个表单使用 AJAX 另一个表单是简单的 联系我们 表单 我正在尝试添加 CSRF 令牌 我遇到的问题是令牌有时只显示在 HTML 值 中 其余时间 该值为空 这是我在 AJAX 表单上使用的
  • WordPress 中的 add_action 函数

    嗯 我正在学习创建一个 WordPress 插件 我下载了一个并阅读了代码 然后我看到了这个 我假设 foo 是它将添加操作的标签 但是 array 到底是做什么的呢 add action foo array foo1 foo2 我在看ht
  • PHP 如何判断用户是否按下了 Enter 键或 Submit 按钮?

    我遇到的问题是我在一个表单中有多个提交输入 每个提交输入都有不同的值 我更愿意将它们保留为提交 Whenever the user presses Enter it is as though the topmost submit input
  • gmail 不断阻止 PHPmailer 登录

    我将在接下来的 8 小时内部署一个网站 而 Gmail 刚刚停止接受 PHPmailer 登录我的帐户 起初 它在测试过程中工作了几个小时 然后 它就停止工作了 我已经允许所有允许不太安全的应用程序从 gmail 登录 但它仍然不允许 ph
  • 检查php中位字段是否打开的正确方法是什么

    检查位字段是否打开的正确方法是什么 在 php 中 我想检查来自 db mysql 的位字段是否打开 这是正确的方法吗 if bit 1 还有其他方法吗 我看到有人使用代码ord http jameslow com 2008 08 12 m
  • 当数据验证失败时保留表单字段中的值

    我在弄清楚验证失败时如何保留用户数据时遇到问题 我对 PHP 有点陌生 所以我的逻辑可能会犯一些巨大的错误 目前 如果验证失败 所有字段都会被清除 并且 Post 数据也会消失 这是一些代码 假设用户输入无效电子邮件 我希望保留 名称 字段
  • Apache 访问 Linux 中的 NTFS 链接文件夹

    在 Debian jessie 中使用 Apache2 PHP 当我想在 Apache 的文档文件夹 var www 中创建一个新的小节时 我只需创建一个指向我的 php 文件所在的外部文件夹的链接 然后只需更改该文件夹的所有者和权限文件夹
  • 从 smarty 访问 PHP 文件的变量(本地或全局)

    我有一个 php 文件 其中包含一些本地和全局变量 例如 foo 从此文件中调用 smarty 对象 如何在不更改 PHP 文件的情况下从 smarty 脚本访问 foo Thanks 如果你有一个名为 BASE 的常量变量 并且定义如下
  • 使用 SSL 证书验证 Web 浏览器

    是否可以使用 ssl 证书对 Web 浏览器进行身份验证 假设我在应用程序中存储私钥 有什么方法可以从浏览器读取密钥并尝试基于该私钥进行身份验证 您可以使用 SSL TLS 客户端证书身份验证来对浏览器 用户进行身份验证 服务器必须请求客户
  • PHP 在输入流中使用 fwrite 和 fread

    我正在寻找将 PHP 输入流的内容写入磁盘的最有效方法 而不使用授予 PHP 脚本的大量内存 例如 如果可以上传的最大文件大小为 1 GB 但 PHP 只有 32 MB 内存 define MAX FILE LEN 1073741824 1
  • MySQL 追加字符串

    How can I append a string to the end of an existing table value Let s say I have the table below And let s say that Mari
  • PHP preg_filter 返回意外的长值

    尝试在 Woocommerce 中删除标签并过滤值 但无法以正确的格式获取它 有东西有腥味 我正在使用WC gt cart gt get cart subtotal 来检索该值 在此示例中 我的值是 2 429kr 原始返回值是 span
  • 覆盖控制器 Symfony 3.4/4.0

    我目前正在尝试覆盖 FOSUserBundle 中的控制器 在新的文档中 https symfony com doc 3 4 bundles override html https symfony com doc 3 4 bundles o
  • 通过 $_SESSION 从一个脚本发送到另一个脚本期间数据丢失

    我正在尝试将一个充满属性的对象从一个 PHP 发送到另一个 PHP SESSION object obj where obj是一个用 foreach 循环指定的对象 foreach array of objects as obj SESSI
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • 表单提交后如何保留选择字段中的选定值?

    我有一个用于将票证上传到数据库的主页 我有一个选择字段 我想保留用户在提交表单之前选择的值 但它没有发生 这是我选择字段的代码
  • php,统计字符并删除超过140个字符的内容

    我需要一个 PHP 函数来计算短语的字符数 如果短语长度超过 140 个字符 则此函数应删除所有其他字符并在短语末尾添加三个点 例如我们有 message I am what I am and you are what you are et
  • 为什么 Composer 降级了我的包?

    php composer phar update这样做了 删除了 2 3 0 软件包并安装了整个 2 2 5 Zend Framework php composer phar update Loading composer reposito
  • 对具有混合类型值的数组进行数字排序

    我有一个像这样的混合数组 fruits array lemon Lemon 20 banana apple 121 40 50 然后申请sort 其功能如下 sort fruits SORT NUMERIC foreach fruits a
  • 无法显示 Laravel 欢迎页面

    我的服务器位于 DigitalOcean 云上 我正在使用 Ubuntu 和 Apache Web 服务器 我的家用计算机运行的是 Windows 7 我使用 putty 作为终端 遵循所有指示https laracasts com ser

随机推荐

  • 看完这篇 教你玩转镜像转换神器qumu实现虚拟机做题自由!

    前言 最近有小伙伴说比赛没设备 问有没有不需要设备也能实现做题自由的方法 今天这里分享一期 看完这篇你将学会 使用 qumu 转换镜像格式 一般我们做题都是 img 格式的环境 需要导入设备 有些小伙伴没有设备 就可以使用这种方法 把 im
  • 【2023最新版】黑客入门教程|三分钟手把手教会,非常简单

    前言 你知道在每天上网时 有多少黑客正在浏览我们计算机中的重要数据吗 黑客工具的肆意传播 使得即使是稍有点计算机基础的人 就可以使用简单的工具对网络中一些疏于防范的主机进行攻击 在入侵成功之后 对其中的数据信息为所欲为 当用户发现密码被盗
  • 【深度学习:(Contrastive Learning) 对比学习】深入浅出讲解对比学习

    对比学习允许模型从未标记的数据中提取有意义的表示 通过利用相似性和不相似性 对比学习使模型能够在潜在空间中将相似的实例紧密地映射在一起 同时将那些不同的实例分开 这种方法已被证明在计算机视觉 自然语言处理 NLP 和强化学习等不同领域都是有
  • 【计算机毕设选题】opencv python 深度学习垃圾图像分类系统

    文章目录 0 前言 课题简介 一 识别效果 二 实现 1 数据集 2 实现原理和方法 3 网络结构 最后 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升
  • IPFS技术:构建可持久安全的全球文件系统

    IPFS InterPlanetary File System 是一种点对点的分布式文件系统 旨在建立一个可持久且安全的全球文件系统 它采用了一种创新的数据组织方式 将文件以Merkle有向无环图 DAG 的形式存储和分发 实现了去中心化的
  • 编译 nccl-tests 项目

    1 编译 下载源代码 git clone recursive https github com NVIDIA nccl tests git 编译源代码 cd nccl tests make j 2 运行 cd build all reduc
  • 【MCU简单且容易理解的工作原理】

    SOC是啥 System on Chip 一个芯片 但是片上有好多东西的意思 市面上的AI芯片 包括你知道的麒麟xxx 骁龙xxx等等一些列手机芯片都是SOC 对于SOC设计者来讲 显然要知道码农们码出来的一行行代码是如何在SOC上跑起来的
  • uniapp微信小程序投票系统实战 (SpringBoot2+vue3.2+element plus ) -后端架构搭建

    锋哥原创的uniapp微信小程序投票系统实战 uniapp微信小程序投票系统实战课程 SpringBoot2 vue3 2 element plus 火爆连载更新中 哔哩哔哩 bilibili uniapp微信小程序投票系统实战课程 Spr
  • 租用服务器时要注意的事项有哪些

    租用 服务器 时要注意的事项 1 租用服务器时要选择可靠的机房线路 建议选择可靠的专业的BGP机房 确保在搭建网站的时候全网络覆盖 能够确保用户南北互通 2 租用服务器时要及时测试网络和硬件 建议先ping一下服务器的速度 或者测试一下下载
  • mayavi TypeError: unsupported operand type(s) for -: ‘str‘ and ‘str‘

    目录 mayavi安装报错 模拟异常 TypeError unsupported operand type s for str and str 模拟异常 TypeError unsupported operand type s for st
  • 题解 | #删除字符串中出现次数最少的字符# 利用map统计

    比预期的要低 HR打电话说是14级 不分ABC 说制造类供应链类工资和研发体系不一样 整体就要低一些 offer选择 大家帮忙看看 offer选择 大家帮忙看看 有奖活动 什么事是你实习了才知道的 春招会有好的国央企吗 招前端实习生 北京快
  • 判断完全数-第11届蓝桥杯省赛Python真题精选

    导读 超平老师的Scratch蓝桥杯真题解读系列在推出之后 受到了广大老师和家长的好评 非常感谢各位的认可和厚爱 作为回馈 超平老师计划推出 Python 蓝桥杯真题解析100讲 这是解读系列的第27讲 判断完全数 本题是2020年6月20
  • Python写入csv乱码

    把encoding utf 8 改成 encoding utf 8 sig 代码 import os csv with open result file mode a encoding utf 8 sig newline as f writ
  • 漏洞和网络扫描的相关知识

    学习 计算机网络安全 这本书的一些记录 一 漏洞的威胁 1 通过漏洞获取远程管理员权限 通常以管理员身份执行有缺陷的远程系统守护进程来获得远程管理员权限 这些漏洞的绝大部分来源于缓冲区溢出 少部分来自守护进程本身的逻辑缺陷 典型漏洞 Win
  • windows对微信及小程序抓包:Burp+Fiddler+Proxifier

    本文由掌控安全学院 zbs 投稿 话不多说 直接先上个效果图 新新的版本哈 好好的抓包哈 然后直接说我如何配置的 准备好三个工具 bp fiddler proxifier 也可以用其他的进行代理 bp proxifier正式课件有 fidd
  • 题解 | #删除字符串中出现次数最少的字符# 利用map统计

    比预期的要低 HR打电话说是14级 不分ABC 说制造类供应链类工资和研发体系不一样 整体就要低一些 offer选择 大家帮忙看看 offer选择 大家帮忙看看 有奖活动 什么事是你实习了才知道的 春招会有好的国央企吗 招前端实习生 北京快
  • CH341StreamI2C参数解释

    总体思路 第一步 使用EEPROM写入相应的数据 第二步 使用EEPROM读取相应的数据 第三步 使用CH341StreamI2C函数还原读取过程 每一步需要逻辑分析仪进行对比 第一步 数据写入CH341WriteEEPROM 使用CH34
  • 【SpringBoot】Java MVC 集成 Swagger 生成 API 文档

    使用Swagger你只需要按照它的规范去定义接口及接口相关的信息 就可以做到生成接口文档 以及在线接口调试页面 官网 https swagger io Knife4j 是为Java MVC框架集成Swagger生成Api文档的增强解决方案
  • 游戏策划:游戏开发中的关键环节

    在数字游戏的世界里 游戏策划是构建一个成功游戏的基石 游戏策划不仅仅是一个创意过程 它涉及从故事构建到技术实现的各个方面 以下是游戏策划中需要重点关注的几个重要内容 1 故事情节与世界观构建 一款游戏的魅力很大程度上取决于其故事情节和世界观
  • 内存取证volatility工具命令详解

    一 环境安装 1 kali下安装Volatility2 注意 一般Volatility2比Volatility3好用 wget https bootstrap pypa io pip 2 7 get pip py python2 get p