CRT-free DLL (optional)
Some courses end with a DLL that minimizes or avoids the C runtime, walks InMemoryOrderModuleList, and compares hashes—similar ideas to earlier chapters but with DllMain constraints.
Note
This is supplementary. Building DLLs involves exports,
DllMain, loader lock re-entrancy, and special linker settings. Follow your instructor’s template and checklist.
Warning
Calling LoadLibrary-style APIs from
DllMainwhile holding the loader lock can deadlock. Do not copy PEB-walking samples intoDllMainwithout understanding what your init path calls.
What to implement (if assigned)
- A
DllMainthat does minimal work (or defers heavy work per instructor guidance). - Optional export
booor similar that performs module enumeration / hash match outside dangerous lock contexts. - Linker settings and CRT avoidance exactly as the Classroom boilerplate specifies.
Implement
- Use only the DLL project and settings from your Classroom template.
- Build the DLL, load/test per rubric, commit, and push.