Недокументированные функции; Загрузка 32-х битных DLL в 64-х битный процесс.
???????, ? ????????????? ???????? ? 64bit-??????? 32bit DLL - ????????, ??? ?? ???????? ?????-?? ????, ??????????????????? ???????? ?????
??????? ?????, ??? ??? ????? ????????? ??????? ???????.
??-??????, ??? ????? ??????????????????? ??????????? ???? ?????????? ??????????. ???? ???? ????? ??????????? ??????????, ? ??? ????? ? ??? ?? ????????. ????? ???? ????????? ??????, ??????? ????????? ???? ????? NDA, ?????? ?? ????????? ????? ? ?.?. ??? ???? ???????, ?????? ? ?? ???? ???????? ??? ??????, - ??? ??, ??? ????????? ?????? ?????????? ???? ??? ????? ??????????, ? ??? ????? ????? ???? ????????? ??????????? ??????????? ? ????????? ? ????????? ???????.
?????? ???? ??????? ??????. ???????? ?????, ??????????? ?????? ??????? ??? ????? ???????????? ??????? ???????:
- public – ??? ?????? ??????, ???????????? ????????? ????????? ??????;
- protected – ??? ?????? ??????, ???????????? ?????????? ????????? ??????;
- private – ??? ??????, ?????????? ???????? ?????????? ??????, ? ??????? ????????? ????? ?? ????????.
???????? ????? ???????????????? ?????? ????????? ??????? ??????????? ? ?????????? ????? ????????????????, ??? ??? ??? ????? ???? ??????? ??? ???????, ??? ????????? ????????? ?? ??????????. Windows, ??? ? ????? ?????? ???????, ????? ?? ?????????? ?? ?????? ? ???? ?????.
??????????????????? ??????????? ??????????. ??????? ?? ????????????????????? ????? ?? ?? ?????, ??? ? ??????? ??? ????????????? private ? protected ?????? ??????. ? ???? ? (??? ?????? ????????) ?????????? ? ?????????? ????????? ?????-???? ??????????????????? ???????, ?? ??? ??????? ????? ??????????? ?????? ?????????? ??????????, ??? ??? ?????????? ??????????, ???????????? ??? ???????. ????? ?? ??, ??? ????? ????????? ????????? ???????? ? ????????? ?????? Windows, ??????????? ??????? ?? ??????? Windows.
??-??????, ??? ???????? 32-? ?????? DLL ? 64-? ?????? ???????. ??? ????? ???????, ???? ??? ?????? LoadLibraryEx ??????? ???? LOAD_LIBRARY_AS_DATAFILE. ??? ????????? ????????? ???????, ?????????? ? ???? DLL, ?? ?? ????????? ????????? ??? ? DLL.
???? ?? ????? ????????? 32-? ?????? DLL ? 64-? ?????? ? ????????? ??? ?? ???, ?? ??? ?????????? ? ????????. ??? ????? ????? ????????? ? ??????????????????? Wow64, ?? ?????? ??? ? ?????????? ? ????. ?????? ????? ????? ?? ???? ?????????? ??????? ? 32-? ??????. ????? ??????? ?????. :-)
Cross-posted from blog.not-a-kernel-guy.com.