pedump 0.5.1 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: b7032e6e832ba6c7fead77e245952396e8e28f42
4
- data.tar.gz: 35bb50e4f1095127491dfe2cf0f902588afd8799
2
+ SHA256:
3
+ metadata.gz: 23748b86fb8ea0471bd4805e7bafda25f5bb6279cf2acf28f6d05ac5913a33d2
4
+ data.tar.gz: 327d5c2e046a70d262a957ccc334d53adfc9ce6d55cba61c8b0efa4e3d70ef0c
5
5
  SHA512:
6
- metadata.gz: 70050e12128d7068566db6aec580ebc79066134b16e38538747423bf2a52409adcb2564692463497fbe33906741e0de3d2843571ad613b17cad97d08cae5bea8
7
- data.tar.gz: 03ad91ef9cdf5554458ffe2c50ef7ceb2ec79b6368e48e2f96b15c6f4536b82f894edafc52a01bf1b44755229ff282f6321b6db520990721901166fa0fe3541a
6
+ metadata.gz: ec5ef9e264bdcfb7d1b2c52be51d2c6fd5548fdd36a4f7e20570998740a5dfd624d546b82398326e339f42291e364d5dfdc156dfe348030a981bf071aee6722f
7
+ data.tar.gz: a557ebc6dd98b211ff3096bf09fb8d8c4742c7b1cf2db965eeac4f74e77361e22c133a231a946b59ac28925ffc1188e70b110534775b0968438fa93e42163a8d
@@ -0,0 +1,2 @@
1
+ #github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
2
+ ko_fi: zed_0xff
@@ -0,0 +1,8 @@
1
+ # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
2
+
3
+ version: 2
4
+ updates:
5
+ - package-ecosystem: bundler
6
+ directory: "/"
7
+ schedule:
8
+ interval: "weekly"
@@ -0,0 +1,76 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, sex characteristics, gender identity and expression,
9
+ level of experience, education, socio-economic status, nationality, personal
10
+ appearance, race, religion, or sexual identity and orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at zed.0xff@gmail.com. All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an incident.
62
+ Further details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72
+
73
+ [homepage]: https://www.contributor-covenant.org
74
+
75
+ For answers to common questions about this code of conduct, see
76
+ https://www.contributor-covenant.org/faq
data/Gemfile CHANGED
@@ -1,14 +1,15 @@
1
- source "http://rubygems.org"
1
+ source "https://rubygems.org"
2
+ #gemspec
2
3
 
3
- gem "multipart-post", "~> 2.0.0"
4
- gem "progressbar"
4
+ gem 'rainbow'
5
5
  gem "awesome_print"
6
- gem "iostruct", ">= 0.0.4"
7
- gem "zhexdump", ">= 0.0.2"
6
+ gem "iostruct", ">= 0.0.4"
7
+ gem "multipart-post", ">= 2.0.0"
8
+ gem "zhexdump", ">= 0.0.2"
8
9
 
9
10
  group :development do
10
- gem "rspec"
11
- gem "bundler"
12
- gem "what_methods"
13
- gem "rake"
11
+ gem "rspec", "~> 3.9.0"
12
+ gem "rspec-its", "~> 1.3.0"
13
+ gem "bundler", "~> 2.1.4"
14
+ gem "jeweler", "~> 2.3.9"
14
15
  end
@@ -1,26 +1,73 @@
1
1
  GEM
2
- remote: http://rubygems.org/
2
+ remote: https://rubygems.org/
3
3
  specs:
4
- awesome_print (1.7.0)
5
- diff-lcs (1.2.5)
4
+ addressable (2.4.0)
5
+ awesome_print (1.8.0)
6
+ builder (3.2.4)
7
+ descendants_tracker (0.0.4)
8
+ thread_safe (~> 0.3, >= 0.3.1)
9
+ diff-lcs (1.3)
10
+ faraday (0.9.2)
11
+ multipart-post (>= 1.2, < 3)
12
+ git (1.5.0)
13
+ github_api (0.16.0)
14
+ addressable (~> 2.4.0)
15
+ descendants_tracker (~> 0.0.4)
16
+ faraday (~> 0.8, < 0.10)
17
+ hashie (>= 3.4)
18
+ mime-types (>= 1.16, < 3.0)
19
+ oauth2 (~> 1.0)
20
+ hashie (4.0.0)
21
+ highline (2.0.3)
6
22
  iostruct (0.0.4)
7
- multipart-post (2.0.0)
8
- progressbar (0.21.0)
9
- rake (10.4.2)
10
- rspec (3.5.0)
11
- rspec-core (~> 3.5.0)
12
- rspec-expectations (~> 3.5.0)
13
- rspec-mocks (~> 3.5.0)
14
- rspec-core (3.5.3)
15
- rspec-support (~> 3.5.0)
16
- rspec-expectations (3.5.0)
23
+ jeweler (2.3.9)
24
+ builder
25
+ bundler
26
+ git (>= 1.2.5)
27
+ github_api (~> 0.16.0)
28
+ highline (>= 1.6.15)
29
+ nokogiri (>= 1.5.10)
30
+ psych
31
+ rake
32
+ rdoc
33
+ semver2
34
+ jwt (2.2.1)
35
+ mime-types (2.99.3)
36
+ mini_portile2 (2.4.0)
37
+ multi_json (1.14.1)
38
+ multi_xml (0.6.0)
39
+ multipart-post (2.1.1)
40
+ nokogiri (1.10.8)
41
+ mini_portile2 (~> 2.4.0)
42
+ oauth2 (1.4.2)
43
+ faraday (>= 0.8, < 2.0)
44
+ jwt (>= 1.0, < 3.0)
45
+ multi_json (~> 1.3)
46
+ multi_xml (~> 0.5)
47
+ rack (>= 1.2, < 3)
48
+ psych (3.1.0)
49
+ rack (2.2.3)
50
+ rainbow (3.0.0)
51
+ rake (13.0.1)
52
+ rdoc (6.2.1)
53
+ rspec (3.9.0)
54
+ rspec-core (~> 3.9.0)
55
+ rspec-expectations (~> 3.9.0)
56
+ rspec-mocks (~> 3.9.0)
57
+ rspec-core (3.9.1)
58
+ rspec-support (~> 3.9.1)
59
+ rspec-expectations (3.9.0)
17
60
  diff-lcs (>= 1.2.0, < 2.0)
18
- rspec-support (~> 3.5.0)
19
- rspec-mocks (3.5.0)
61
+ rspec-support (~> 3.9.0)
62
+ rspec-its (1.3.0)
63
+ rspec-core (>= 3.0.0)
64
+ rspec-expectations (>= 3.0.0)
65
+ rspec-mocks (3.9.1)
20
66
  diff-lcs (>= 1.2.0, < 2.0)
21
- rspec-support (~> 3.5.0)
22
- rspec-support (3.5.0)
23
- what_methods (1.0.1)
67
+ rspec-support (~> 3.9.0)
68
+ rspec-support (3.9.2)
69
+ semver2 (3.4.2)
70
+ thread_safe (0.3.6)
24
71
  zhexdump (0.0.2)
25
72
 
26
73
  PLATFORMS
@@ -28,14 +75,14 @@ PLATFORMS
28
75
 
29
76
  DEPENDENCIES
30
77
  awesome_print
31
- bundler
78
+ bundler (~> 2.1.4)
32
79
  iostruct (>= 0.0.4)
33
- multipart-post (~> 2.0.0)
34
- progressbar
35
- rake
36
- rspec
37
- what_methods
80
+ jeweler (~> 2.3.9)
81
+ multipart-post (>= 2.0.0)
82
+ rainbow
83
+ rspec (~> 3.9.0)
84
+ rspec-its (~> 1.3.0)
38
85
  zhexdump (>= 0.0.2)
39
86
 
40
87
  BUNDLED WITH
