示例为:将AHK进程和代码注入到系统计算器中运行,也可以注入其它进程。不限于AHK

功能概述:

  1. 注入和运行脚本:
    • 提供了通过二进制注入的方式运行AutoHotkey脚本或其他可执行文件的功能。
    • 使用BinRun方法,可以从内存中直接加载并执行二进制脚本或程序。
    • 支持通过管道将自定义代码动态注入到指定进程中运行。
  2. 代码结构处理:
    • 定义了许多Windows PE文件结构相关的数据类型,例如IMAGE_DOS_HEADERIMAGE_NT_HEADERS等,用于解析和操作PE文件。
    • 包含一个 _Struct 类,提供了强大的数据结构操作功能,支持对复杂结构体进行动态分配、读写和操作。
  3. 解压缩和验证数据完整性:
    • 提供了BinRun_Uncompress函数,用于解压缩从资源中提取的二进制数据,并验证其完整性(通过哈希校验)。
  4. 进程和线程控制:
    • 使用Windows API(例如CreateProcessGetThreadContextSetThreadContext等)实现对新进程的创建、挂起、上下文操作,以及内存注入。
    • 支持通过强制指定64位或32位解释器运行目标脚本。
  5. 支持动态内存管理:
    • _Struct类中封装了动态内存分配功能,可以高效管理和操作内存数据。
    • 支持不同数据类型的对齐和大小计算。
  6. 从内存运行可执行文件:
    • 提供了直接从内存加载和运行二进制可执行文件的能力,而无需写入到磁盘。

应用场景:

  • 脚本保护和执行: 可以将脚本加载到内存中运行,而不是直接暴露在磁盘上,从而提高了脚本的安全性。
  • 动态代码注入: 适合用于动态加载和运行代码的需求,例如运行时修改行为、注入进程等。
  • 内存操作和结构解析: 可用于操作复杂的PE文件结构,适合需要深入研究或修改PE文件的场景。
  • 模拟与测试: 通过注入自定义代码,可以用于调试、测试或在指定环境中运行特定逻辑。

注意事项:

  • 代码中涉及直接操作系统内核功能(如线程上下文、内存管理等),在使用时需要小心,避免系统不稳定或安全问题。
  • 此代码需要对AutoHotkey和Windows底层操作系统API有一定了解才能有效应用。

 

代码包含V1L和V2H版实现方法

声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。