Та таблица (в ресурсном файле с программой) содержит имена функций и после них смещение от сигнатуры SVWU (4ый байт от начала) до адреса инструкции вызова (call) который изначально инвалидный (FCFFFFFF) и правится при загрузке программы. После названия функции (вида _f...) идет 5 байт, 4 из которых на смещение и один (нуль) отделяет следующее название. В большинстве случаев прийдется переделывать эту таблицу, но в некоторых (как смена 3д на 2д) можно попробывать просто сменить имя (_fgraphics3d на _fgraphics, а лишние 2 байта тоже занулить)
|
Это, разумеется, я вычислил - иначе бы не смог сделать текущий функционал. 3д на 2д менять чревато ошибками в логике программы, а обратное - в смещениях асм-кода.
Пока особо нет времени и интереса к программе (как оказалось, ресурс внутри ехе - чистый асм, а его трактовка не представялет из себя особого интереса: наилучший результата здесь даст дизасм и его разбор, а софт для этого есть и лучше чем мой; т.о. мой софт по-прежнему - простенький вьювер, заточенный под б3д).