Начиная с Windows 7 Microsoft применяет трюк apisetschema для разрешения импортных ссылок. Сам ЗВЕРЬ находится в камере "C:\Windows\System32\apisetschema.dll". При этом некоторые загруженные DLL(по крайней мере одна) должны хранит инфу об имени процесса для детерминированности. KERNEL32.DLL "зверем" apisetschema расталкивается по разным DLL, если нет в ее основе. Большинство идет в KERNELBASE.dll, которая должна подстраиваться под основной процесс (32-64 файла). Поэтому она и стала первой подопытной. Рассмотрим KERNELBASE.dll и ее маркерные точки, определенные экспериментальным грубым методом: сканированием про-ва DLL на unicode string. Ниже приведены данные для W8.1, W10, W11 offset, где ЗАГРУЖЕННАЯ KERNELBASE.dll хранит имя ПРОЦЕССА(файла) и при необходимости интернационализацию DLL. Все в секции .data KERNELBASE.dll; 1. Параллельно интересно, т.к. KERNELBASE.dll проецируется для ВСЕХ на один АДРЕС, как происходит взаимодействие с данной DLL: - одна для некоторых группы - для каждого процесса - отдельные специфические наборы страницы для каждого (группы) процесса (ов) 2. Получив доступ к KERNELBASE.dll можем узнать имя Процесса 3. Зачем ХРАНИТЬ имя процесса? М.б. это связано с п.1 ? 4. Для "ведающих": м.б.это где-то скрыто в новых аналлах соломонов-русиновичей?? ******** Windows 10 Корпоративная LTSC 1809 (сборка 17763.4499) ************* секция .data KERNELBASE base sizeimage oep AdminService.exe >7FF670AA0000 00062000 7FF670ABACA0 KERNELBASE.dll >7FFC3BD10000 0029D000 7FFC3BD1C9B0 offset image KERNELBASE 0x00265260 (2 511 456): AdminService.exe UNICODE STRING QcomWlanSrvx64.exe >7FF7A0110000 00030000 7FF7A0116E78 KERNELBASE.dll >7FFC3BD10000 0029D000 7FFC3BD1C9B0 offset image KERNELBASE 0x00265260 (2 511 456): QcomWlanSrvx64.exe UNICODE STRING Explorer.EXE >7FF7BA3F0000 0042A000 7FF7BA48D3F0 KERNELBASE.dll >7FFC3BD10000 0029D000 7FFC3BD1C9B0 offset image KERNELBASE 0x00265260 (2 511 456): Explorer.EXE UNICODE STRING ...... один из любых svchost .................. svchost.exe >7FF685570000 00010000 7FF685574750 KERNELBASE.dll >7FFC3BD10000 0029D000 7FFC3BD1C9B0 offset image 0x00265260 (2 511 456): svchost.exe UNICODE STRING для 32-р процессов MDM.EXE> 00400000 0004D000 00401488 KERNELBASE.dll> 765C0000 00201000 766D54E0 offset image 0x001CB900 (1 882 368): MDM.EXE UNICODE vmnetdhcp.exe> 011A0000 00067000 011D4B40 KERNELBASE.dll> 765C0000 00201000 766D54E0 offset image 0x001CB900 (1 882 368): vmnetdhcp.exe >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> *********** Windows 11 Pro Версия 21H2 (сборка ОС 22000.176) **************** секция .data KERNELBASE RtkAudUService64.exe> 7FF72A4D0000 00129000 7FF72A55D3A4 KERNELBASE.dll> 7FFB07830000 00374000 7FFB07854500 offset image 0x003291E0 (3 314 144): RtkAudUService64.exe winlogon.exe> 7FF6432B0000 000DB000 7FF6432EC150 KERNELBASE.dll> 7FFB07830000 00374000 7FFB07854500 offset image 0x003291E0 (3 314 144): winlogon.exe Explorer.EXE> 7FF704C00000 004C4000 7FF704C40BE0 KERNELBASE.dll> 7FFB07830000 00374000 7FFB07854500 offset image 0x003291E0 (3 314 144): Explorer.EXE ...... один из svchost .................. svchost.exe> 7FF7445C0000 00011000 7FF7445C5380 KERNELBASE.dll> 7FFB07830000 00374000 7FFB07854500 offset image 0x003291E0 (3 314 144): svchost.exe также в секции .data KERNELBASE offset image KERNELBASE 0x00329CDA 3316954: ru-RU - национализация версии svchost ЭТИ данные НЕ содержат для 32 -р процессов base size oep KodoKop.exe> 00400000 00BFC000 00B94B70 KERNELBASE.dll> 75F90000 00252000 760C0FA0 offset image KERNELBASE 0x00211940 (2 169 152): KodoKop.exe offset image KERNELBASE 0x00211FCE (2 170 830): ru-RU MDM.EXE> 00400000 0004D000 00401488 KERNELBASE.dll> 75F90000 00252000 760C0FA0 offset image KERNELBASE 0x00211940 (2 169 152): MDM.exe offset image KERNELBASE национализация версии НЕТ FASMW.EXE> 00400000 00035000 004108EE KERNELBASE.dll> 75F90000 00252000 760C0FA0 offset image KERNELBASE 0x00211940 (2 169 152): FASMW.EXE offset image KERNELBASE 0x00211FCE (2 170 830): ru-RU COMDLG32.DLL для FASMW.EXE содержит в секции .data директорию запуска FASMW.EXE offset image 0x000AB8C0(702 656): Z:\Code\pr\zzz\001 UNICODE >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ***************** Windows 8.1 Pro Версия 6.3 (сборка 9600) **************** секция .data KERNELBASE для 32 -р процессов vmware-authd.exe> 00FD0000 00019000 00FDB710 KERNELBASE.dll> 75140000 000D7000 7514F6A0 offset image KERNELBASE 0x000C4480 (803 968): vmware-authd.exe unicode daemonu.exe> 00C80000 00153000 00CC5DF1 KERNELBASE.dll> 75140000 000D7000 7514F6A0 offset image KERNELBASE 0x000C4480 (803 968): daemonu.exe unicode 64-р процессы BSQLServer.exe> 00D80000 00014000 00000000 KERNELBASE.dll> 7FF95C530000 00115000 7FF95C5326E0 offset image KERNELBASE 0x000F5160 (1 003 872): BSQLServer.exe unicode Explorer.EXE> 7FF6B4010000 00261000 7FF6B4060CF0 KERNELBASE.dll> 7FF95C530000 00115000 7FF95C5326E0 offset image KERNELBASE 0x000F5160 (1 003 872): Explorer.EXE unicode KodoKop64.exe> 00400000 00A77000 00B81060 KERNELBASE.dll> 7FF95C530000 00115000 7FF95C5326E0 offset image KERNELBASE 0x000F5160 (1 003 872): KodoKop64.exe unicode WinLogon.exe> 7FF7586E0000 00093000 7FF7586F41E0 KERNELBASE.dll> 7FF95C530000 00115000 7FF95C5326E0 offset image KERNELBASE 0x000F5160 (1 003 872): WinLogon.exe unicode >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Вывод: 1.offset image для всех процессов ОДИНАКОВЫ (64 и 32) и зависят от версии OC, по offset image возможно определить тип OC. 2. offset image 64 всегда больше offset image 32. ***************************** Windows 7 ************************************** Проверки на VMware и VirtualBox не подтвердили данный факт для Win7; Оригинальной Win 7 не нашлось под рукой...