软件星级:3分
应用模式签名、内核模式签名、CAB/CAT签名及生成样样都行,比微软的signtool方便。
但是呢,经常用它签内核驱动的人都知道他有一个缺点:
签名内核模式驱动最常用的证书是有两个
一个是“上海域联软件技术有限公司” (这个公司正是这数字签名工具最初的开发商……可能某次一不小心把签名证书泄露了?)
另一个是“HT Srl”(那个卖间谍软件给政府的意大利开发商HackingTeam被黑了,证书泄露)
如你们所见,这些证书早就过期了。如果现在想用这个证书签名,签名工具会拒绝接收此证书。唯一的解决办法就是修改系统时间回到有效期内再签名。
但是,修改系统日期很麻烦有没有啊……!
我很懒,所以就把签名工具修改了一下:
修改版本与原版的区别:
1.在原版中,若想使用已过期的数字证书进行签名,则需要修改整个系统的时间。在修改版本中您可以通过编辑hook.ini修改签名工具获取到的时间,免去修改系统时间的麻烦。
2.修改了原版时间戳列表,删除Entrust时间戳,增加了我自建的上海域联专用时间戳(签名时间为 2011-04-01 00:00:00 UTC),因此可以在签名的同时打上时间戳。
若将我的 JemmyLoveJenny EV Root CA 添加进系统根证书信任列表,过期的上海域联证书+此专用时间戳可以直接通过WinXP-Win10所有系统的驱动加载签名检查。
EVRootCA.crt就是我自签名的根证书。为了便于添加信任,我制作了注册表添加方式,运行EVRootCA.reg也可以达到的目的。
修改过程:
1.编译HookSigntool.dll,使用微软Detur库Hook了签名工具的函数 crypt32.dll!CertVerifyTimeValidity 和 kernel32.dll!GetLocalTime。
2.修改DSigntool.exe,PE头部导入表添加 HookSigntool.dll!attach 达到Hook函数的目的。
3.修改Dsigntool.exe,将Entrust的时间戳地址更换为我自己的专用时间戳。
用法:
1.安装原版签名工具,获取地址为 https://www.trustasia.com/sign-tools (其实不安装也可以)
2.下载本修改版工具,替换文件到安装位置。
3.编辑hook.ini文件,自定义日期(默认设为2011-04-01)
4.启动DSigntool.exe尽情享用吧。
效果展示:
增加的上海域联专用时间戳
时间戳后数字签名正常(如果不加时间戳,会显示证书已吊销)
Signtool验证签名及加载驱动