Skip to content

Technical

Benjamin Fuu edited this page Jun 10, 2021 · 2 revisions

Technical aspects

This page explains the technical aspects of the project.

I don't like mod-loaders, they are insecure!

The injection-process is realized by using the DoorStop-Library of NeighTools: https://github.com/NeighTools/UnityDoorstop.

You should get a copy of the loader only from trusted sources like github or nexusmods - they scan every archive for viruses, etc.

If you're skeptical you can always compile your own version from the source-code of the DoorStop-Library, take look at the Building-Section when you're interested in this topic.

How does it work?

The following procedure is executed when using the mod-loader:

  • The user (you) starts Going Medieval (by clicking the Going Medieval.exe, launching it from Steam, etc.)
  • Going Medieval initializes the Unity runtime for more information checkout the DoorStop-Wiki ...
  • ... by loading the winhttp.dll - this file is used for the actual injection
  • The winhttp.dll file loads my mod - API-, -manager, etc.
  • Voila you can use mods!

Why is the file named winhttp.dll? Is it using HTTP for sending my credentials to somewhere?

No the name is choosen because the Unity-Engine, which is used for Going Medieval, looks for a file called "winhttp.dll" and, if it exists, loads it when starting an application (Going Medieval) - then it launches executes the flow executed before (How does it work)