|
本帖最后由 yuantian 于 2019-2-15 16:15 编辑
前言:
之前琢磨在论坛搜索如何能减少某些国产杀软误报的几率,找了好久,发现给出来的建议基本就是:减少UPX壳、更换编译版本、要不就是给EXE进行数字签名。
然后在论坛搜索找啊找, 查到了@zjw201314 的帖子《 做了个数字签名给EXE,DLL,OCX签名证书小工具》,下载并使用。
后期在小工具使用过程中,发现不是很稳定,有的时候点击按钮闪退,有的时候压根就打不开,很扎心。
本想找到源码修改下下,发现源码已经停止分享,于是就萌生了自己写一个的想法。
参考了以下的帖子:
下面开始正文: 1.文件结构请参考这里
上面那两个文件夹是为了分类放置文件存在的,
"Cert" 用来存放软件生成的证书
"Tools" 用来存放程序调用必须的文件
"SignToolCfg.ini"则是外置的一些配置文件,如果配置文件不存在,则当软件运行时,会自动提示你创建。
INI文件创建的时候还包含一些注释,希望对其他的小伙伴有用处.
2.原来的那个小工具在签名的时候,是需要运行小工具,在界面上进行EXE的选择及证书的选择
我的这个软件做的有一点差异的地方在于,它将自身写入到注册表中,以便在需要的时候,通过右键菜单调用。
3.写入注册表的行为则需要管理员权限,所以我在GUI界面上特意增加了个提示,请看:
这是普通用户权限:
这是管理员权限:
除此之外,再无管理员权限需求。
PS:忘记说了,软件签名的功能,文本框支持文件拖拽(可以直接把EXE程序扔进文本框),也可以点击后面的打开按钮进行选择。
这里增加了时间戳可选服务(我只找到了5个免费的时间戳服务,应该还会有更多),你想怎么戳就怎么戳。
如果没有你喜欢的服务商,请编辑外置文件"SignToolCfg.ini",可以添加。
4.第二个选项卡则是[制作证书],界面我仿制了@zjw201314的样式,就没再怎么改。
只加了一些提示和默认值。
5.关于[生成证书]部分
软件生成证书后,会自动存放在"Cert"文件夹下,
分别生成: ① RootIssuer.pvk <-- 根证书的私钥文件
② RootIssuer.cer <-- 根证书的公钥文件
③ ChildSubject.pvk <-- 子证书的私钥文件(依据根证书生成)
④ ChildSubject.cer <-- 子证书的公钥文件(依据根证书生成)
⑤ ChildSubject.pfx <-- 包含私钥和公钥的证书,本工具就是利用这个文件来进行软件签名的
根证书和子证书的文件名可以通过编辑外置文件"SignToolCfg.ini"进行预定义
顺便说一下,生成的证书的加密方式是SHA1的,其余的没什么区别了。
附件(稍稍微收一点点金币意思一下):
Update:
2019-02-14:到底还是坑在了带空格的路径,更新了一版,没问题了。
==========================================
PS:
1、我是个新手,制作这个本来就是为了懒才弄出来的。如果有什么问题,请大家指出,我学习改正。
2、建议大家在生成证书的时候,不要添加密码。否则的话,到时候给软件签名的时候,会很麻烦。
3、本工具自带全套工具,建议单独放置在一个文件夹中,比较方便管理。
4、本工具只测试了XP x86 和 Win10 x64,其余的操作系统未知。
5、时间戳的功能需要联网才可用
==========================================2019.02.15更新:
我做的这个工具主要是为了EXE文件右键直接签名(就是上面的图2)
GUI界面什么的都是赠的功能
因为懒,所以不想签名一个文件就单独打开Sign工具一遍
End.
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?加入
×
评分
-
查看全部评分
|