Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
blackhat-python3 — 《Black Hat Python》一书(作者Justin Seitz)的源代码。代码已完全转换为Python 3,按照PEP8标准重新格式化,并重构以消除涉及已弃用库实现的依赖问题。 | Kitploit
工具/GitHubGitHub/eonraider/blackhat-python3
OSINT (开源情报)代码分析漏洞利用取证分析后渗透利用Web安全网络安全恶意软件分析密码学渗透测试学习与教育
GitHubeonraider/blackhat-python3
2.4k4552年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

blackhat-python3

《Black Hat Python》一书(作者Justin Seitz)的源代码。代码已完全转换为Python 3,按照PEP8标准重新格式化,并重构以消除涉及已弃用库实现的依赖问题。

查看仓库

Python 3 "Black Hat Python" 源代码

Justin Seitz 所著《Black Hat Python》一书的源代码。代码已完全转换为 Python 3,并按照 PEP8 标准重新格式化,同时进行了重构,以消除因实现已弃用库而导致的依赖问题。

尽管本书呈现的源代码中本可以实施许多优化,但代码尽可能保持原样,以便读者自行决定应用这些修改。当前代码需要进行一些重大的重构工作,包括文档字符串、类型提示和异常处理,更不用说上下文管理器等增强功能,但这些问题的存在本身可能对打算实现它们的读者有益。代码中还包含许多源自缩进问题导致的错误,这些错误已得到修正,以避免运行时出现致命错误。

本人已对 TJ O'Connor 所著《Violent Python》的源代码进行了类似的转换。如果你还没看过,请点击此处查看。

使用方法

只需选择一个目录(DIR),使用 git clone 克隆项目,为其创建一个新的虚拟环境或 venv(推荐),然后使用 pip install 安装依赖。

root@kitploit:~
user@host:~/DIR$ git clone https://github.com/EONRaider/blackhat-python3
user@host:~/DIR$ python3 -m venv venv
user@host:~/DIR$ source venv/bin/activate
(venv) user@host:~/DIR$ pip install -r requirements.txt

注意事项

  • 书中展示的一些代码清单在作者提供的代码仓库中缺失(该仓库可从 "no starch press" 网站获取),这些代码已添加至各自章节。必要时已采用更准确的命名约定来命名文件,以便与书中代码关联。
  • 解释器会生成警告的微小错误已在全代码中修复,但未改变其特性。
  • 使代码正常运行所需的辅助文件已添加到相应章节。
  • 作为个人附注,作者本可以编写更干净的代码,而不会影响道德黑客渗透测试所需的快速实现。至于他为何选择不这样做,原因不明。

重构

为了正确实现源代码并避免致命错误而必须进行的关键错误修复:

  • chapter02/bh_sshserver.py 需要 test_rsa.key 文件中包含的 RSA 密钥,该文件现已包含在相应目录中。
  • chapter03/sniffer_ip_header_decode.py、sniffer_with_icmp.py 和 scanner.py 均在 IP 数据包大小定义以及 32/64 位架构间的可移植性方面存在严重问题,原因是 struct 的实现存在问题。更多关于这些问题的信息,请参阅 Stack Overflow 上的这个帖子。
  • chapter03/scanner.py 使用了 netaddr 库,该库已不再维护,且与 Python 3 存在许多不兼容问题。因此代码已进行重构,现在使用 Python stdlib 中的 ipaddress 模块。
  • chapter04/arper.py 和 mail_sniffer.py 使用了 scapy 库,该库不兼容 Python 3。因此代码已重构,现在使用 库。

翻译

其他语言的贡献可在此处查看:

  • 土耳其语翻译者 Bedirhan Budak

贡献

按照常识,首先尝试通过 issue 讨论您想要对此仓库进行的更改。

  1. 确保您想要进行的修改确实需要提交拉取请求。一两个行的更改应通过 issue 请求。
  2. 如有必要,更新 README.md 文件,包含与项目结构更改相关的详细信息。
  3. 确保包含修改的提交消息遵循标准。如果您不知道如何操作,此处是一个很好的参考。
  4. 您的请求将尽快得到审核(通常 48 小时内)。
下载工具
kamene
  • chapter04/pic_carver.py 现在使用 opencv-python 库替代 cv2。已弃用的 cv2.cv 模块已被替换。原始代码中的参数 cv2.cv.CV_HAAR_SCALE_IMAGE 已替换为 cv2.CASCADE_SCALE_IMAGE,原因见此提交。
  • chapter05/content_bruter.py 需要一个单词列表才能工作。该单词列表已以 all.txt 形式添加到章节中。
  • chapter05/joomla_killer.py 需要一个单词列表才能工作。该单词列表已以 cain.txt 形式添加到章节中。
  • chapter06/bhp_bing.py、bhp_fuzzer.py 和 bhp_wordlist.py 已按照 PEP8 重新格式化,但由于在 Burp Suite 上此特定应用中需要将类名改为驼峰命名,仍会触发一些警告。
  • chapter06/jython-standalone-2.7.2.jar 作为相对书中所示文件更新的版本提供。
  • chapter07/git_trojan.py 已重构,使用 types 替代已弃用的 imp 库。已按照书中指示实现了一个包含必要配置文件的子目录结构。trojan_config 变量缺少到 config 子目录的相对路径。已在第 60 行添加了对 to_tree 方法的调用,以避免原始代码引发的 AttributeError 异常。已包含关于在使用双因素认证时如何生成访问令牌(而非使用密码)的注释。
  • chapter08/keylogger.py 需要 PyHook 库才能工作。已包含一个 1.6.2 版本的 wheel 文件。如果需要,其他版本可从此处下载。
  • chapter09/ie_exfil.py 在将变量 plaintext(可能以字符串或二进制字符串形式出现)传递给 encrypt_string 函数时,因其处理方式而引发错误。此外,base64 库的使用已得到修正。贡献来自 Enraged 的此提交。