Решил продолжить эту тему http://forum.hiasm.com/topic/66334/1 здесь.
Стал пробовать склеивать всё и вся, и оказалось, что без Lua всё прекрасно получается.
Вот что получилось на тему PE, COFF, OMF и OBJ файлов.
dll2pas - линковка dll к программе(компонентам) в виде delphi кода.
exe2dll - преобразование сторонней программы в dll.
exe2pas - преобразование сторонней программы в delphi код и запуск его из своего приложения.
exe2exe - сложение двух исполняемых файлов в один и использование функций второго из приложения сделанного в hiasm(первый файл), или наоборот.
Преобразование, добавление Base Relocation table(+ пересчёт адресов), IMPORTS TABLE и EXPORTS TABLE.
COFF2OMF - преобразование для использования в delphi.
И по мелочи... Буду выкладывать по мере приведения к читабельному виду.
-------------------------------------------------------------------------------------------------------------------------------
http://forum.hiasm.com/getfile/38049
dll2pas - создаёт два файла pointers.txt и *.pas(вместо * имя dll).
В левую часть окна нужно поместить описания функций dll "function BASS_GetVolume: FLOAT; stdcall; external bassdll",
в правой получаем преобразованные строки, которые надо поместить перед IMPLEMENTATION.
"BASS_GetVolume: function: FLOAT; stdcall; "
Если реализована динамическая загрузка, то этот файл не нужен.
В *.pas сам код.
Для каждого компонента всё индивидуально, например SqLite3Api.pas для sqlite3.dll и UnRAR.pas для UnRAR.dll ,
поэтому в одном случае полученный файл можно прописать в поле uses Windows,Kol,Share,Debug,UnRARnew;, а в другом
надо скопировать часть после IMPLEMENTATION и поместит в конец кода с программой.
Смотрите пример в архиве. Bass_old.pas - исходный код компонента, Bass.pas - должен получится после манипуляций.
Не забывайте прописывать в своём коде DLLLoader - uses kol,Share,DLLLoader;
-------------------------------------------------------------------------------------------------------------------------------
Доработал компонент PEAnalysis, так чтобы можно использовать его функции из IC и добавил функции и точки.
Этот компонент потребуется в следующих схемах. http://forum.hiasm.com/getfile/38048
Ответов: 2059
Рейтинг: 132
|
|||
карма: 6 |
| ||
Голосовали: | Nickname, Tad, halt, Konst |
Редактировалось 2 раз(а), последний 2017-03-09 02:25:13