-
Делаю программу «Калькулятор сложного процента»
Replies (32)
-
@mabu, LoadLibrary + GetProcAddress для слабаков. У нас во дворе пацаны получали адрес дефолтного SEH-обработчика через fs:[20h], из него адрес kernel32.dll, а потом парсили ее таблицу экспорта. Ныне SEH правда указывает уже на ntdll.dll, но это мало что меняет.
А в ntdll.dll же не WinAPI функции, а NTAPI, которое работает только в специальным образом запущенном приложении.
Што? WinAPI это обертка вокруг NTAPI по большому счету, оно всегда доступно. kernel32.LoadLibrary в итоге сводится к вызову ntdll.LdrLoadDll, например. -
@mabu, Ааа, понял, о чем ты. Речь про системные проги, которые ТОЛЬКО NTAPI юзают и запускаются рано, когда ничего больше не готово. И у которых точка входа в DriverEntry(), как у драйверов (хотя работают они в юзермоде).
На самом деле оно и потом никуда не девается, и практически любая прога его косвенно вызывает: kernel32 (WinAPI) -> ntdll (NativeAPI) -> ядро. Причем вызов из kernel32 — обычный CALL без перехода в ring0. Можно и напрямую дернуть.