手工去除 dll 和 exe 文件的数字签名

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

手工去除dll 和exe 文件的数字签名
需要的工具:
PE Explorer
UltraEdit
理论的就不多说了,因为我也不清楚。

就说说如何操作。

1、用PE打开要去除数字签名的文件,点Section Headers 可以看到如下图的画面。

2、看到最后一行是文件的资源。

Pointer to Raw Data 是段的起始地址,Size of Raw Data 是段的长度,记下这连个数字。

这些数字都是16进制的。

3、把这两个数相加0x1600h+0x1200h=0x2800h,这就是文件结尾的地址,在这个地址后面,就是数字签名的内容。

4、用ue打开文件,找到0x2800h这个地址,从这里开始,就是数字签名。

如下图。

那么数字签名有多长呢?“30 0C”就是数字签名的长度。

5、按照程序格式,低位在前。

上面得到的地址0x2800h在程序里就应该写成“00 28”,这个“30 0C”本身已经是低位在前的格式了。

6、我们在ue里查找“00 28 00 00 30 0C”,这里就是指向数字签名的地址,把这里改成0即可。

这样虽然可以屏蔽掉数字签名,但是数字签名的尸体还留在文件里,我们可以删除0x2800h开始到文件尾的全部内容,这样数字签名就彻底不存在了。

用微软makecert.exe生成一个自签名的证书
-e 01/01/2012:指定有效期的结束时间。

默认为12/31/2039 11:59:59 GMT。

格式同上
-ss my:证书产生到my个人store区
-sr currentuser:保持到计算机当前个人用户区,其他用户登录系统后则看不到该证书。

查看该生成的证书并导出:
可以在MMC的证书管理单元中对证书存储区进行管理。

Windows没有给我们准备好直接的管理证书的入口。

自己在MMC中添加,步骤如下:
1. 开始→运行→MMC,打开一个空的MMC控制台。

2. 在控制台菜单,文件→添加/删除管理单元→添加按钮→选”证书”→添加→选”我的用户账户”→关闭→确定
3. 在控制台菜单,文件→添加/删除管理单元→添加按钮→选”证书”→添加→选”计算机账户”→关闭→确定
然后导出为PFX格式的证书,PKCS#12规范的证书,包含了公钥和私钥,导出时需要提供一个私钥的保护密码,在导出时设置即可
SignTool.exe(签名工具)
.NET Framework 4.5
其他版本
0(共3)对本文的评价是有帮助 - 评价此主题
签名工具是一个命令行工具,用于对文件进行数字签名,验证文件和时间戳文件中的签名。

安装Visual Studio 和Windows SDK 时会自动安装此工具。

要运行工具,我们建议您使用Visual Studio 命令提示符或Windows SDK 命令提示符(也称CMD Shell)。

您可以使用这些实用程序轻松运行工具,而不需要导航到安装文件夹。

有关详细信息,请参阅Visual Studio 和Windows SDK 命令提示。

∙如果您的计算机上已安装了Visual Studio:在任务栏上依次单击Start、All Programs、Visual Studio、Visual Studio Tools、Visual Studio Command Prompt。

- 或-
如果您的计算机上已安装了Windows SDK:在任务栏上依次单击Start、All Programs、
Windows SDK 文件夹和Command Prompt(或CMD Shell)。

∙在命令提示处,键入下列命令:
signtool [command] [options] [file_name | ...]
catdb 命令行选项
重要事项
以下命令将目录文件MyCatalogFileName.cat 添加到系统组件和驱动程序数据库中。

如有防止替换现有的名称为MyCatalogFileName.cat的目录文件的必要,/v选项会生成唯一的名称。

signtool catdb /v /u MyCatalogFileName.cat
以下命令通过使用最佳证书对文件进行自动签名。

signtool sign /a MyFile.exe
以下命令使用存储在密码保护PFX 文件中的证书对文件进行数字签名。

signtool sign /f MyCert.pfx /p MyPassword MyFile.exe
以下命令对文件进行数字签名并加盖时间戳。

用于文件签名的证书存储在PFX 文件中。

signtool sign /f MyCert.pfx /t /scripts/timstamp.dll MyFile.exe 以下命令通过使用位于My存储区的证书对文件进行签名,其主题名称为My Company Certificate。

signtool sign /n "My Company Certificate" MyFile.exe
以下命令对ActiveX 控件进行签名,并提供提示用户安装控制时由Internet Explorer 显示的信息。

Signtool sign /f MyCert.pfx /d: "MyControl" /du /MyControl/info.html MyControl.exe
以下命令对已数字签名过的文件加盖时间戳。

signtool timestamp /t /scripts/timstamp.dll MyFile.exe 以下命令验证已经签名的文件。

signtool verify MyFile.exe
以下命令验证可能已经在目录中签过名的系统文件。

signtool verify /a SystemFile.dll
以下命令验证在名为MyCatalog.cat目录中已签字的系统文件。

signtool verify /c MyCatalog.cat SystemFile.dll。

相关文档
最新文档