├── Build
├── PESignAnalyzer_VS2015_x64.exe
└── PESignAnalyzer_VS2015_x86.exe
├── clean.bat
├── LICENSE
├── .gitattributes
├── .gitignore
├── MSVC
├── PESignAnalyzer_VS2013.vcxproj
└── PESignAnalyzer_VS2015.vcxproj
├── README.md
└── PESignAnalyzer.cpp
/Build/PESignAnalyzer_VS2015_x64.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/leeqwind/PESignAnalyzer/HEAD/Build/PESignAnalyzer_VS2015_x64.exe
--------------------------------------------------------------------------------
/Build/PESignAnalyzer_VS2015_x86.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/leeqwind/PESignAnalyzer/HEAD/Build/PESignAnalyzer_VS2015_x86.exe
--------------------------------------------------------------------------------
/clean.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | cd
3 | for /r . %%c in (.) do @if exist "%%c\Debug" rd /S /Q "%%c\Debug"
4 | for /r . %%c in (.) do @if exist "%%c\Release" rd /S /Q "%%c\Release"
5 | for /r . %%c in (*.aps *.bsc *.clw *.ilk *.log *.mac *.ncb *.obj *.opt *.sdf *.plg *.positions *.suo *.user *.WW *.i) do del /f /q /s /A "%%c"
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Leeqwind
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Set default behavior to automatically normalize line endings.
3 | ###############################################################################
4 | * text=auto
5 |
6 | ###############################################################################
7 | # Set default behavior for command prompt diff.
8 | #
9 | # This is need for earlier builds of msysgit that does not have it on by
10 | # default for csharp files.
11 | # Note: This is only used by command line
12 | ###############################################################################
13 | #*.cs diff=csharp
14 |
15 | ###############################################################################
16 | # Set the merge driver for project and solution files
17 | #
18 | # Merging from the command prompt will add diff markers to the files if there
19 | # are conflicts (Merging from VS is not affected by the settings below, in VS
20 | # the diff markers are never inserted). Diff markers may cause the following
21 | # file extensions to fail to load in VS. An alternative would be to treat
22 | # these files as binary and thus will always conflict and require user
23 | # intervention with every merge. To do so, just uncomment the entries below
24 | ###############################################################################
25 | #*.sln merge=binary
26 | #*.csproj merge=binary
27 | #*.vbproj merge=binary
28 | #*.vcxproj merge=binary
29 | #*.vcproj merge=binary
30 | #*.dbproj merge=binary
31 | #*.fsproj merge=binary
32 | #*.lsproj merge=binary
33 | #*.wixproj merge=binary
34 | #*.modelproj merge=binary
35 | #*.sqlproj merge=binary
36 | #*.wwaproj merge=binary
37 |
38 | ###############################################################################
39 | # behavior for image files
40 | #
41 | # image files are treated as binary by default.
42 | ###############################################################################
43 | #*.jpg binary
44 | #*.png binary
45 | #*.gif binary
46 |
47 | ###############################################################################
48 | # diff behavior for common document formats
49 | #
50 | # Convert binary document formats to text before diffing them. This feature
51 | # is only available from the command line. Turn it on by uncommenting the
52 | # entries below.
53 | ###############################################################################
54 | #*.doc diff=astextplain
55 | #*.DOC diff=astextplain
56 | #*.docx diff=astextplain
57 | #*.DOCX diff=astextplain
58 | #*.dot diff=astextplain
59 | #*.DOT diff=astextplain
60 | #*.pdf diff=astextplain
61 | #*.PDF diff=astextplain
62 | #*.rtf diff=astextplain
63 | #*.RTF diff=astextplain
64 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 |
4 | # User-specific files
5 | *.suo
6 | *.user
7 | *.sln.docstates
8 |
9 | # Build results
10 |
11 | [Dd]ebug/
12 | [Rr]elease/
13 | x64/
14 | build/
15 | [Bb]in/
16 | [Oo]bj/
17 |
18 | # Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
19 | !packages/*/build/
20 |
21 | # MSTest test Results
22 | [Tt]est[Rr]esult*/
23 | [Bb]uild[Ll]og.*
24 |
25 | *_i.c
26 | *_p.c
27 | *.ilk
28 | *.meta
29 | *.obj
30 | *.pch
31 | *.pdb
32 | *.pgc
33 | *.pgd
34 | *.rsp
35 | *.sbr
36 | *.tlb
37 | *.tli
38 | *.tlh
39 | *.tmp
40 | *.tmp_proj
41 | *.log
42 | *.vspscc
43 | *.vssscc
44 | .builds
45 | *.pidb
46 | *.log
47 | *.scc
48 |
49 | # Visual C++ cache files
50 | ipch/
51 | *.aps
52 | *.ncb
53 | *.opensdf
54 | *.sdf
55 | *.cachefile
56 |
57 | # Visual Studio profiler
58 | *.psess
59 | *.vsp
60 | *.vspx
61 |
62 | # Guidance Automation Toolkit
63 | *.gpState
64 |
65 | # ReSharper is a .NET coding add-in
66 | _ReSharper*/
67 | *.[Rr]e[Ss]harper
68 |
69 | # TeamCity is a build add-in
70 | _TeamCity*
71 |
72 | # DotCover is a Code Coverage Tool
73 | *.dotCover
74 |
75 | # NCrunch
76 | *.ncrunch*
77 | .*crunch*.local.xml
78 |
79 | # Installshield output folder
80 | [Ee]xpress/
81 |
82 | # DocProject is a documentation generator add-in
83 | DocProject/buildhelp/
84 | DocProject/Help/*.HxT
85 | DocProject/Help/*.HxC
86 | DocProject/Help/*.hhc
87 | DocProject/Help/*.hhk
88 | DocProject/Help/*.hhp
89 | DocProject/Help/Html2
90 | DocProject/Help/html
91 |
92 | # Click-Once directory
93 | publish/
94 |
95 | # Publish Web Output
96 | *.Publish.xml
97 |
98 | # NuGet Packages Directory
99 | ## TODO: If you have NuGet Package Restore enabled, uncomment the next line
100 | #packages/
101 |
102 | # Windows Azure Build Output
103 | csx
104 | *.build.csdef
105 |
106 | # Windows Store app package directory
107 | AppPackages/
108 |
109 | # Others
110 | sql/
111 | *.Cache
112 | ClientBin/
113 | [Ss]tyle[Cc]op.*
114 | ~$*
115 | *~
116 | *.dbmdl
117 | *.[Pp]ublish.xml
118 | *.pfx
119 | *.publishsettings
120 |
121 | # RIA/Silverlight projects
122 | Generated_Code/
123 |
124 | # Backup & report files from converting an old project file to a newer
125 | # Visual Studio version. Backup files are not needed, because we have git ;-)
126 | _UpgradeReport_Files/
127 | Backup*/
128 | UpgradeLog*.XML
129 | UpgradeLog*.htm
130 |
131 | # SQL Server files
132 | App_Data/*.mdf
133 | App_Data/*.ldf
134 |
135 |
136 | #LightSwitch generated files
137 | GeneratedArtifacts/
138 | _Pvt_Extensions/
139 | ModelManifest.xml
140 |
141 | # =========================
142 | # Windows detritus
143 | # =========================
144 |
145 | # Windows image file caches
146 | Thumbs.db
147 | ehthumbs.db
148 |
149 | # Folder config file
150 | Desktop.ini
151 |
152 | # Recycle Bin used on file shares
153 | $RECYCLE.BIN/
154 |
155 | # Mac desktop service store files
156 | .DS_Store
157 |
--------------------------------------------------------------------------------
/MSVC/PESignAnalyzer_VS2013.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | Win32
7 |
8 |
9 | Release
10 | Win32
11 |
12 |
13 |
14 | {765EAA83-2A44-4E2C-B8D3-C87A74500614}
15 | Win32Proj
16 | PESignAnalyzer
17 |
18 |
19 |
20 | Application
21 | true
22 | v120
23 | Unicode
24 |
25 |
26 | Application
27 | false
28 | v120
29 | true
30 | Unicode
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 | true
44 | $(SolutionDir)$(Configuration)\
45 |
46 |
47 | false
48 |
49 |
50 |
51 |
52 |
53 | Level3
54 | Disabled
55 | WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)
56 | true
57 |
58 |
59 | Console
60 | true
61 |
62 |
63 |
64 |
65 | Level3
66 |
67 |
68 | MaxSpeed
69 | true
70 | true
71 | WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)
72 | true
73 |
74 |
75 | Console
76 | true
77 | true
78 | true
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
--------------------------------------------------------------------------------
/MSVC/PESignAnalyzer_VS2015.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | Win32
7 |
8 |
9 | Debug
10 | x64
11 |
12 |
13 | Release
14 | Win32
15 |
16 |
17 | Release
18 | x64
19 |
20 |
21 |
22 |
23 |
24 |
25 | {765EAA83-2A44-4E2C-B8D3-C87A74500614}
26 | Win32Proj
27 | PESignAnalyzer
28 |
29 |
30 |
31 | Application
32 | true
33 | v140
34 | Unicode
35 |
36 |
37 | Application
38 | true
39 | v140
40 | Unicode
41 |
42 |
43 | Application
44 | false
45 | v140
46 | true
47 | Unicode
48 |
49 |
50 | Application
51 | false
52 | v140
53 | true
54 | Unicode
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 | true
74 | $(SolutionDir)$(Configuration)\
75 |
76 |
77 | true
78 |
79 |
80 | false
81 |
82 |
83 | false
84 |
85 |
86 |
87 |
88 |
89 | Level3
90 | Disabled
91 | WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)
92 | true
93 | MultiThreadedDebug
94 |
95 |
96 | Console
97 | true
98 |
99 |
100 |
101 |
102 |
103 |
104 | Level3
105 | Disabled
106 | WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)
107 | true
108 | MultiThreadedDebug
109 |
110 |
111 | Console
112 | true
113 |
114 |
115 |
116 |
117 | Level3
118 |
119 |
120 | MaxSpeed
121 | true
122 | true
123 | WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)
124 | true
125 | MultiThreaded
126 |
127 |
128 | Console
129 | true
130 | true
131 | true
132 |
133 |
134 |
135 |
136 | Level3
137 |
138 |
139 | MaxSpeed
140 | true
141 | true
142 | WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions)
143 | true
144 | MultiThreaded
145 |
146 |
147 | Console
148 | true
149 | true
150 | true
151 |
152 |
153 |
154 |
155 |
156 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # PESignAnalyzer
2 |
3 | A Simple PE File Signature information Extracting Tool.
4 |
5 | This program is used to get signature information from PE files which signed by a/some embedded code signature certificate(s) on Windows. Supporting multi-signed file info and certificates chain. Runned on Windows Vista, Windows 7, or later OS platform.
6 |
7 | This code uses `CryptoAPIs` to parse the signature and certificate data from specified file, supporting many file types, such as .exe, .cat(catalog file), .dll, .sys, etc.
8 |
9 | 一个简单的PE文件签名信息提取工具。
10 |
11 | 这个程序用来从由1个或多个嵌入式代码签名证书所签名的PE文件中获取签名信息。支持多签名文件信息和证书链的提取。运行在Windows Vista,Windows 7,及更新的操作系统平台。
12 |
13 | 这份代码使用`CryptoAPIs`来解析指定文件中的签名和证书数据,支持多种文件类型,包括exe,cat(catalog文件),dll,sys等格式。
14 |
15 | ## Running Demo
16 |
17 | 运行演示
18 |
19 | ```
20 | D:\GitHub\PESignAnalyzer\Debug>PESignAnalyzer_vs2013.exe C:\Windows\notepad.exe
21 | filepath: C:\Windows\notepad.exe
22 | signtype: cataloged
23 | catafile: C:\WINDOWS\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\Microsoft-Windows-Client-Features-Package-AutoMerged-shell~31bf3856ad364e35~amd64~~10.0.14393.0.cat
24 | -----------------------
25 | [ The 1 Sign Info ]
26 | timestamp: 2016/07/16 17:45:27
27 | version: V2
28 | digestAlgorithm: SHA256
29 | |---------------------
30 | |- subject: Microsoft Windows
31 | |- issuer: Microsoft Windows Production PCA 2011
32 | |- serial: 33000000bce120fdd27cc8ee930000000000bc
33 | |- thumbprint: e85459b23c232db3cb94c7a56d47678f58e8e51e
34 | |- signAlgorithm: sha256RSA(RSA)
35 | |- version: V3
36 | |- notbefore: 2015/08/18 17:15:28
37 | |- notafter: 2016/11/18 17:15:28
38 | |- CRLpoint: http://www.microsoft.com/pkiops/crl/MicWinProPCA2011_2011-10-19.crl
39 | |---------------------
40 | |- subject: Microsoft Windows Production PCA 2011
41 | |- issuer: Microsoft Root Certificate Authority 2010
42 | |- serial: 61077656000000000008
43 | |- thumbprint: 580a6f4cc4e4b669b9ebdc1b2b3e087b80d0678d
44 | |- signAlgorithm: sha256RSA(RSA)
45 | |- version: V3
46 | |- notbefore: 2011/10/19 18:41:42
47 | |- notafter: 2026/10/19 18:51:42
48 | |- CRLpoint: http://crl.microsoft.com/pki/crl/products/MicRooCerAut_2010-06-23.crl
49 | |---------------------
50 | |- subject: Microsoft Root Certificate Authority 2010
51 | |- issuer: Microsoft Root Certificate Authority 2010
52 | |- serial: 28cc3a25bfba44ac449a9b586b4339aa
53 | |- thumbprint: 3b1efd3a66ea28b16697394703a72ca340a05bd5
54 | |- signAlgorithm: sha256RSA(RSA)
55 | |- version: V3
56 | |- notbefore: 2010/06/23 21:57:24
57 | |- notafter: 2035/06/23 22:04:01
58 | |- CRLpoint:
59 | -----------------------
60 |
61 | ```
62 |
63 | ## Compiling
64 |
65 | 编译
66 |
67 | Developer can compile this program with Microsoft Visual Studio 2008 or later version Visual Studio. The target binary file will be built at Debug or Release folder, depending on which compiling method developers select.
68 |
69 | 开发者可以通过Microsoft Visual Studio 2008或更新版本的Visual Studio来编译这个程序。目标二进制文件会在Debug或Release目录生成,这取决于开发者选择何种编译方式。
70 |
71 | ## Multi-signed Supporting
72 |
73 | 多签名支持
74 |
75 | This code does not use `WinVerifyTrust` to verify and retrieve signature and certificate information, but `CryptoAPIs` instead.
76 |
77 | It might also be noted that this program supports analyzing multi-signed PE files, even though on the OS platforms which does not support multi-signature detecting, such as Windows 7, Windows Vista, etc. Multi-signed PE file means that this file has been signed by more than one embedded code signature certificate.
78 |
79 | If you transfer the path to a multi-signatured file into PESignAnalyzer process, it will show the target information as below. Every `[The X Sign Info]` means a chunk of completed information of a signature block.
80 |
81 | 这份代码没有使用`WinVerifyTrust`来验证和获取签名证书信息,而是用`CryptoAPIs`代替。
82 |
83 | 需要注意的是,这个程序支持解析多签名的PE文件,即使是在诸如Windows 7,Windows Vista这种不支持多签名检测的操作系统平台上。多签名的PE文件意味着这个文件已经被多个嵌入式代码签名证书所签名了。
84 |
85 | 如果你将一个多签名文件的路径作为参数传递给PESignAnalyzer的二进制文件,它会展示如下所示的信息。 每一个`[The X Sign Info]`意味着一个签名的完整信息。
86 |
87 | ```
88 | D:\GitHub\PESignAnalyzer\Debug>PESignAnalyzer_vs2013.exe D:\sign_samples\multi_sign\sample.sys
89 | filepath: D:\sign_samples\multi_sign\sample.sys
90 | signtype: embedded
91 | catafile:
92 | -----------------------
93 | [ The 1 Sign Info ]
94 | timestamp: 2015/07/10 22:19:44
95 | version: V2
96 | digestAlgorithm: SHA1
97 | |---------------------
98 | |- subject: Future Technology Devices International Ltd
99 | |- issuer: VeriSign Class 3 Code Signing 2010 CA
100 | |- serial: 03c3ce928ee0415b782a96d3fb5dc283
101 | |- thumbprint: 055ef6258c59fe21f14d9fa938da92f345e7eb9d
102 | |- signAlgorithm: sha1RSA(RSA)
103 | |- version: V3
104 | |- notbefore: 2013/09/18 00:00:00
105 | |- notafter: 2016/11/16 23:59:59
106 | |- CRLpoint: http://csc3-2010-crl.verisign.com/CSC3-2010.crl
107 | |---------------------
108 | |- subject: VeriSign Class 3 Code Signing 2010 CA
109 | |- issuer: VeriSign Class 3 Public Primary Certification Authority - G5
110 | |- serial: 5200e5aa2556fc1a86ed96c9d44b33c7
111 | |- thumbprint: 495847a93187cfb8c71f840cb7b41497ad95c64f
112 | |- signAlgorithm: sha1RSA(RSA)
113 | |- version: V3
114 | |- notbefore: 2010/02/08 00:00:00
115 | |- notafter: 2020/02/07 23:59:59
116 | |- CRLpoint: http://crl.verisign.com/pca3-g5.crl
117 | |---------------------
118 | |- subject: VeriSign Class 3 Public Primary Certification Authority - G5
119 | |- issuer: VeriSign Class 3 Public Primary Certification Authority - G5
120 | |- serial: 18dad19e267de8bb4a2158cdcc6b3b4a
121 | |- thumbprint: 4eb6d578499b1ccf5f581ead56be3d9b6744a5e5
122 | |- signAlgorithm: sha1RSA(RSA)
123 | |- version: V3
124 | |- notbefore: 2006/11/08 00:00:00
125 | |- notafter: 2036/07/16 23:59:59
126 | |- CRLpoint:
127 | -----------------------
128 | [ The 2 Sign Info ]
129 | timestamp: 2015/07/14 20:13:00
130 | version: V2
131 | digestAlgorithm: SHA256
132 | |---------------------
133 | |- subject: Microsoft Windows Hardware Compatibility Publisher
134 | |- issuer: Microsoft Windows Third Party Component CA 2012
135 | |- serial: 330000001dc31a761624754f8000000000001d
136 | |- thumbprint: 96c51247e27dae45a1bcd582a0503256f9eaedac
137 | |- signAlgorithm: sha256RSA(RSA)
138 | |- version: V3
139 | |- notbefore: 2014/12/19 19:27:34
140 | |- notafter: 2016/03/19 19:27:34
141 | |- CRLpoint: http://www.microsoft.com/pkiops/crl/Microsoft%20Windows%20Third%20Party%20Component%20CA%202012.crl
142 | |---------------------
143 | |- subject: Microsoft Windows Third Party Component CA 2012
144 | |- issuer: Microsoft Root Certificate Authority 2010
145 | |- serial: 610baac1000000000009
146 | |- thumbprint: 77a10ebf07542725218cd83a01b521c57bc67f73
147 | |- signAlgorithm: sha256RSA(RSA)
148 | |- version: V3
149 | |- notbefore: 2012/04/18 23:48:38
150 | |- notafter: 2027/04/18 23:58:38
151 | |- CRLpoint: http://crl.microsoft.com/pki/crl/products/MicRooCerAut_2010-06-23.crl
152 | |---------------------
153 | |- subject: Microsoft Root Certificate Authority 2010
154 | |- issuer: Microsoft Root Certificate Authority 2010
155 | |- serial: 28cc3a25bfba44ac449a9b586b4339aa
156 | |- thumbprint: 3b1efd3a66ea28b16697394703a72ca340a05bd5
157 | |- signAlgorithm: sha256RSA(RSA)
158 | |- version: V3
159 | |- notbefore: 2010/06/23 21:57:24
160 | |- notafter: 2035/06/23 22:04:01
161 | |- CRLpoint:
162 | -----------------------
163 | [ The 3 Sign Info ]
164 | timestamp: 2015/07/24 06:16:44
165 | version: V2
166 | digestAlgorithm: SHA256
167 | |---------------------
168 | |- subject: Microsoft Windows Hardware Compatibility Publisher
169 | |- issuer: Microsoft Windows Third Party Component CA 2012
170 | |- serial: 330000001dc31a761624754f8000000000001d
171 | |- thumbprint: 96c51247e27dae45a1bcd582a0503256f9eaedac
172 | |- signAlgorithm: sha256RSA(RSA)
173 | |- version: V3
174 | |- notbefore: 2014/12/19 19:27:34
175 | |- notafter: 2016/03/19 19:27:34
176 | |- CRLpoint: http://www.microsoft.com/pkiops/crl/Microsoft%20Windows%20Third%20Party%20Component%20CA%202012.crl
177 | |---------------------
178 | |- subject: Microsoft Windows Third Party Component CA 2012
179 | |- issuer: Microsoft Root Certificate Authority 2010
180 | |- serial: 610baac1000000000009
181 | |- thumbprint: 77a10ebf07542725218cd83a01b521c57bc67f73
182 | |- signAlgorithm: sha256RSA(RSA)
183 | |- version: V3
184 | |- notbefore: 2012/04/18 23:48:38
185 | |- notafter: 2027/04/18 23:58:38
186 | |- CRLpoint: http://crl.microsoft.com/pki/crl/products/MicRooCerAut_2010-06-23.crl
187 | |---------------------
188 | |- subject: Microsoft Root Certificate Authority 2010
189 | |- issuer: Microsoft Root Certificate Authority 2010
190 | |- serial: 28cc3a25bfba44ac449a9b586b4339aa
191 | |- thumbprint: 3b1efd3a66ea28b16697394703a72ca340a05bd5
192 | |- signAlgorithm: sha256RSA(RSA)
193 | |- version: V3
194 | |- notbefore: 2010/06/23 21:57:24
195 | |- notafter: 2035/06/23 22:04:01
196 | |- CRLpoint:
197 | -----------------------
198 | [ The 4 Sign Info ]
199 | timestamp: 2015/09/21 22:47:46
200 | version: V2
201 | digestAlgorithm: SHA256
202 | |---------------------
203 | |- subject: Microsoft Windows Hardware Compatibility Publisher
204 | |- issuer: Microsoft Windows Third Party Component CA 2012
205 | |- serial: 330000001dc31a761624754f8000000000001d
206 | |- thumbprint: 96c51247e27dae45a1bcd582a0503256f9eaedac
207 | |- signAlgorithm: sha256RSA(RSA)
208 | |- version: V3
209 | |- notbefore: 2014/12/19 19:27:34
210 | |- notafter: 2016/03/19 19:27:34
211 | |- CRLpoint: http://www.microsoft.com/pkiops/crl/Microsoft%20Windows%20Third%20Party%20Component%20CA%202012.crl
212 | |---------------------
213 | |- subject: Microsoft Windows Third Party Component CA 2012
214 | |- issuer: Microsoft Root Certificate Authority 2010
215 | |- serial: 610baac1000000000009
216 | |- thumbprint: 77a10ebf07542725218cd83a01b521c57bc67f73
217 | |- signAlgorithm: sha256RSA(RSA)
218 | |- version: V3
219 | |- notbefore: 2012/04/18 23:48:38
220 | |- notafter: 2027/04/18 23:58:38
221 | |- CRLpoint: http://crl.microsoft.com/pki/crl/products/MicRooCerAut_2010-06-23.crl
222 | |---------------------
223 | |- subject: Microsoft Root Certificate Authority 2010
224 | |- issuer: Microsoft Root Certificate Authority 2010
225 | |- serial: 28cc3a25bfba44ac449a9b586b4339aa
226 | |- thumbprint: 3b1efd3a66ea28b16697394703a72ca340a05bd5
227 | |- signAlgorithm: sha256RSA(RSA)
228 | |- version: V3
229 | |- notbefore: 2010/06/23 21:57:24
230 | |- notafter: 2035/06/23 22:04:01
231 | |- CRLpoint:
232 | -----------------------
233 |
234 | ```
235 |
236 | ## Contact
237 |
238 | If you have any questions or problems, you can contact with me: leeq.live@outlook.com
239 |
--------------------------------------------------------------------------------
/PESignAnalyzer.cpp:
--------------------------------------------------------------------------------
1 | /**
2 | * COPYRIGHT NOTICE & DESCRIPTION
3 | *
4 | * Source: PESignAnalyzer.cpp
5 | * Author: leeqwind
6 | * E-mail: leeqw.live@outlook.com
7 | * Notice: This program can retrieve signature information from PE
8 | * files which signed by a/some certificate(s) on Windows.
9 | * Supporting multi-signed information and certificates chain.
10 | */
11 |
12 | #include
13 | #include
14 | #include
15 | #include
16 | #include
17 | #include
18 | #include
19 |
20 | #include
21 | #include