MVV

|
Posted: Mon Oct 18, 2010 14:22 Post subject: |
|
|
Если ты отключаешь CRT и другие библиотеки, использующие CRT, то в импортах будут лишь те функции, которые ты вызываешь явно. А эти две функции используются именно в CRT.
В основном трудности, связанные с неиспользованием CRT - это выделение памяти в куче и использование операций с плавающей запятой. Но в принципе операторы new/delete можно переопределить.
Не думаю, что может возникнуть проблема с незашифрованностью указателей. Максимум проблема безопасности, которая для такого приложения абсолютно несущественна. А так как функции мы переопределяем парные, то условие x == DecodePointer(EncodePointer(x)) будет выполняться, что и требуется.
Я еще более упростил процедуру подключения измененного kernel32.lib - сделал маленькую либу kernel32.lib с этими двумя функциями-пустышками и привязкой к либе kernel32sp1.lib, которая является патченой версией оригинального kernel32.lib. Если обе либы положить в папку, в которой компоновщик ищет либы до стандартной папки, то проект модифицировать вообще не нужно. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|