Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(674)

Side by Side Diff: syzygy/pe/pe_file_parser.cc

Issue 2771503005: Add support for the Win10 SDK to the PE reader (Closed)
Patch Set: Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | syzygy/pe/pe_structs.h » ('j') | syzygy/pe/pe_structs.h » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 Google Inc. All Rights Reserved. 1 // Copyright 2012 Google Inc. All Rights Reserved.
2 // 2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"); 3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License. 4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at 5 // You may obtain a copy of the License at
6 // 6 //
7 // http://www.apache.org/licenses/LICENSE-2.0 7 // http://www.apache.org/licenses/LICENSE-2.0
8 // 8 //
9 // Unless required by applicable law or agreed to in writing, software 9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, 10 // distributed under the License is distributed on an "AS IS" BASIS,
(...skipping 1145 matching lines...) Expand 10 before | Expand all | Expand 10 after
1156 PEFileStructPtr<DWORD> load_config_len; 1156 PEFileStructPtr<DWORD> load_config_len;
1157 if (!load_config_len.Read(image_file_, RelativeAddress(dir.VirtualAddress))) { 1157 if (!load_config_len.Read(image_file_, RelativeAddress(dir.VirtualAddress))) {
1158 LOG(ERROR) << "Unable to read load config len."; 1158 LOG(ERROR) << "Unable to read load config len.";
1159 return NULL; 1159 return NULL;
1160 } 1160 }
1161 1161
1162 LoadConfigDirectoryVersion load_config_version = 1162 LoadConfigDirectoryVersion load_config_version =
1163 kLoadConfigDirectorySizeUnknown; 1163 kLoadConfigDirectorySizeUnknown;
1164 switch (*load_config_len.ptr()) { 1164 switch (*load_config_len.ptr()) {
1165 case kLoadConfigDirectorySize80: 1165 case kLoadConfigDirectorySize80:
1166 case kLoadConfigDirectorySize81: 1166 case kLoadConfigDirectorySizeNoCodeIntegrity:
1167 case kLoadConfigDirectorySizeNoCFG:
chrisha 2017/03/23 20:53:32 Should these be 100NoCFG and 100NoCodeIntegrity?
Sébastien Marchand 2017/03/23 20:56:43 It depends, 100NoCFG will also mean 81, so I've de
1168 case kLoadConfigDirectorySize100:
1167 load_config_version = 1169 load_config_version =
1168 static_cast<LoadConfigDirectoryVersion>(*load_config_len.ptr()); 1170 static_cast<LoadConfigDirectoryVersion>(*load_config_len.ptr());
1169 break; 1171 break;
1170 default: 1172 default:
1171 LOG(ERROR) << "Unknown version of the IMAGE_LOAD_CONFIG_DIRECTORY " 1173 LOG(ERROR) << "Unknown version of the IMAGE_LOAD_CONFIG_DIRECTORY "
1172 << "structure (" << *load_config_len.ptr() << " bytes), might " 1174 << "structure (" << *load_config_len.ptr() << " bytes), might "
1173 << "be because you're using a new version of the Windows SDK."; 1175 << "be because you're using a new version of the Windows SDK.";
1174 return NULL; 1176 return NULL;
1175 } 1177 }
1176 1178
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
1440 // in-image file structure. So, translation to an in-image relative 1442 // in-image file structure. So, translation to an in-image relative
1441 // address is expected to yield a valid RVA. 1443 // address is expected to yield a valid RVA.
1442 return image_file_.Translate(offs, &rel) && 1444 return image_file_.Translate(offs, &rel) &&
1443 AddReference(structure.AddressOf(item), 1445 AddReference(structure.AddressOf(item),
1444 BlockGraph::FILE_OFFSET_REF, 1446 BlockGraph::FILE_OFFSET_REF,
1445 sizeof(*item), 1447 sizeof(*item),
1446 rel); 1448 rel);
1447 } 1449 }
1448 1450
1449 } // namespace pe 1451 } // namespace pe
OLDNEW
« no previous file with comments | « no previous file | syzygy/pe/pe_structs.h » ('j') | syzygy/pe/pe_structs.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698