| 901 | return 0; |
| 902 | } |
| 903 | DWORD RvaToOffset(LPBYTE image, DWORD rva) |
| 904 | { |
| 905 | PIMAGE_NT_HEADERS ntHeaders = (PIMAGE_NT_HEADERS)(image + ((PIMAGE_DOS_HEADER)image)->e_lfanew); |
| 906 | PIMAGE_SECTION_HEADER sections = (PIMAGE_SECTION_HEADER)((LPBYTE)&ntHeaders->OptionalHeader + ntHeaders->FileHeader.SizeOfOptionalHeader); |
| 907 | |
| 908 | if (rva < sections[0].PointerToRawData) |
| 909 | { |
| 910 | return rva; |
| 911 | } |
| 912 | else |
| 913 | { |
| 914 | for (WORD i = 0; i < ntHeaders->FileHeader.NumberOfSections; i++) |
| 915 | { |
| 916 | if (rva >= sections[i].VirtualAddress && rva < sections[i].VirtualAddress + sections[i].SizeOfRawData) |
| 917 | { |
| 918 | return rva - sections[i].VirtualAddress + sections[i].PointerToRawData; |
| 919 | } |
| 920 | } |
| 921 | |
| 922 | return 0; |
| 923 | } |
| 924 | } |
| 925 | |
| 926 | NTSTATUS NTAPI R77_NtQueryObject(HANDLE handle, OBJECT_INFORMATION_CLASS objectInformationClass, LPVOID objectInformation, ULONG objectInformationLength, PULONG returnLength) |
| 927 | { |
no outgoing calls
no test coverage detected