Чтобы применить горячие исправления к DLL, я использовал «LoadLibrary» и
getProcadDress ', чтобы найти базовый адрес и смещение экспортируемой
функции в DLL. Пример: < /p>
// Use Handle as base address
base = LoadLibrary(...);
// Get offset relative to base
offset = GetProcAddress(...);
< /code>
и используя его таким образом: < /p>
// Calculate offset in file
offsetInFile = offset - base;
// Apply hotfix in file
PatchExportedFunction(offsetInFile, "MyDLL.dll");
< /code>
Это работало до сих пор нормально - однако у меня теперь есть проблема, что
есть некоторые DLL, которые отличаются таким образом, что расчетливое смещение
Больше не соответствует смещению в файле. Почему он работает большую часть времени
, но не всегда. < /p>
Может быть, у кого -то есть идея? < /p>
Подробнее здесь: https://stackoverflow.com/questions/374 ... n-dll-file