| 638 | |
| 639 | |
| 640 | void ApiReader::setModulePriority(ModuleInfo * module) |
| 641 | { |
| 642 | const WCHAR *moduleFileName = module->getFilename(); |
| 643 | |
| 644 | //imports by kernelbase don't exist |
| 645 | if (!_wcsicmp(moduleFileName, L"kernelbase.dll")) |
| 646 | { |
| 647 | module->priority = -1; |
| 648 | } |
| 649 | else if (!_wcsicmp(moduleFileName, L"ntdll.dll")) |
| 650 | { |
| 651 | module->priority = 0; |
| 652 | } |
| 653 | else if (!_wcsicmp(moduleFileName, L"shlwapi.dll")) |
| 654 | { |
| 655 | module->priority = 0; |
| 656 | } |
| 657 | else if (!_wcsicmp(moduleFileName, L"ShimEng.dll")) |
| 658 | { |
| 659 | module->priority = 0; |
| 660 | } |
| 661 | else if (!_wcsicmp(moduleFileName, L"kernel32.dll")) |
| 662 | { |
| 663 | module->priority = 2; |
| 664 | } |
| 665 | else if (!_wcsnicmp(moduleFileName, L"API-", 4) || !_wcsnicmp(moduleFileName, L"EXT-", 4)) //API_SET_PREFIX_NAME, API_SET_EXTENSION |
| 666 | { |
| 667 | module->priority = 0; |
| 668 | } |
| 669 | else |
| 670 | { |
| 671 | module->priority = 1; |
| 672 | } |
| 673 | } |
| 674 | |
| 675 | bool ApiReader::isApiAddressValid(DWORD_PTR virtualAddress) |
| 676 | { |
nothing calls this directly
no test coverage detected