41
- 1.12.5
88
+ 2.1.4
data/README.md CHANGED
@@ -1,6 +1,11 @@
1
- pedump [![Build Status](https://travis-ci.org/zed-0xff/pedump.png?branch=master)](https://travis-ci.org/zed-0xff/pedump) [![Dependency Status](https://gemnasium.com/zed-0xff/pedump.png)](https://gemnasium.com/zed-0xff/pedump)
1
+ pedump [![Build Status](https://travis-ci.org/zed-0xff/pedump.png?branch=master)](https://travis-ci.org/zed-0xff/pedump) [![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/K3K81Z3W5)
2
2
  ======
3
3
 
4
+ News
5
+ ----
6
+ 2020.07.26 - now travis autotests run on ARM and OSX too!
7
+ 2020.07.25 - added EFI TE parsing; removed 'progressbar' gem dependency
8
+
4
9
  Description
5
10
  -----------
6
11
  A pure ruby implementation of win32 PE binary files dumper.
@@ -11,6 +16,7 @@ Supported formats:
11
16
  * win16 NE
12
17
  * win32 PE
13
18
  * win64 PE
19
+ * EFI TE
14
20
 
15
21
  Can dump:
16
22
 
@@ -43,13 +49,14 @@ Usage
43
49
  (can be used multiple times)
44
50
  -F, --force Try to dump by all means
45
51
  (can cause exceptions & heavy wounds)
46
- -f, --format FORMAT Output format: bin,c,dump,hex,inspect,table,yaml
52
+ -f, --format FORMAT Output format: bin,c,dump,hex,inspect,json,table,yaml
47
53
  (default: table)
48
54
  --mz
49
55
  --dos-stub
50
56
  --rich
51
57
  --pe
52
58
  --ne
59
+ --te
53
60
  --data-directory
54
61
  -S, --sections
55
62
  --tls
@@ -67,9 +74,11 @@ Usage
67
74
  -r, --recursive recurse dirs in packer detect
68
75
  --all Dump all but resource-directory (default)
69
76
  --va2file VA Convert RVA to file offset
77
+
70
78
  -W, --web Uploads files to a http://pedump.me
71
79
  for a nice HTML tables with image previews,
72
80
  candies & stuff
81
+ -C, --console opens IRB console with specified file loaded
73
82
 
74
83
  ### MZ Header
75
84
 
@@ -107,10 +116,10 @@ Usage
107
116
 
108
117
  === DOS STUB ===
109
118
 
110
- 00000000: 0e 1f ba 0e 00 b4 09 cd 21 b8 01 4c cd 21 54 68 |........!..L.!Th|
111
- 00000010: 69 73 20 70 72 6f 67 72 61 6d 20 63 61 6e 6e 6f |is program canno|
112
- 00000020: 74 20 62 65 20 72 75 6e 20 69 6e 20 44 4f 53 20 |t be run in DOS |
113
- 00000030: 6d 6f 64 65 2e 0d 0d 0a 24 00 00 00 00 00 00 00 |mode....$.......|
119
+ 00000000: 0e 1f ba 0e 00 b4 09 cd 21 b8 01 4c cd 21 54 68 |........!..L.!Th|
120
+ 00000010: 69 73 20 70 72 6f 67 72 61 6d 20 63 61 6e 6e 6f |is program canno|
121
+ 00000020: 74 20 62 65 20 72 75 6e 20 69 6e 20 44 4f 53 20 |t be run in DOS |
122
+ 00000030: 6d 6f 64 65 2e 0d 0d 0a 24 00 00 00 00 00 00 00 |mode....$.......|
114
123
 
115
124
  ### 'Rich' Header
116
125
 
data/Rakefile CHANGED
@@ -1,5 +1,35 @@
1
+ # encoding: utf-8
2
+
3
+ require 'rubygems'
1
4
  require 'bundler'
2
- require 'bundler/gem_tasks'
5
+ begin
6
+ Bundler.setup(:default, :development)
7
+ rescue Bundler::BundlerError => e
8
+ $stderr.puts e.message
9
+ $stderr.puts "Run `bundle install` to install missing gems"
10
+ exit e.status_code
11
+ end
12
+ require 'rake'
13
+
14
+ require 'jeweler'
15
+ Jeweler::Tasks.new do |gem|
16
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
+ gem.name = "pedump"
18
+ gem.homepage = "http://github.com/zed-0xff/pedump"
19
+ gem.license = "MIT"
20
+ gem.summary = %Q{dump win32 PE executable files with a pure ruby}
21
+ gem.description = %Q{dump headers, sections, extract resources of win32 PE exe,dll,etc}
22
+ gem.email = "zed.0xff@gmail.com"
23
+ gem.authors = ["Andrey \"Zed\" Zaikin"]
24
+ gem.executables = %w'pedump'
25
+ gem.files.include "lib/**/*.rb"
26
+ gem.files.exclude %w'samples/**/* spec/**/* tmp/**/* tmp/.keep .* README.md.tpl'
27
+ gem.extra_rdoc_files.exclude 'README.md.tpl'
28
+ # dependencies defined in Gemfile
29
+ end
30
+ Jeweler::RubygemsDotOrgTasks.new
31
+
32
+ require 'rspec/core'
3
33
  require 'rspec/core/rake_task'
4
34
 
5
35
  desc "run specs"
@@ -44,17 +74,20 @@ namespace :test do
44
74
  end
45
75
  end
46
76
 
47
- def check_file url, prefix=nil
77
+ def check_file url, params = {}
48
78
  require 'digest/md5'
49
79
  require 'open-uri'
50
80
 
81
+ params[:min_size] ||= 80_000
82
+
51
83
  STDOUT.sync = true
84
+ prefix = params[:prefix]
52
85
  fname = File.join 'data', (prefix ? "#{prefix}-" : '') + File.basename(url)
53
86
  existing_md5 = File.exist?(fname) ? Digest::MD5.file(fname).hexdigest : ''
54
87
  print "[.] fetching #{url} .. "
55
88
  remote_data = open(url).read.force_encoding('cp1252').encode('utf-8')
56
89
  puts "#{remote_data.size} bytes"
57
- raise "too small remote data (#{remote_data.size})" if remote_data.size < 80_000
90
+ raise "too small remote data (#{remote_data.size})" if remote_data.size < params[:min_size]
58
91
  remote_md5 = Digest::MD5.hexdigest(remote_data)
59
92
  if remote_md5 == existing_md5
60
93
  puts "[.] same as local"
@@ -65,13 +98,45 @@ def check_file url, prefix=nil
65
98
  end
66
99
  end
67
100
 
101
+ RICH_IDS_URL = "https://raw.githubusercontent.com/dishather/richprint/master/comp_id.txt"
102
+
103
+ namespace :rich do
104
+ desc "update rich comp_id db from net"
105
+ task :update do
106
+ check_file RICH_IDS_URL, :min_size => 30_000
107
+ end
108
+
109
+ desc "convert"
110
+ task :convert do
111
+ result = [
112
+ "class PEdump",
113
+ " # data from #{RICH_IDS_URL}",
114
+ " RICH_IDS = {"
115
+ ]
116
+ n = 0
117
+ t0 = Time.now
118
+ File.readlines(File.join("data", File.basename(RICH_IDS_URL))).each do |line|
119
+ line.strip!
120
+ next if line.empty? || line[0] == '#'
121
+ comp_id, desc = line.split(nil, 2)
122
+ raise unless comp_id =~ /\A[0-9a-fA-F]+\Z/
123
+ result << " 0x#{comp_id} => #{desc.inspect},"
124
+ n += 1
125
+ end
126
+ result << " }"
127
+ result << "end"
128
+ printf "[.] parsed %d definitions in %6.3fs\n", n, Time.now-t0
129
+ File.write("lib/pedump/rich.rb", result.join("\n") + "\n")
130
+ end
131
+ end
132
+
68
133
  namespace :sigs do
69
134
  desc "update packers db from net"
70
135
  task :update do
71
136
  require './lib/pedump/packer'
72
137
  check_file "http://research.pandasecurity.com/blogs/images/userdb.txt"
73
138
  check_file "http://fuu.googlecode.com/svn/trunk/src/x86/Tools/Signaturesdb/signatures.txt"
74
- check_file "http://handlers.sans.edu/jclausing/userdb.txt", "jc"
139
+ check_file "http://handlers.sans.edu/jclausing/userdb.txt", :prefix => "jc"
75
140
  end
76
141
 
77
142
  desc "convert txt2bin"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.1
1
+ 0.6.1
@@ -0,0 +1,776 @@
1
+ # Format is:
2
+ # <comp.id> Description
3
+
4
+ # I use the following extra marks in description:
5
+ # [ C ] - obj file produced by C compiler
6
+ # [C++] - obj file produced by C++ compiler
7
+ # [RES] - obj file produced by CVTRES converter
8
+ # [IMP] - DLL import record in library file
9
+ # [EXP] - DLL export record in library file
10
+ # [ASM] - obj file produced by assembler
11
+ # (*) at the end marks entries that are interpolated/calculated.
12
+
13
+ # Objects without @comp.id are collected under this record
14
+ 00010000 [---] Unmarked objects
15
+ 00000000 [---] Unmarked objects (old)
16
+
17
+ # MSVS2019 v16.6.2
18
+ 01047086 [ C ] VS2019 v16.6.2 build 28806
19
+ 01037086 [ASM] VS2019 v16.6.2 build 28806
20
+ 01057086 [C++] VS2019 v16.6.2 build 28806
21
+ 00ff7086 [RES] VS2019 v16.6.2 build 28806
22
+ 01027086 [LNK] VS2019 v16.6.2 build 28806
23
+ 01007086 [EXP] VS2019 v16.6.2 build 28806
24
+ 01017086 [IMP] VS2019 v16.6.2 build 28806
25
+
26
+ # MSVS2019 v16.6.0
27
+ 01047085 [ C ] VS2019 v16.6.0 build 28805
28
+ 01037085 [ASM] VS2019 v16.6.0 build 28805
29
+ 01057085 [C++] VS2019 v16.6.0 build 28805
30
+ 00ff7085 [RES] VS2019 v16.6.0 build 28805
31
+ 01027085 [LNK] VS2019 v16.6.0 build 28805
32
+ 01007085 [EXP] VS2019 v16.6.0 build 28805
33
+ 01017085 [IMP] VS2019 v16.6.0 build 28805
34
+
35
+ # MSVS2019 v16.5.5 (also 16.5.4)
36
+ 01046fc6 [ C ] VS2019 v16.5.5 build 28614
37
+ 01036fc6 [ASM] VS2019 v16.5.5 build 28614
38
+ 01056fc6 [C++] VS2019 v16.5.5 build 28614
39
+ 00ff6fc6 [RES] VS2019 v16.5.5 build 28614
40
+ 01026fc6 [LNK] VS2019 v16.5.5 build 28614
41
+ 01006fc6 [EXP] VS2019 v16.5.5 build 28614
42
+ 01016fc6 [IMP] VS2019 v16.5.5 build 28614
43
+
44
+ # Visual Studio 2019 version 16.5.2 (values are interpolated)
45
+ # source: https://walbourn.github.io/vs-2019-update-5/
46
+ 01046fc4 [ C ] VS2019 v16.5.2 build 28612 (*)
47
+ 01036fc4 [ASM] VS2019 v16.5.2 build 28612 (*)
48
+ 01056fc4 [C++] VS2019 v16.5.2 build 28612 (*)
49
+ 00ff6fc4 [RES] VS2019 v16.5.2 build 28612 (*)
50
+ 01026fc4 [LNK] VS2019 v16.5.2 build 28612 (*)
51
+ 01016fc4 [IMP] VS2019 v16.5.2 build 28612 (*)
52
+ 01006fc4 [EXP] VS2019 v16.5.2 build 28612 (*)
53
+
54
+ # Visual Studio 2019 version 16.5.1 (values are interpolated)
55
+ 01046fc3 [ C ] VS2019 v16.5.1 build 28611 (*)
56
+ 01036fc3 [ASM] VS2019 v16.5.1 build 28611 (*)
57
+ 01056fc3 [C++] VS2019 v16.5.1 build 28611 (*)
58
+ 00ff6fc3 [RES] VS2019 v16.5.1 build 28611 (*)
59
+ 01026fc3 [LNK] VS2019 v16.5.1 build 28611 (*)
60
+ 01016fc3 [IMP] VS2019 v16.5.1 build 28611 (*)
61
+ 01006fc3 [EXP] VS2019 v16.5.1 build 28611 (*)
62
+
63
+ # Visual Studio 2019 version 16.5.0 (values are interpolated)
64
+ # source: https://walbourn.github.io/vs-2019-update-5/
65
+ 01046fc2 [ C ] VS2019 v16.5.0 build 28610 (*)
66
+ 01036fc2 [ASM] VS2019 v16.5.0 build 28610 (*)
67
+ 01056fc2 [C++] VS2019 v16.5.0 build 28610 (*)
68
+ 00ff6fc2 [RES] VS2019 v16.5.0 build 28610 (*)
69
+ 01026fc2 [LNK] VS2019 v16.5.0 build 28610 (*)
70
+ 01016fc2 [IMP] VS2019 v16.5.0 build 28610 (*)
71
+ 01006fc2 [EXP] VS2019 v16.5.0 build 28610 (*)
72
+
73
+ # MSVS2019 v16.4.6 (values are interpolated)
74
+ # source: https://walbourn.github.io/vs-2019-update-4/
75
+ 01046e9f [ C ] VS2019 v16.4.6 build 28319 (*)
76
+ 01036e9f [ASM] VS2019 v16.4.6 build 28319 (*)
77
+ 01056e9f [C++] VS2019 v16.4.6 build 28319 (*)
78
+ 00ff6e9f [RES] VS2019 v16.4.6 build 28319 (*)
79
+ 01026e9f [LNK] VS2019 v16.4.6 build 28319 (*)
80
+ 01006e9f [EXP] VS2019 v16.4.6 build 28319 (*)
81
+ 01016e9f [IMP] VS2019 v16.4.6 build 28319 (*)
82
+
83
+ # MSVS2019 v16.4.4 (values are interpolated)
84
+ # source: https://walbourn.github.io/vs-2019-update-4/
85
+ 01046e9c [ C ] VS2019 v16.4.4 build 28316 (*)
86
+ 01036e9c [ASM] VS2019 v16.4.4 build 28316 (*)
87
+ 01056e9c [C++] VS2019 v16.4.4 build 28316 (*)
88
+ 00ff6e9c [RES] VS2019 v16.4.4 build 28316 (*)
89
+ 01026e9c [LNK] VS2019 v16.4.4 build 28316 (*)
90
+ 01006e9c [EXP] VS2019 v16.4.4 build 28316 (*)
91
+ 01016e9c [IMP] VS2019 v16.4.4 build 28316 (*)
92
+
93
+ # MSVS2019 v16.4.3
94
+ 01046e9b [ C ] VS2019 v16.4.3 build 28315
95
+ 01036e9b [ASM] VS2019 v16.4.3 build 28315
96
+ 01056e9b [C++] VS2019 v16.4.3 build 28315
97
+ 00ff6e9b [RES] VS2019 v16.4.3 build 28315
98
+ 01026e9b [LNK] VS2019 v16.4.3 build 28315
99
+ 01006e9b [EXP] VS2019 v16.4.3 build 28315
100
+ 01016e9b [IMP] VS2019 v16.4.3 build 28315
101
+
102
+ # Visual Studio 2019 version 16.4.0 (values are interpolated)
103
+ 01046e9a [ C ] VS2019 v16.4.0 build 28314 (*)
104
+ 01036e9a [ASM] VS2019 v16.4.0 build 28314 (*)
105
+ 01056e9a [C++] VS2019 v16.4.0 build 28314 (*)
106
+ 00ff6e9a [RES] VS2019 v16.4.0 build 28314 (*)
107
+ 01026e9a [LNK] VS2019 v16.4.0 build 28314 (*)
108
+ 01016e9a [IMP] VS2019 v16.4.0 build 28314 (*)
109
+ 01006e9a [EXP] VS2019 v16.4.0 build 28314 (*)
110
+
111
+ # Visual Studio 2019 version 16.3.2 (values are interpolated)
112
+ 01046dc9 [ C ] VS2019 v16.3.2 build 28105 (*)
113
+ 01036dc9 [ASM] VS2019 v16.3.2 build 28105 (*)
114
+ 01056dc9 [C++] VS2019 v16.3.2 build 28105 (*)
115
+ 00ff6dc9 [RES] VS2019 v16.3.2 build 28105 (*)
116
+ 01026dc9 [LNK] VS2019 v16.3.2 build 28105 (*)
117
+ 01016dc9 [IMP] VS2019 v16.3.2 build 28105 (*)
118
+ 01006dc9 [EXP] VS2019 v16.3.2 build 28105 (*)
119
+
120
+ # Visual Studio 2019 version 16.2.3 (values are interpolated)
121
+ 01046d01 [ C ] VS2019 v16.2.3 build 27905 (*)
122
+ 01036d01 [ASM] VS2019 v16.2.3 build 27905 (*)
123
+ 01056d01 [C++] VS2019 v16.2.3 build 27905 (*)
124
+ 00ff6d01 [RES] VS2019 v16.2.3 build 27905 (*)
125
+ 01026d01 [LNK] VS2019 v16.2.3 build 27905 (*)
126
+ 01016d01 [IMP] VS2019 v16.2.3 build 27905 (*)
127
+ 01006d01 [EXP] VS2019 v16.2.3 build 27905 (*)
128
+
129
+ # Visual Studio 2019 version 16.1.2 (values are interpolated)
130
+ 01046c36 [ C ] VS2019 v16.1.2 build 27702 (*)
131
+ 01036c36 [ASM] VS2019 v16.1.2 build 27702 (*)
132
+ 01056c36 [C++] VS2019 v16.1.2 build 27702 (*)
133
+ 00ff6c36 [RES] VS2019 v16.1.2 build 27702 (*)
134
+ 01026c36 [LNK] VS2019 v16.1.2 build 27702 (*)
135
+ 01016c36 [IMP] VS2019 v16.1.2 build 27702 (*)
136
+ 01006c36 [EXP] VS2019 v16.1.2 build 27702 (*)
137
+
138
+ # MSVS2019 v16.0.0
139
+ 01046b74 [ C ] VS2019 v16.0.0 build 27508
140
+ 01036b74 [ASM] VS2019 v16.0.0 build 27508
141
+ 01056b74 [C++] VS2019 v16.0.0 build 27508
142
+ 00ff6b74 [RES] VS2019 v16.0.0 build 27508
143
+ 01026b74 [LNK] VS2019 v16.0.0 build 27508
144
+ 01006b74 [EXP] VS2019 v16.0.0 build 27508
145
+ 01016b74 [IMP] VS2019 v16.0.0 build 27508
146
+
147
+ # Visual Studio 2017 version 15.9.11 (values are interpolated)
148
+ 01046996 [ C ] VS2017 v15.9.11 build 27030 (*)
149
+ 01036996 [ASM] VS2017 v15.9.11 build 27030 (*)
150
+ 01056996 [C++] VS2017 v15.9.11 build 27030 (*)
151
+ 00ff6996 [RES] VS2017 v15.9.11 build 27030 (*)
152
+ 01026996 [LNK] VS2017 v15.9.11 build 27030 (*)
153
+ 01016996 [IMP] VS2017 v15.9.11 build 27030 (*)
154
+ 01006996 [EXP] VS2017 v15.9.11 build 27030 (*)
155
+
156
+ # Visual Studio 2017 version 15.9.7 (values are interpolated)
157
+ 01046993 [ C ] VS2017 v15.9.7 build 27027 (*)
158
+ 01036993 [ASM] VS2017 v15.9.7 build 27027 (*)
159
+ 01056993 [C++] VS2017 v15.9.7 build 27027 (*)
160
+ 00ff6993 [RES] VS2017 v15.9.7 build 27027 (*)
161
+ 01026993 [LNK] VS2017 v15.9.7 build 27027 (*)
162
+ 01016993 [IMP] VS2017 v15.9.7 build 27027 (*)
163
+ 01006993 [EXP] VS2017 v15.9.7 build 27027 (*)
164
+
165
+ # Visual Studio 2017 version 15.9.5 (values are interpolated)
166
+ 01046992 [ C ] VS2017 v15.9.5 build 27026 (*)
167
+ 01036992 [ASM] VS2017 v15.9.5 build 27026 (*)
168
+ 01056992 [C++] VS2017 v15.9.5 build 27026 (*)
169
+ 00ff6992 [RES] VS2017 v15.9.5 build 27026 (*)
170
+ 01026992 [LNK] VS2017 v15.9.5 build 27026 (*)
171
+ 01016992 [IMP] VS2017 v15.9.5 build 27026 (*)
172
+ 01006992 [EXP] VS2017 v15.9.5 build 27026 (*)
173
+
174
+ # Visual Studio 2017 version 15.9.4 (values are interpolated)
175
+ 01046991 [ C ] VS2017 v15.9.4 build 27025 (*)
176
+ 01036991 [ASM] VS2017 v15.9.4 build 27025 (*)
177
+ 01056991 [C++] VS2017 v15.9.4 build 27025 (*)
178
+ 00ff6991 [RES] VS2017 v15.9.4 build 27025 (*)
179
+ 01026991 [LNK] VS2017 v15.9.4 build 27025 (*)
180
+ 01016991 [IMP] VS2017 v15.9.4 build 27025 (*)
181
+ 01006991 [EXP] VS2017 v15.9.4 build 27025 (*)
182
+
183
+ # Visual Studio 2017 version 15.9.1 (values are interpolated)
184
+ 0104698f [ C ] VS2017 v15.9.1 build 27023 (*)
185
+ 0103698f [ASM] VS2017 v15.9.1 build 27023 (*)
186
+ 0105698f [C++] VS2017 v15.9.1 build 27023 (*)
187
+ 00ff698f [RES] VS2017 v15.9.1 build 27023 (*)
188
+ 0102698f [LNK] VS2017 v15.9.1 build 27023 (*)
189
+ 0101698f [IMP] VS2017 v15.9.1 build 27023 (*)
190
+ 0100698f [EXP] VS2017 v15.9.1 build 27023 (*)
191
+
192
+ # Visual Studio 2017 version 15.8.5 (values are interpolated)
193
+ # source: https://walbourn.github.io/vs-2017-15-8-update/
194
+ 0104686c [ C ] VS2017 v15.8.5 build 26732 (*)
195
+ 0103686c [ASM] VS2017 v15.8.5 build 26732 (*)
196
+ 0105686c [C++] VS2017 v15.8.5 build 26732 (*)
197
+ 00ff686c [RES] VS2017 v15.8.5 build 26732 (*)
198
+ 0102686c [LNK] VS2017 v15.8.5 build 26732 (*)
199
+ 0101686c [IMP] VS2017 v15.8.5 build 26732 (*)
200
+ 0100686c [EXP] VS2017 v15.8.5 build 26732 (*)
201
+
202
+ # Visual Studio 2017 version 15.8.9 (sic!) (values are interpolated)
203
+ # source: https://walbourn.github.io/vs-2017-15-8-update/
204
+ 0104686a [ C ] VS2017 v15.8.9? build 26730 (*)
205
+ 0103686a [ASM] VS2017 v15.8.9? build 26730 (*)
206
+ 0105686a [C++] VS2017 v15.8.9? build 26730 (*)
207
+ 00ff686a [RES] VS2017 v15.8.9? build 26730 (*)
208
+ 0102686a [LNK] VS2017 v15.8.9? build 26730 (*)
209
+ 0101686a [IMP] VS2017 v15.8.9? build 26730 (*)
210
+ 0100686a [EXP] VS2017 v15.8.9? build 26730 (*)
211
+
212
+ # Visual Studio 2017 version 15.8.4 (values are interpolated)
213
+ # source: https://walbourn.github.io/vs-2017-15-8-update/
214
+ 01046869 [ C ] VS2017 v15.8.4 build 26729 (*)
215
+ 01036869 [ASM] VS2017 v15.8.4 build 26729 (*)
216
+ 01056869 [C++] VS2017 v15.8.4 build 26729 (*)
217
+ 00ff6869 [RES] VS2017 v15.8.4 build 26729 (*)
218
+ 01026869 [LNK] VS2017 v15.8.4 build 26729 (*)
219
+ 01016869 [IMP] VS2017 v15.8.4 build 26729 (*)
220
+ 01006869 [EXP] VS2017 v15.8.4 build 26729 (*)
221
+
222
+ # Visual Studio 2017 version 15.8.0 (values are interpolated)
223
+ # source: https://walbourn.github.io/vs-2017-15-8-update/
224
+ 01046866 [ C ] VS2017 v15.8.0 build 26726 (*)
225
+ 01036866 [ASM] VS2017 v15.8.0 build 26726 (*)
226
+ 01056866 [C++] VS2017 v15.8.0 build 26726 (*)
227
+ 00ff6866 [RES] VS2017 v15.8.0 build 26726 (*)
228
+ 01026866 [LNK] VS2017 v15.8.0 build 26726 (*)
229
+ 01016866 [IMP] VS2017 v15.8.0 build 26726 (*)
230
+ 01006866 [EXP] VS2017 v15.8.0 build 26726 (*)
231
+
232
+ # Visual Studio 2017 version 15.7.5 (values are interpolated)
233
+ 01046741 [ C ] VS2017 v15.7.5 build 26433 (*)
234
+ 01036741 [ASM] VS2017 v15.7.5 build 26433 (*)
235
+ 01056741 [C++] VS2017 v15.7.5 build 26433 (*)
236
+ 00ff6741 [RES] VS2017 v15.7.5 build 26433 (*)
237
+ 01026741 [LNK] VS2017 v15.7.5 build 26433 (*)
238
+ 01016741 [IMP] VS2017 v15.7.5 build 26433 (*)
239
+ 01006741 [EXP] VS2017 v15.7.5 build 26433 (*)
240
+
241
+ # Visual Studio 2017 version 15.7.4 (values are interpolated)
242
+ # source: https://walbourn.github.io/vs-2017-15-7-update/
243
+ 0104673f [ C ] VS2017 v15.7.4 build 26431 (*)
244
+ 0103673f [ASM] VS2017 v15.7.4 build 26431 (*)
245
+ 0105673f [C++] VS2017 v15.7.4 build 26431 (*)
246
+ 00ff673f [RES] VS2017 v15.7.4 build 26431 (*)
247
+ 0102673f [LNK] VS2017 v15.7.4 build 26431 (*)
248
+ 0101673f [IMP] VS2017 v15.7.4 build 26431 (*)
249
+ 0100673f [EXP] VS2017 v15.7.4 build 26431 (*)
250
+
251
+ # Visual Studio 2017 version 15.7.3 (values are interpolated)
252
+ 0104673e [ C ] VS2017 v15.7.3 build 26430 (*)
253
+ 0103673e [ASM] VS2017 v15.7.3 build 26430 (*)
254
+ 0105673e [C++] VS2017 v15.7.3 build 26430 (*)
255
+ 00ff673e [RES] VS2017 v15.7.3 build 26430 (*)
256
+ 0102673e [LNK] VS2017 v15.7.3 build 26430 (*)
257
+ 0101673e [IMP] VS2017 v15.7.3 build 26430 (*)
258
+ 0100673e [EXP] VS2017 v15.7.3 build 26430 (*)
259
+
260
+ # Visual Studio 2017 version 15.7.2 (values are interpolated)
261
+ 0104673d [ C ] VS2017 v15.7.2 build 26429 (*)
262
+ 0103673d [ASM] VS2017 v15.7.2 build 26429 (*)
263
+ 0105673d [C++] VS2017 v15.7.2 build 26429 (*)
264
+ 00ff673d [RES] VS2017 v15.7.2 build 26429 (*)
265
+ 0102673d [LNK] VS2017 v15.7.2 build 26429 (*)
266
+ 0101673d [IMP] VS2017 v15.7.2 build 26429 (*)
267
+ 0100673d [EXP] VS2017 v15.7.2 build 26429 (*)
268
+
269
+ # Visual Studio 2017 version 15.7.1 (values are interpolated)
270
+ 0104673c [ C ] VS2017 v15.7.1 build 26428 (*)
271
+ 0103673c [ASM] VS2017 v15.7.1 build 26428 (*)
272
+ 0105673c [C++] VS2017 v15.7.1 build 26428 (*)
273
+ 00ff673c [RES] VS2017 v15.7.1 build 26428 (*)
274
+ 0102673c [LNK] VS2017 v15.7.1 build 26428 (*)
275
+ 0101673c [IMP] VS2017 v15.7.1 build 26428 (*)
276
+ 0100673c [EXP] VS2017 v15.7.1 build 26428 (*)
277
+
278
+ # Visual Studio 2017 version 15.6.7 (values are interpolated)
279
+ 01046614 [ C ] VS2017 v15.6.7 build 26132 (*)
280
+ 01036614 [ASM] VS2017 v15.6.7 build 26132 (*)
281
+ 01056614 [C++] VS2017 v15.6.7 build 26132 (*)
282
+ 00ff6614 [RES] VS2017 v15.6.7 build 26132 (*)
283
+ 01026614 [LNK] VS2017 v15.6.7 build 26132 (*)
284
+ 01016614 [IMP] VS2017 v15.6.7 build 26132 (*)
285
+ 01006614 [EXP] VS2017 v15.6.7 build 26132 (*)
286
+
287
+ # Visual Studio 2017 version 15.6.6 (values are interpolated)
288
+ 01046613 [ C ] VS2017 v15.6.6 build 26131 (*)
289
+ 01036613 [ASM] VS2017 v15.6.6 build 26131 (*)
290
+ 01056613 [C++] VS2017 v15.6.6 build 26131 (*)
291
+ 00ff6613 [RES] VS2017 v15.6.6 build 26131 (*)
292
+ 01026613 [LNK] VS2017 v15.6.6 build 26131 (*)
293
+ 01016613 [IMP] VS2017 v15.6.6 build 26131 (*)
294
+ 01006613 [EXP] VS2017 v15.6.6 build 26131 (*)
295
+
296
+ # Visual Studio 2017 version 15.6.4 has the same build number
297
+ # Visual Studio 2017 version 15.6.3 (values are interpolated)
298
+ 01046611 [ C ] VS2017 v15.6.3 build 26129 (*)
299
+ 01036611 [ASM] VS2017 v15.6.3 build 26129 (*)
300
+ 01056611 [C++] VS2017 v15.6.3 build 26129 (*)
301
+ 00ff6611 [RES] VS2017 v15.6.3 build 26129 (*)
302
+ 01026611 [LNK] VS2017 v15.6.3 build 26129 (*)
303
+ 01016611 [IMP] VS2017 v15.6.3 build 26129 (*)
304
+ 01006611 [EXP] VS2017 v15.6.3 build 26129 (*)
305
+
306
+ # Visual Studio 2017 version 15.6.2 has the same build number
307
+ # Visual Studio 2017 version 15.6.1 has the same build number
308
+ # Visual Studio 2017 version 15.6.0 (values are interpolated)
309
+ 01046610 [ C ] VS2017 v15.6.0 build 26128 (*)
310
+ 01036610 [ASM] VS2017 v15.6.0 build 26128 (*)
311
+ 01056610 [C++] VS2017 v15.6.0 build 26128 (*)
312
+ 00ff6610 [RES] VS2017 v15.6.0 build 26128 (*)
313
+ 01026610 [LNK] VS2017 v15.6.0 build 26128 (*)
314
+ 01016610 [IMP] VS2017 v15.6.0 build 26128 (*)
315
+ 01006610 [EXP] VS2017 v15.6.0 build 26128 (*)
316
+
317
+ # Visual Studio 2017 version 15.5.7 has the same build number
318
+ # Visual Studio 2017 version 15.5.6 (values are interpolated)
319
+ 010464eb [ C ] VS2017 v15.5.6 build 25835 (*)
320
+ 010364eb [ASM] VS2017 v15.5.6 build 25835 (*)
321
+ 010564eb [C++] VS2017 v15.5.6 build 25835 (*)
322
+ 00ff64eb [RES] VS2017 v15.5.6 build 25835 (*)
323
+ 010264eb [LNK] VS2017 v15.5.6 build 25835 (*)
324
+ 010164eb [IMP] VS2017 v15.5.6 build 25835 (*)
325
+ 010064eb [EXP] VS2017 v15.5.6 build 25835 (*)
326
+
327
+ # MSVS2017 v15.5.4 (15.5.3 has the same build number)
328
+ 010464ea [ C ] VS2017 v15.5.4 build 25834
329
+ 010364ea [ASM] VS2017 v15.5.4 build 25834
330
+ 010564ea [C++] VS2017 v15.5.4 build 25834
331
+ 00ff64ea [RES] VS2017 v15.5.4 build 25834
332
+ 010264ea [LNK] VS2017 v15.5.4 build 25834
333
+ 010064ea [EXP] VS2017 v15.5.4 build 25834
334
+ 010164ea [IMP] VS2017 v15.5.4 build 25834
335
+
336
+ # Visual Studio 2017 version 15.5.2 (values are interpolated)
337
+ 010464e7 [ C ] VS2017 v15.5.2 build 25831 (*)
338
+ 010364e7 [ASM] VS2017 v15.5.2 build 25831 (*)
339
+ 010564e7 [C++] VS2017 v15.5.2 build 25831 (*)
340
+ 00ff64e7 [RES] VS2017 v15.5.2 build 25831 (*)
341
+ 010264e7 [LNK] VS2017 v15.5.2 build 25831 (*)
342
+ 010164e7 [IMP] VS2017 v15.5.2 build 25831 (*)
343
+ 010064e7 [EXP] VS2017 v15.5.2 build 25831 (*)
344
+
345
+ # Visual Studio 2017 version 15.4.5 (values are interpolated)
346
+ 010463cb [ C ] VS2017 v15.4.5 build 25547 (*)
347
+ 010363cb [ASM] VS2017 v15.4.5 build 25547 (*)
348
+ 010563cb [C++] VS2017 v15.4.5 build 25547 (*)
349
+ 00ff63cb [RES] VS2017 v15.4.5 build 25547 (*)
350
+ 010263cb [LNK] VS2017 v15.4.5 build 25547 (*)
351
+ 010163cb [IMP] VS2017 v15.4.5 build 25547 (*)
352
+ 010063cb [EXP] VS2017 v15.4.5 build 25547 (*)
353
+
354
+ # Visual Studio 2017 version 15.4.4 (values are interpolated)
355
+ 010463c6 [ C ] VS2017 v15.4.4 build 25542 (*)
356
+ 010363c6 [ASM] VS2017 v15.4.4 build 25542 (*)
357
+ 010563c6 [C++] VS2017 v15.4.4 build 25542 (*)
358
+ 00ff63c6 [RES] VS2017 v15.4.4 build 25542 (*)
359
+ 010263c6 [LNK] VS2017 v15.4.4 build 25542 (*)
360
+ 010163c6 [IMP] VS2017 v15.4.4 build 25542 (*)
361
+ 010063c6 [EXP] VS2017 v15.4.4 build 25542 (*)
362
+
363
+ # Visual Studio 2017 version 15.3.3 (values are interpolated)
364
+ 010463a3 [ C ] VS2017 v15.3.3 build 25507 (*)
365
+ 010363a3 [ASM] VS2017 v15.3.3 build 25507 (*)
366
+ 010563a3 [C++] VS2017 v15.3.3 build 25507 (*)
367
+ 00ff63a3 [RES] VS2017 v15.3.3 build 25507 (*)
368
+ 010263a3 [LNK] VS2017 v15.3.3 build 25507 (*)
369
+ 010163a3 [IMP] VS2017 v15.3.3 build 25507 (*)
370
+ 010063a3 [EXP] VS2017 v15.3.3 build 25507 (*)
371
+
372
+ # Visual Studio 2017 version 15.3 (values are interpolated)
373
+ # source: https://twitter.com/visualc/status/897853176002433024
374
+ 010463a2 [ C ] VS2017 v15.3 build 25506 (*)
375
+ 010363a2 [ASM] VS2017 v15.3 build 25506 (*)
376
+ 010563a2 [C++] VS2017 v15.3 build 25506 (*)
377
+ 00ff63a2 [RES] VS2017 v15.3 build 25506 (*)
378
+ 010263a2 [LNK] VS2017 v15.3 build 25506 (*)
379
+ 010163a2 [IMP] VS2017 v15.3 build 25506 (*)
380
+ 010063a2 [EXP] VS2017 v15.3 build 25506 (*)
381
+
382
+ # Visual Studio 2017 version 15.2 has the same build number
383
+ # Visual Studio 2017 version 15.1 has the same build number
384
+ # Visual Studio 2017 version 15.0 (values are interpolated)
385
+ 010461b9 [ C ] VS2017 v15.0 build 25017 (*)
386
+ 010361b9 [ASM] VS2017 v15.0 build 25017 (*)
387
+ 010561b9 [C++] VS2017 v15.0 build 25017 (*)
388
+ 00ff61b9 [RES] VS2017 v15.0 build 25017 (*)
389
+ 010261b9 [LNK] VS2017 v15.0 build 25017 (*)
390
+ 010161b9 [IMP] VS2017 v15.0 build 25017 (*)
391
+ 010061b9 [EXP] VS2017 v15.0 build 25017 (*)
392
+
393
+ # MSVS Community 2015 UPD3.1 (cl version 19.00.24215.1) - some IDs are interpolated
394
+ # [ASM] is the same as in UPD3 build 24213
395
+ 01045e97 [ C ] VS2015 UPD3.1 build 24215
396
+ 01055e97 [C++] VS2015 UPD3.1 build 24215
397
+ 01025e97 [LNK] VS2015 UPD3.1 build 24215
398
+ 01005e97 [EXP] VS2015 UPD3.1 build 24215
399
+ 01015e97 [IMP] VS2015 UPD3.1 build 24215
400
+
401
+ # MSVS Community 2015 UPD3 (cl version 19.00.24213.1)
402
+ 01045e95 [ C ] VS2015 UPD3 build 24213
403
+ 01035e92 [ASM] VS2015 UPD3 build 24210
404
+ 01055e95 [C++] VS2015 UPD3 build 24213
405
+ 00ff5e92 [RES] VS2015 UPD3 build 24210
406
+ 01025e95 [LNK] VS2015 UPD3 build 24213
407
+ 01005e95 [EXP] VS2015 UPD3 build 24213
408
+ 01015e95 [IMP] VS2015 UPD3 build 24213
409
+
410
+ # Visual Studio 2015 Update 3 [14.0] (values are interpolated)
411
+ 01045e92 [ C ] VS2015 Update 3 [14.0] build 24210 (*)
412
+ # 01035e92 [ASM] VS2015 Update 3 [14.0] build 24210 (*)
413
+ 01055e92 [C++] VS2015 Update 3 [14.0] build 24210 (*)
414
+ # 00ff5e92 [RES] VS2015 Update 3 [14.0] build 24210 (*)
415
+ 01025e92 [LNK] VS2015 Update 3 [14.0] build 24210 (*)
416
+ 01015e92 [IMP] VS2015 Update 3 [14.0] build 24210 (*)
417
+ 01005e92 [EXP] VS2015 Update 3 [14.0] build 24210 (*)
418
+
419
+ # MSVS Community 2015 UPD2 (14.0.25123.0?)
420
+ 01045d6e [ C ] VS2015 UPD2 build 23918
421
+ 01035d6e [ASM] VS2015 UPD2 build 23918
422
+ 01055d6e [C++] VS2015 UPD2 build 23918
423
+ 00ff5d6e [RES] VS2015 UPD2 build 23918
424
+ 01025d6e [LNK] VS2015 UPD2 build 23918
425
+ 01005d6e [EXP] VS2015 UPD2 build 23918
426
+ 01015d6e [IMP] VS2015 UPD2 build 23918
427
+
428
+ # MSVS Community 2015 14.0.24728.2 (UPD 1) 14.0.24720.0 D14REL
429
+ 01045bd2 [ C ] VS2015 UPD1 build 23506
430
+ 01035bd2 [ASM] VS2015 UPD1 build 23506
431
+ 01055bd2 [C++] VS2015 UPD1 build 23506
432
+ 00ff5bd2 [RES] VS2015 UPD1 build 23506
433
+ 01025bd2 [LNK] VS2015 UPD1 build 23506
434
+ 01005bd2 [EXP] VS2015 UPD1 build 23506
435
+ 01015bd2 [IMP] VS2015 UPD1 build 23506
436
+
437
+ # MSVS Community 2015 [14.0]
438
+ 010459f2 [ C ] VS2015 [14.0] build 23026
439
+ 010359f2 [ASM] VS2015 [14.0] build 23026
440
+ 010559f2 [C++] VS2015 [14.0] build 23026
441
+ 00ff59f2 [RES] VS2015 [14.0] build 23026
442
+ 010259f2 [LNK] VS2015 [14.0] build 23026
443
+ 010059f2 [EXP] VS2015 [14.0] build 23026
444
+ 010159f2 [IMP] VS2015 [14.0] build 23026
445
+
446
+ # Visual Studio 2013 Nobemver CTP [12.0] (values are interpolated)
447
+ 00e0527a [ C ] VS2013 Nobemver CTP [12.0] build 21114 (*)
448
+ 00df527a [ASM] VS2013 Nobemver CTP [12.0] build 21114 (*)
449
+ 00e1527a [C++] VS2013 Nobemver CTP [12.0] build 21114 (*)
450
+ 00db527a [RES] VS2013 Nobemver CTP [12.0] build 21114 (*)
451
+ 00de527a [LNK] VS2013 Nobemver CTP [12.0] build 21114 (*)
452
+ 00dd527a [IMP] VS2013 Nobemver CTP [12.0] build 21114 (*)
453
+ 00dc527a [EXP] VS2013 Nobemver CTP [12.0] build 21114 (*)
454
+
455
+ # MSVS2013 12.0.40629.00 Update 5
456
+ 00e09eb5 [ C ] VS2013 UPD5 build 40629
457
+ 00e19eb5 [C++] VS2013 UPD5 build 40629
458
+ # cvtres not updated since RTM version, so add interpolated one
459
+ 00db9eb5 [RES] VS2013 Update 5 [12.0] build 40629 (*)
460
+ 00de9eb5 [LNK] VS2013 UPD5 build 40629
461
+ 00dc9eb5 [EXP] VS2013 UPD5 build 40629
462
+ 00dd9eb5 [IMP] VS2013 UPD5 build 40629
463
+ 00df9eb5 [ASM] VS2013 UPD5 build 40629
464
+
465
+ # MSVS2013 12.0.31101.00 Update 4 - not attested in real world, @comp.id is
466
+ # calculated.
467
+ 00e0797d [ C ] VS2013 UPD4 build 31101 (*)
468
+ 00e1797d [C++] VS2013 UPD4 build 31101 (*)
469
+ 00db797d [RES] VS2013 UPD4 build 31101 (*)
470
+ 00de797d [LNK] VS2013 UPD4 build 31101 (*)
471
+ 00dc797d [EXP] VS2013 UPD4 build 31101 (*)
472
+ 00dd797d [IMP] VS2013 UPD4 build 31101 (*)
473
+ 00df797d [ASM] VS2013 UPD4 build 31101 (*)
474
+
475
+ # MSVS2013 12.0.30723.00 Update 3 - not attested in real world, @comp.id is
476
+ # calculated.
477
+ 00e07803 [ C ] VS2013 UPD3 build 30723 (*)
478
+ 00e17803 [C++] VS2013 UPD3 build 30723 (*)
479
+ 00db7803 [RES] VS2013 UPD3 build 30723 (*)
480
+ 00de7803 [LNK] VS2013 UPD3 build 30723 (*)
481
+ 00dc7803 [EXP] VS2013 UPD3 build 30723 (*)
482
+ 00dd7803 [IMP] VS2013 UPD3 build 30723 (*)
483
+ 00df7803 [ASM] VS2013 UPD3 build 30723 (*)
484
+
485
+ # MSVS2013 12.0.30501.00 Update 2 - not attested in real world, @comp.id is
486
+ # calculated.
487
+ 00e07725 [ C ] VS2013 UPD2 build 30501
488
+ 00e17725 [C++] VS2013 UPD2 build 30501
489
+ # cvtres not updated since RTM version, so add interpolated one
490
+ 00db7725 [RES] VS2013 Update 2 [12.0] build 30501 (*)
491
+ 00de7725 [LNK] VS2013 UPD2 build 30501
492
+ 00dc7725 [EXP] VS2013 UPD2 build 30501
493
+ 00dd7725 [IMP] VS2013 UPD2 build 30501
494
+ 00df7725 [ASM] VS2013 UPD2 build 30501
495
+
496
+ # Visual Studio 2013 Update2 RC [12.0] (values are interpolated)
497
+ 00e07674 [ C ] VS2013 Update2 RC [12.0] build 30324 (*)
498
+ 00df7674 [ASM] VS2013 Update2 RC [12.0] build 30324 (*)
499
+ 00e17674 [C++] VS2013 Update2 RC [12.0] build 30324 (*)
500
+ 00db7674 [RES] VS2013 Update2 RC [12.0] build 30324 (*)
501
+ 00de7674 [LNK] VS2013 Update2 RC [12.0] build 30324 (*)
502
+ 00dd7674 [IMP] VS2013 Update2 RC [12.0] build 30324 (*)
503
+ 00dc7674 [EXP] VS2013 Update2 RC [12.0] build 30324 (*)
504
+
505
+ # MSVS2013 RTM
506
+ # Looks like it doesn't always dump linker's comp.id
507
+ # Visual Studio 2013 Update 1 [12.0] also has this build number
508
+ 00e0520d [ C ] VS2013 build 21005
509
+ 00e1520d [C++] VS2013 build 21005
510
+ 00db520d [RES] VS2013 build 21005
511
+ 00de520d [LNK] VS2013 build 21005
512
+ 00dc520d [EXP] VS2013 build 21005
513
+ 00dd520d [IMP] VS2013 build 21005
514
+ 00df520d [ASM] VS2013 build 21005
515
+
516
+ # Visual Studio 2013 RC [12.0] (values are interpolated)
517
+ 00e0515b [ C ] VS2013 RC [12.0] build 20827 (*)
518
+ 00df515b [ASM] VS2013 RC [12.0] build 20827 (*)
519
+ 00e1515b [C++] VS2013 RC [12.0] build 20827 (*)
520
+ 00db515b [RES] VS2013 RC [12.0] build 20827 (*)
521
+ 00de515b [LNK] VS2013 RC [12.0] build 20827 (*)
522
+ 00dd515b [IMP] VS2013 RC [12.0] build 20827 (*)
523
+ 00dc515b [EXP] VS2013 RC [12.0] build 20827 (*)
524
+
525
+ # Visual Studio 2013 Preview [12.0] (values are interpolated)
526
+ 00e05089 [ C ] VS2013 Preview [12.0] build 20617 (*)
527
+ 00df5089 [ASM] VS2013 Preview [12.0] build 20617 (*)
528
+ 00e15089 [C++] VS2013 Preview [12.0] build 20617 (*)
529
+ 00db5089 [RES] VS2013 Preview [12.0] build 20617 (*)
530
+ 00de5089 [LNK] VS2013 Preview [12.0] build 20617 (*)
531
+ 00dd5089 [IMP] VS2013 Preview [12.0] build 20617 (*)
532
+ 00dc5089 [EXP] VS2013 Preview [12.0] build 20617 (*)
533
+
534
+ # MSVS2012 Premium Update 4 (11.0.61030.00 Update 4)
535
+ 00ceee66 [ C ] VS2012 UPD4 build 61030
536
+ 00cfee66 [C++] VS2012 UPD4 build 61030
537
+ 00cdee66 [ASM] VS2012 UPD4 build 61030
538
+ 00c9ee66 [RES] VS2012 UPD4 build 61030
539
+ 00ccee66 [LNK] VS2012 UPD4 build 61030
540
+ 00caee66 [EXP] VS2012 UPD4 build 61030
541
+ 00cbee66 [IMP] VS2012 UPD4 build 61030
542
+
543
+ # MSVS2012 Update 3 (17.00.60610.1 Update 3) - not attested in real world,
544
+ # @comp.id is calculated.
545
+ 00ceecc2 [ C ] VS2012 UPD3 build 60610 (*)
546
+ 00cfecc2 [C++] VS2012 UPD3 build 60610 (*)
547
+ 00cdecc2 [ASM] VS2012 UPD3 build 60610 (*)
548
+ 00c9ecc2 [RES] VS2012 UPD3 build 60610 (*)
549
+ 00ccecc2 [LNK] VS2012 UPD3 build 60610 (*)
550
+ 00caecc2 [EXP] VS2012 UPD3 build 60610 (*)
551
+ 00cbecc2 [IMP] VS2012 UPD3 build 60610 (*)
552
+
553
+ # MSVS2012 Update 2 (17.00.60315.1 Update 2) - not attested in real world,
554
+ # @comp.id is calculated.
555
+ 00ceeb9b [ C ] VS2012 UPD2 build 60315 (*)
556
+ 00cfeb9b [C++] VS2012 UPD2 build 60315 (*)
557
+ 00cdeb9b [ASM] VS2012 UPD2 build 60315 (*)
558
+ 00c9eb9b [RES] VS2012 UPD2 build 60315 (*)
559
+ 00cceb9b [LNK] VS2012 UPD2 build 60315 (*)
560
+ 00caeb9b [EXP] VS2012 UPD2 build 60315 (*)
561
+ 00cbeb9b [IMP] VS2012 UPD2 build 60315 (*)
562
+
563
+ # MSVS2012 Update 1 (17.00.51106.1 Update 1) - not attested in real world,
564
+ # @comp.id is calculated.
565
+ 00cec7a2 [ C ] VS2012 UPD1 build 51106 (*)
566
+ 00cfc7a2 [C++] VS2012 UPD1 build 51106 (*)
567
+ 00cdc7a2 [ASM] VS2012 UPD1 build 51106 (*)
568
+ 00c9c7a2 [RES] VS2012 UPD1 build 51106 (*)
569
+ 00ccc7a2 [LNK] VS2012 UPD1 build 51106 (*)
570
+ 00cac7a2 [EXP] VS2012 UPD1 build 51106 (*)
571
+ 00cbc7a2 [IMP] VS2012 UPD1 build 51106 (*)
572
+
573
+ # Visual Studio 2012 November CTP [11.0] (values are interpolated)
574
+ 00cec751 [ C ] VS2012 November CTP [11.0] build 51025 (*)
575
+ 00cdc751 [ASM] VS2012 November CTP [11.0] build 51025 (*)
576
+ 00cfc751 [C++] VS2012 November CTP [11.0] build 51025 (*)
577
+ 00c9c751 [RES] VS2012 November CTP [11.0] build 51025 (*)
578
+ 00ccc751 [LNK] VS2012 November CTP [11.0] build 51025 (*)
579
+ 00cbc751 [IMP] VS2012 November CTP [11.0] build 51025 (*)
580
+ 00cac751 [EXP] VS2012 November CTP [11.0] build 51025 (*)
581
+
582
+ # MSVS2012 Premium (11.0.50727.1 RTMREL)
583
+ 00cec627 [ C ] VS2012 build 50727
584
+ 00cfc627 [C++] VS2012 build 50727
585
+ 00c9c627 [RES] VS2012 build 50727
586
+ 00cdc627 [ASM] VS2012 build 50727
587
+ 00cac627 [EXP] VS2012 build 50727
588
+ 00cbc627 [IMP] VS2012 build 50727
589
+ 00ccc627 [LNK] VS2012 build 50727
590
+
591
+ # MSVS2010 SP1 kb 983509 (10.0.40219.1 SP1Rel)
592
+ 00aa9d1b [ C ] VS2010 SP1 build 40219
593
+ 00ab9d1b [C++] VS2010 SP1 build 40219
594
+ 009d9d1b [LNK] VS2010 SP1 build 40219
595
+ 009a9d1b [RES] VS2010 SP1 build 40219
596
+ 009b9d1b [EXP] VS2010 SP1 build 40219
597
+ 009c9d1b [IMP] VS2010 SP1 build 40219
598
+ 009e9d1b [ASM] VS2010 SP1 build 40219
599
+
600
+ # MSVS2010 (10.0.30319.1 RTMRel)
601
+ 00aa766f [ C ] VS2010 build 30319
602
+ 00ab766f [C++] VS2010 build 30319
603
+ 009d766f [LNK] VS2010 build 30319
604
+ 009a766f [RES] VS2010 build 30319
605
+ 009b766f [EXP] VS2010 build 30319
606
+ 009c766f [IMP] VS2010 build 30319
607
+ 009e766f [ASM] VS2010 build 30319
608
+
609
+ # Visual Studio 2010 Beta 2 [10.0] (values are interpolated)
610
+ 00aa520b [ C ] VS2010 Beta 2 [10.0] build 21003 (*)
611
+ 009e520b [ASM] VS2010 Beta 2 [10.0] build 21003 (*)
612
+ 00ab520b [C++] VS2010 Beta 2 [10.0] build 21003 (*)
613
+ 009a520b [RES] VS2010 Beta 2 [10.0] build 21003 (*)
614
+ 009d520b [LNK] VS2010 Beta 2 [10.0] build 21003 (*)
615
+ 009c520b [IMP] VS2010 Beta 2 [10.0] build 21003 (*)
616
+ 009b520b [EXP] VS2010 Beta 2 [10.0] build 21003 (*)
617
+
618
+ # Visual Studio 2010 Beta 1 [10.0] (values are interpolated)
619
+ 00aa501a [ C ] VS2010 Beta 1 [10.0] build 20506 (*)
620
+ 009e501a [ASM] VS2010 Beta 1 [10.0] build 20506 (*)
621
+ 00ab501a [C++] VS2010 Beta 1 [10.0] build 20506 (*)
622
+ 009a501a [RES] VS2010 Beta 1 [10.0] build 20506 (*)
623
+ 009d501a [LNK] VS2010 Beta 1 [10.0] build 20506 (*)
624
+ 009c501a [IMP] VS2010 Beta 1 [10.0] build 20506 (*)
625
+ 009b501a [EXP] VS2010 Beta 1 [10.0] build 20506 (*)
626
+
627
+ # MSVS2008 SP1 (9.0.30729.1 SP)
628
+ 00837809 [ C ] VS2008 SP1 build 30729
629
+ 00847809 [C++] VS2008 SP1 build 30729
630
+ # cvtres is the same as in VS2008, so add interpolated
631
+ 00947809 [RES] VS2008 SP1 [9.0] build 30729 (*)
632
+ 00957809 [ASM] VS2008 SP1 build 30729
633
+ 00927809 [EXP] VS2008 SP1 build 30729
634
+ 00937809 [IMP] VS2008 SP1 build 30729
635
+ 00917809 [LNK] VS2008 SP1 build 30729
636
+
637
+ # MSVS2008 (9.0.21022.8 RTM)
638
+ 0083521e [ C ] VS2008 build 21022
639
+ 0084521e [C++] VS2008 build 21022
640
+ 0091521e [LNK] VS2008 build 21022
641
+ 0094521e [RES] VS2008 build 21022
642
+ 0092521e [EXP] VS2008 build 21022
643
+ 0093521e [IMP] VS2008 build 21022
644
+ 0095521e [ASM] VS2008 build 21022
645
+
646
+ # Visual Studio 2008 Beta 2 [9.0] (values are interpolated)
647
+ 008350e2 [ C ] VS2008 Beta 2 [9.0] build 20706 (*)
648
+ 009550e2 [ASM] VS2008 Beta 2 [9.0] build 20706 (*)
649
+ 008450e2 [C++] VS2008 Beta 2 [9.0] build 20706 (*)
650
+ 009450e2 [RES] VS2008 Beta 2 [9.0] build 20706 (*)
651
+ 009150e2 [LNK] VS2008 Beta 2 [9.0] build 20706 (*)
652
+ 009350e2 [IMP] VS2008 Beta 2 [9.0] build 20706 (*)
653
+ 009250e2 [EXP] VS2008 Beta 2 [9.0] build 20706 (*)
654
+
655
+ # MSVS2005 (RTM.50727-4200) cl version: 14.00.50727.42
656
+ # MSVS2005-SP1 dumps the same comp.id's.
657
+ # It is strange, but there exists VS2012 with the same build number:
658
+ # 11 Build 50727.1
659
+ 006dc627 [ C ] VS2005 build 50727
660
+ 006ec627 [C++] VS2005 build 50727
661
+ 0078c627 [LNK] VS2005 build 50727
662
+ 007cc627 [RES] VS2005 build 50727
663
+ 007ac627 [EXP] VS2005 build 50727
664
+ 007bc627 [IMP] VS2005 build 50727
665
+ 007dc627 [ASM] VS2005 build 50727
666
+
667
+ # Visual Studio 2005 [8.0] (values are interpolated)
668
+ 006dc490 [ C ] VS2005 [8.0] build 50320 (*)
669
+ 007dc490 [ASM] VS2005 [8.0] build 50320 (*)
670
+ 006ec490 [C++] VS2005 [8.0] build 50320 (*)
671
+ 007cc490 [RES] VS2005 [8.0] build 50320 (*)
672
+ 0078c490 [LNK] VS2005 [8.0] build 50320 (*)
673
+ 007bc490 [IMP] VS2005 [8.0] build 50320 (*)
674
+ 007ac490 [EXP] VS2005 [8.0] build 50320 (*)
675
+
676
+ # Visual Studio 2005 Beta 2 [8.0] (values are interpolated)
677
+ 006dc427 [ C ] VS2005 Beta 2 [8.0] build 50215 (*)
678
+ 007dc427 [ASM] VS2005 Beta 2 [8.0] build 50215 (*)
679
+ 006ec427 [C++] VS2005 Beta 2 [8.0] build 50215 (*)
680
+ 007cc427 [RES] VS2005 Beta 2 [8.0] build 50215 (*)
681
+ 0078c427 [LNK] VS2005 Beta 2 [8.0] build 50215 (*)
682
+ 007bc427 [IMP] VS2005 Beta 2 [8.0] build 50215 (*)
683
+ 007ac427 [EXP] VS2005 Beta 2 [8.0] build 50215 (*)
684
+
685
+ # Visual Studio 2005 Beta 1 [8.0] (values are interpolated)
686
+ 006d9e9f [ C ] VS2005 Beta 1 [8.0] build 40607 (*)
687
+ 007d9e9f [ASM] VS2005 Beta 1 [8.0] build 40607 (*)
688
+ 006e9e9f [C++] VS2005 Beta 1 [8.0] build 40607 (*)
689
+ 007c9e9f [RES] VS2005 Beta 1 [8.0] build 40607 (*)
690
+ 00789e9f [LNK] VS2005 Beta 1 [8.0] build 40607 (*)
691
+ 007b9e9f [IMP] VS2005 Beta 1 [8.0] build 40607 (*)
692
+ 007a9e9f [EXP] VS2005 Beta 1 [8.0] build 40607 (*)
693
+
694
+ # Windows Server 2003 SP1 DDK (for AMD64) (values are interpolated)
695
+ 006d9d76 [ C ] Windows Server 2003 SP1 DDK (for AMD64) build 40310 (*)
696
+ 007d9d76 [ASM] Windows Server 2003 SP1 DDK (for AMD64) build 40310 (*)
697
+ 006e9d76 [C++] Windows Server 2003 SP1 DDK (for AMD64) build 40310 (*)
698
+ 007c9d76 [RES] Windows Server 2003 SP1 DDK (for AMD64) build 40310 (*)
699
+ 00789d76 [LNK] Windows Server 2003 SP1 DDK (for AMD64) build 40310 (*)
700
+ 007b9d76 [IMP] Windows Server 2003 SP1 DDK (for AMD64) build 40310 (*)
701
+ 007a9d76 [EXP] Windows Server 2003 SP1 DDK (for AMD64) build 40310 (*)
702
+
703
+ # MSVS2003 (.NET) SP1 (kb918007)
704
+ 005f178e [ C ] VS2003 (.NET) SP1 build 6030
705
+ 0060178e [C++] VS2003 (.NET) SP1 build 6030
706
+ 005a178e [LNK] VS2003 (.NET) SP1 build 6030
707
+ 000f178e [ASM] VS2003 (.NET) SP1 build 6030
708
+ # cvtres is the same version as without SP1
709
+ 005e178e [RES] VS.NET 2003 SP1 [7.1] build 6030 (*)
710
+ 005c178e [EXP] VS2003 (.NET) SP1 build 6030
711
+ 005d178e [IMP] VS2003 (.NET) SP1 build 6030
712
+
713
+ # Windows Server 2003 SP1 DDK (values are interpolated)
714
+ 005f0fc3 [ C ] Windows Server 2003 SP1 DDK build 4035 (*)
715
+ 000f0fc3 [ASM] Windows Server 2003 SP1 DDK build 4035 (*)
716
+ 00600fc3 [C++] Windows Server 2003 SP1 DDK build 4035 (*)
717
+ 005e0fc3 [RES] Windows Server 2003 SP1 DDK build 4035 (*)
718
+ 005a0fc3 [LNK] Windows Server 2003 SP1 DDK build 4035 (*)
719
+ 005d0fc3 [IMP] Windows Server 2003 SP1 DDK build 4035 (*)
720
+ 005c0fc3 [EXP] Windows Server 2003 SP1 DDK build 4035 (*)
721
+
722
+ # MSVS2003 (.NET) 7.0.1.3088
723
+ 005f0c05 [ C ] VS2003 (.NET) build 3077
724
+ 00600c05 [C++] VS2003 (.NET) build 3077
725
+ 000f0c05 [ASM] VS2003 (.NET) build 3077
726
+ 005e0bec [RES] VS2003 (.NET) build 3052
727
+ 005c0c05 [EXP] VS2003 (.NET) build 3077
728
+ 005d0c05 [IMP] VS2003 (.NET) build 3077
729
+ 005a0c05 [LNK] VS2003 (.NET) build 3077
730
+ # Visual Studio .NET 2003 [7.1] (values are interpolated)
731
+ 005e0c05 [RES] VS.NET 2003 [7.1] build 3077 (*)
732
+
733
+ # MSVS2002 (.NET) 7.0.9466
734
+ 001c24fa [ C ] VS2002 (.NET) build 9466
735
+ 001d24fa [C++] VS2002 (.NET) build 9466
736
+ 004024fa [ASM] VS2002 (.NET) build 9466
737
+ 003d24fa [LNK] VS2002 (.NET) build 9466
738
+ 004524fa [RES] VS2002 (.NET) build 9466
739
+ 003f24fa [EXP] VS2002 (.NET) build 9466
740
+ 001924fa [IMP] VS2002 (.NET) build 9466
741
+
742
+ # Windows XP SP1 DDK (values are interpolated)
743
+ 001c23d8 [ C ] Windows XP SP1 DDK build 9176 (*)
744
+ 004023d8 [ASM] Windows XP SP1 DDK build 9176 (*)
745
+ 001d23d8 [C++] Windows XP SP1 DDK build 9176 (*)
746
+ 004523d8 [RES] Windows XP SP1 DDK build 9176 (*)
747
+ 003d23d8 [LNK] Windows XP SP1 DDK build 9176 (*)
748
+ 001923d8 [IMP] Windows XP SP1 DDK build 9176 (*)
749
+ 003f23d8 [EXP] Windows XP SP1 DDK build 9176 (*)
750
+
751
+ # MSVS98 6.0 SP6 (Enterprise edition)
752
+ # Looks like linker may mix compids for C and C++ objects (why?)
753
+ 000a2636 [ C ] VS98 (6.0) SP6 build 8804
754
+ 000b2636 [C++] VS98 (6.0) SP6 build 8804
755
+
756
+ # MSVC++ 6.0 SP5 (Enterprise edition)
757
+ 00152306 [ C ] VC++ 6.0 SP5 build 8804
758
+ 00162306 [C++] VC++ 6.0 SP5 build 8804
759
+ 000420ff [LNK] VC++ 6.0 SP5 imp/exp build 8447
760
+ 000606c7 [RES] VS98 (6.0) SP6 cvtres build 1736
761
+
762
+ # MSVS6.0 (no servicepacks)
763
+ 000a1fe8 [ C ] VS98 (6.0) build 8168
764
+ 000b1fe8 [C++] VS98 (6.0) build 8168
765
+ 000606b8 [RES] VS98 (6.0) cvtres build 1720
766
+ 00041fe8 [LNK] VS98 (6.0) imp/exp build 8168
767
+
768
+ # MSVS97 5.0 Enterprise Edition (cl 11.00.7022, link 5.00.7022)
769
+ # Does NOT generate any @comp.id records, nor Rich headers.
770
+ # SP3 added Rich-generating linker (albeit it doesn't identify itself),
771
+ # and CVTRES and LIB(?) utilities that generate @comp.id records. There is no
772
+ # distinction between import and export records yet. I marked the records as
773
+ # [IMP] because VS98 linker seems to omit export records from the header; VS97
774
+ # linker might do the same.
775
+ 00060684 [RES] VS97 (5.0) SP3 cvtres 5.00.1668
776
+ 00021c87 [IMP] VS97 (5.0) SP3 link 5.10.7303