Skip to content

zcmwlaq/CopyTool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

SignCopyTool - PE文件资源和证书复制工具

SignCopyTool是一个Windows平台下的命令行工具,用于将exe中的资源和数字证书从一个文件复制到另一个文件。

功能特性

  • 复制PE文件中的所有资源(包括图标、版本信息、字符串表等)
  • 提取并复制数字证书(签名信息)
  • 命令行界面,易于集成到自动化流程中

编译环境要求

  • Windows操作系统
  • Visual Studio 2019或更高版本
  • Windows SDK

项目结构

SignCopyTool/
├── CopyTool/
│   ├── CopyTool.cpp        # 主程序源代码
│   ├── test.vcxproj        # Visual Studio项目文件
│   ├── test.vcxproj.filters # 项目筛选器文件
│   └── x64/                # 编译输出目录
└── README.md               # 本说明文件

编译步骤

  1. 打开Visual Studio
  2. 打开CopyTool.sln解决方案文件
  3. 选择目标配置(Debug或Release)和平台(x64或Win32)
  4. 按F7或点击"生成" → "生成解决方案"

编译后的可执行文件将位于CopyTool/x64/Debug/CopyTool/x64/Release/目录下。

使用方法

编译完成后,可以通过命令行运行工具:

CopyTool.exe <源文件路径> <目标文件路径>

示例:

CopyTool.exe "C:\source\app.exe" "C:\target\app_modified.exe"

这将会:

  1. app.exe中的所有资源复制到app_modified.exe
  2. 如果app.exe有数字签名,也会将其复制到app_modified.exe

注意事项

  • 源文件和目标文件都必须是有效的PE文件
  • 目标文件将被直接修改,请在操作前备份重要文件
  • 工具需要对目标文件具有写权限
  • 在某些情况下,复制证书可能会使目标文件的数字签名失效,这取决于目标文件的原有签名状态

API参考

核心函数

  • ExtractCertificateBlob: 从PE文件中提取证书
  • WriteCertificateBlobToFile: 将证书写入PE文件
  • EnumTypeProc, EnumNameProc, EnumLangProc: 资源枚举回调函数

数据结构

  • myCopyContext: 用于在资源枚举过程中传递上下文信息

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages