Пикник на обочине или не ходите, дети, в DllMain гулять, а то ноги оторвёт.

????? ????? ? DLL, ??? ?? ??? ? ????? ????? ? ?????????, - ??? ????? ??????????? ?????. ????. ? ???? ????????? ???? ??????? ?????????? ????, ??? ????? ??????, ? ??? ?????? ??????. ? ???? ????? ???????????????? ????????? ?????? DLL, ????? ????????? ??????????? ??????. ? ???? ?????? ??????????? ????????? ?????? ?????? ??? ????????? ??????. ????? ??????? ????? ? ??????? ???????? ????. ??? ????????? ???? ??? ?????? ???????? ??????? ? ?????????????? ?? ???.

??? ?????? ???? ?????????? ???? ??????????, ??? ?? ???? ??????? ?????????. ????????? ????????????, ??? ???????? ???? ???????????? ????? ????????. ?? ??????? ? ????????, ????????? ?? ? ???????? ?? ????? ?????. ?? ????????? ????. ?? ?? ? ????? ????????? ? ????????, ??????????? ??????? ????.

?????? ??????? ? ???. ??? ????????? ???????? ???? ??????? ????????, ?? ??????? ??? ???????. ??? ????? ????????? ??????????? ??????????? ????? ?????. ??? ????????? ?????? DLL ? ????? ?? DLL_PROCESS_ATTACH ? ???????? ??????? ?? ??????????????????????? ???????. ?????? ???????? ????????????? ? ??????????? ???? ?????????. ??? ???????????? ???????? “Delay-Loaded DLL” ? ??????????? ??????? ? ????????????? ? ???????????? ??????????? ????????.

??? ???? ??????? ?? ??????. ???? ???????? ??????? ????. ? ?????? ??? ?????????????? ?? ??? ?????? ???, ????? ???? ? ????.

?? ??????? ?????? ????????? ????????? ?????????? ??????. Access Violation ?????? ???????? lodctr.exe:

? ??? ??-?? ????, ??? loadperf ?????, ??? ??? ??? ????? ? ????????? ???????????????? ???????? ??????? ??? Event Log ????? ?? DllMain. ???? ????? ??? ???????? ?? ???? ?? ???????, ???? advapi32 ?? ????? “Delay-Loaded” . ??? ?????? ??? ?????????, ????? RegisterEventSourceW ???? ????????? ? ?? ????????, ??? ???????? ???? ???????????? ?????????? ? ???????? ? ??????? ????????????? ???????????????????? ??????????? ?????? ? rpcrt4 ?? ????, ??? ???? ??????? ????? ????? rpcrt4!DllMain.

??? ????? ????????? ????????

P.S. ??????? ?? ????: https://msdn2.microsoft.com/en-us/library/ms682583.aspx

Cross-posted from blog.not-a-kernel-guy.com.