首页
社区
课程
招聘
[翻译]Windows PE文件中的数字签名格式
发表于: 2016-6-1 15:33 24397

[翻译]Windows PE文件中的数字签名格式

2016-6-1 15:33
24397

这几天把微软关于PE文件数字签名格式的官方文档翻译了一下,发看雪共享一下吧。附件一是源文档,附件二是中文版翻译,附件三是一个可以用来练手以搞清原理的github上的Python开源代码。

本人水平有限,翻译不足之处请见谅。祝小伙伴们儿童节快乐


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 5
支持
分享
最新回复 (25)
雪    币: 438
活跃值: (228)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
2
感谢楼主分享哦。
2016-6-1 20:18
0
雪    币: 84
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
感谢楼主分享哦。
2016-6-1 21:44
0
雪    币: 397
活跃值: (387)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
4
顶 , 6.1 快乐 ,lz这算是给大家发礼物吧:)
2016-6-1 22:04
0
雪    币: 9662
活跃值: (4588)
能力值: ( LV15,RANK:800 )
在线值:
发帖
回帖
粉丝
5
论坛里关于数字签名的讨论比较少,微软的文章挺不错的,所以翻译出来分享一下~
2016-6-1 22:33
0
雪    币: 24
活跃值: (1353)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
这个东西挺有用,感谢楼主
2016-6-2 13:50
0
雪    币: 27
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
感谢楼主分
2016-6-2 21:00
0
雪    币: 102
活跃值: (2060)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
mark
2016-6-3 09:59
0
雪    币: 346
活跃值: (25)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
9
感谢楼主分享,恰好也在找这方面的资料。
2016-6-4 12:52
0
雪    币: 19
活跃值: (1086)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
很好的东西,多谢了
2016-6-4 20:14
0
雪    币: 207
活跃值: (58)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
哈哈,非常佩服楼主,居然翻译了这么多,深受熏陶。
2016-6-7 08:40
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
翻译的不错,辛苦了
微软太多保密的东西了,没办法谁让全世界都用呢
2016-6-10 10:27
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
非常佩服楼主,居然翻译了这么多,下载学习了
2016-6-13 23:35
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
感谢楼主
2016-6-14 20:53
0
雪    币: 74
活跃值: (748)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
非常不错,感谢分享
2016-6-16 13:07
0
雪    币: 158
活跃值: (384)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
最近发现一个比较有趣的事情,不知道是不是很常见,在windows NT6.X里面,对bootmgr.exe的签名,其签名数据直接附加在PE文件末尾,其偏移地址和大小由 optional header -> data directories -> SecurityDirectoryRVA SecurityDirectorySize 指定,而SecurityDirectoryRVA 的值直接为PE文件的实际长度。
这导致像 CFF Explorer VII这样的工具打开bootmgr.exe时认为SecurityDirectoryRVA 这个字段值无效,被标记为红色,貌似是他去sections里面找地址发现没有匹配的。

通过一个叫 wimboot 的开源项目,在他的peloader.c里发现了一段注释:

/* Load copy of raw image into memory immediately after loaded
* sections. This seems to be used for verification of X.509
* signatures.
*/
raw_base = ( pe->base + pe->len );
memcpy ( raw_base, data, len );
pe->len += len;
DBG2 ( "...raw copy to %p+%#zx\n", raw_base, len );
2016-6-19 11:38
0
雪    币: 454
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
不错的学文哦,下载学习
2016-7-1 09:01
0
雪    币: 4
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
感谢楼主~
2016-9-27 20:40
0
雪    币: 58
活跃值: (1135)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
这个开源项目在哪?
2016-9-27 21:31
0
雪    币: 13
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
mark
2016-10-9 19:11
0
雪    币: 158
活跃值: (384)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
http://ipxe.org/wimboot
2016-10-29 11:00
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
感谢楼主提供资料,一直想研究PE签名的文件格式
2016-11-27 22:14
0
雪    币: 13082
活跃值: (5738)
能力值: ( LV5,RANK:77 )
在线值:
发帖
回帖
粉丝
qux
23
开源项目的地址: https://github.com/slayercat/lilinzhe-verify-sigs
原始的版本在这里: https://github.com/anthrotype/verify-sigs
有人重写了一下: https://github.com/ralphje/signify
2020-3-5 12:22
0
雪    币: 9662
活跃值: (4588)
能力值: ( LV15,RANK:800 )
在线值:
发帖
回帖
粉丝
24
最近在网上看到这方面的另一个项目和介绍,希望可以帮到有需要的人:
https://blog.trailofbits.com/2020/05/27/verifying-windows-binaries-without-windows/
https://github.com/trailofbits/uthenticode
2020-5-28 09:42
0
雪    币: 200
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
25
小白感谢楼主!
2020-12-9 14:16
0
游客
登录 | 注册 方可回帖
返回
//