yuantian 发表于 2019-2-14 05:17:36

数字签名辅助工具

本帖最后由 yuantian 于 2019-2-15 16:15 编辑

前言:
  之前琢磨在论坛搜索如何能减少某些国产杀软误报的几率,找了好久,发现给出来的建议基本就是:减少UPX壳、更换编译版本、要不就是给EXE进行数字签名。
然后在论坛搜索找啊找, 查到了@zjw201314 的帖子《 做了个数字签名给EXE,DLL,OCX签名证书小工具》,下载并使用。
 后期在小工具使用过程中,发现不是很稳定,有的时候点击按钮闪退,有的时候压根就打不开,很扎心。
 本想找到源码修改下下,发现源码已经停止分享,于是就萌生了自己写一个的想法。
参考了以下的帖子:

[*]@zjw201314      :《做了个数字签名给EXE,DLL,OCX签名证书小工具》
[*]@漠北雪~狼      :《数字签名工具》
[*]互联网         :《制作数字证书 给DLL加一个数字签名》



下面开始正文:  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.



yuantian 发表于 2019-2-14 05:20:40

本帖最后由 yuantian 于 2019-2-14 05:21 编辑

{:face (394):}
Zzz...编辑帖子到这个点儿了,太困了,睡醒了起来再看,大家晚安。

lpxx 发表于 2019-2-14 08:14:38

这工具不太用的着,看你写的说明文件就知道生活中你是一个勤奋严谨的人。

862228699 发表于 2019-2-14 08:33:53

该报毒的还得报!!!

redapple2008 发表于 2019-2-14 09:01:37

一单混淆加密就报毒,减少UPX壳、更换编译版本、给EXE进行数字签名,完整编译信息,不混淆加密都能减少报毒

redapple2008 发表于 2019-2-15 09:52:34

签名会出现这样的情况。

tubaba 发表于 2019-2-15 10:06:02

redapple2008 发表于 2019-2-15 09:52
签名会出现这样的情况。

这个是必然的,因为生成的证书本身就是不合法的,只是为了测试而用,不然网上提供合法签名的公司还能赚钱吗

redapple2008 发表于 2019-2-15 10:19:10

tubaba 发表于 2019-2-15 10:06
这个是必然的,因为生成的证书本身就是不合法的,只是为了测试而用,不然网上提供合法签名的公司还能赚钱 ...
论坛上提供的方法不会这样显示的

llztt 发表于 2019-2-15 10:24:50

刚想要说 tubaba有做这工具啊,我一直用着tubaba的混淆工具和签名工具,非常给力,没想到楼上现身了

tubaba 发表于 2019-2-15 10:33:16

redapple2008 发表于 2019-2-15 10:19
论坛上提供的方法不会这样显示的

那是因为你系统里寻入了根证书并被信任了··

yuantian 发表于 2019-2-15 15:29:19

862228699 发表于 2019-2-14 08:33
该报毒的还得报!!!

只能说尽量减少报毒的状况。
某民,某星加上数字证书后,误报少点,省得麻烦。

yuantian 发表于 2019-2-15 15:33:32

本帖最后由 yuantian 于 2019-2-15 15:43 编辑

redapple2008 发表于 2019-2-15 10:19
论坛上提供的方法不会这样显示的
之前论坛上提供的那个
是在生成Iss根证书后
直接将证书导入到本机的信任区了
所以你在本机才会看到【签名正常】,
到其他的计算机上之后,依旧提示无法验证签名。
如果需要自动安装的话,你可以看看这里,
http://www.autoitx.com/thread-44135-1-1.html

yuantian 发表于 2019-2-15 15:34:57

llztt 发表于 2019-2-15 10:24
刚想要说 tubaba有做这工具啊,我一直用着tubaba的混淆工具和签名工具,非常给力,没想到楼上现身了

tubaba可是大神,触摸不到的那种
{:face (317):}

yuantian 发表于 2019-2-15 16:13:41

llztt 发表于 2019-2-15 10:24
刚想要说 tubaba有做这工具啊,我一直用着tubaba的混淆工具和签名工具,非常给力,没想到楼上现身了

我做的这个工具主要是为了EXE文件右键直接签名,
GUI界面什么的都是赠的功能
毕竟不至于签名一个文件就单独打开小程序界面。

redapple2008 发表于 2019-2-15 16:48:54

懒才是工具开发的动力。
页: [1] 2
查看完整版本: 数字签名辅助工具