Решил продолжить эту тему 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
Редактировалось 2 раз(а), последний 2017-03-09 02:25:13
Этот топик читают: Гость
Ответов: 2059
Рейтинг: 132
|
|||
карма: 6 |
| ||
Голосовали: | Nickname, Tad, halt, Konst |
Ответов: 16884
Рейтинг: 1239
|
|||
flint2_3.jpg |
|||
карма: 25 |
|
Ответов: 2059
Рейтинг: 132
|
|||
Tad, я не могу ничего сказать по этому поводу.
Я снёс антивирус более чем полгода назад. P.S. Скоро выложу схемку exe2dll, так вроде бы антивирус на него(уже exe) не ругался, когда у меня стоял Symantec. Это так, на всякий случай. |
|||
карма: 6 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
flint2 писал(а): я не могу ничего сказать по этому поводу. Просто, после запуска твоего Project49, AVAST долго его проверял, потом сказал, что это очень своеобразный файл и попросил разрешения на его проверку в лаборатории. Я разрешил и через пару часов получил сообщение, что файл ЧИСТ. |
|||
карма: 25 |
|
4