Да, вам не хватает много. Библиотека следует формату PE / COFF , что довольно сильно влияет на указатели по всему файлу. (Например, в начале файла находится таблица, которая указывает на расположение каждого раздела в файле).
В случае, если вы редактируете ресурсы, есть возможность сделать это без поломок, если вы убедитесь, что вы исправили любые указатели и размеры для всего, на что указывают после ваших правок, но я сомневаюсь, что это будет легко. В случае, если вы редактируете секцию .text (т. Е. Код), то я сомневаюсь, что вы это сделаете, поскольку операнды вызовов функций и переходы являются относительными позициями относительно их позиции в коде - вам необходимо обновить весь код для учета правок.
Одним из способов преодоления этой проблемы является «пещера кода», в которой часть существующего кода заменяется явной инструкцией JMP на какое-то пустое место (это можно сделать во время выполнения, когда у вас есть возможность создать новую память). ) - где вы определяете некоторый новый код, который может иметь произвольную длину, - то вы явно возвращаете JMP туда, откуда вы вызывали (+5 байтов, скажем, для опкода JMP + операнд).