Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: SPF Сохранить образ программы |
|
|
Код: REQUIRE MARKER lib/include/core-ext.f
VARIABLE OVERLAY-ADDRESS VARIABLE OVERLAY-LENGTH VARIABLE OVERLAY-ENTRY : LOAD-OVERLAY S" overlay.bin" R/O OPEN-FILE IF ." Overlay missed" CR BYE THEN >R OVERLAY-ADDRESS @ OVERLAY-LENGTH @ TUCK R@ READ-FILE IF ." Error loading overlay" CR BYE THEN <> IF ." Overlay wrong length" CR BYE THEN R> CLOSE-FILE DROP OVERLAY-ENTRY @ >R ; HERE OVERLAY-ADDRESS ! MARKER PURGE
: MAIN ." Hello world !" CR \ Твоя программа ;
FALSE TO SPF-INIT? ' NOOP MAINX ! ' LOAD-OVERLAY TO <MAIN> HERE OVERLAY-ADDRESS @ - OVERLAY-LENGTH ! ' MAIN OVERLAY-ENTRY ! S" overlay.bin" R/W CREATE-FILE DROP DUP OVERLAY-ADDRESS @ OVERLAY-LENGTH @ ROT WRITE-FILE CLOSE-FILE DROP PURGE S" program.exe" SAVE BYE
[code]REQUIRE MARKER lib/include/core-ext.f
VARIABLE OVERLAY-ADDRESS VARIABLE OVERLAY-LENGTH VARIABLE OVERLAY-ENTRY : LOAD-OVERLAY S" overlay.bin" R/O OPEN-FILE IF ." Overlay missed" CR BYE THEN >R OVERLAY-ADDRESS @ OVERLAY-LENGTH @ TUCK R@ READ-FILE IF ." Error loading overlay" CR BYE THEN <> IF ." Overlay wrong length" CR BYE THEN R> CLOSE-FILE DROP OVERLAY-ENTRY @ >R ; HERE OVERLAY-ADDRESS ! MARKER PURGE
: MAIN ." Hello world !" CR \ Твоя программа ;
FALSE TO SPF-INIT? ' NOOP MAINX ! ' LOAD-OVERLAY TO <MAIN> HERE OVERLAY-ADDRESS @ - OVERLAY-LENGTH ! ' MAIN OVERLAY-ENTRY ! S" overlay.bin" R/W CREATE-FILE DROP DUP OVERLAY-ADDRESS @ OVERLAY-LENGTH @ ROT WRITE-FILE CLOSE-FILE DROP PURGE S" program.exe" SAVE BYE[/code]
|
|
|
|
Добавлено: Пт сен 27, 2013 17:14 |
|
|
|
|
|
Заголовок сообщения: |
Re: SPF Сохранить образ программы |
|
|
Кстати, в SMAL32 были уже подгружаемые бинарные модули...
Кстати, в SMAL32 были уже подгружаемые бинарные модули...
|
|
|
|
Добавлено: Сб сен 21, 2013 20:41 |
|
|
|
|
|
Заголовок сообщения: |
Re: SPF Сохранить образ программы |
|
|
mOleg писал(а): VoidVolker писал(а): Не в исполняемый файл, а только определенный код. ну, скажем, убираем заголовок exe-файла, а бинарник отдаем, потом только склеить заголовок и бинарник, подправив в заголовке размеры блоков? Ага, ага, что-то типа такого я и имел в виду: сначала сохранить неизменную часть программы, затем скомпилировать оставшуюся часть, сохранить её, а затем просто отрезать кусок и загружать его в первой программе.
[quote="mOleg"][quote="VoidVolker"]Не в исполняемый файл, а только определенный код.[/quote] ну, скажем, убираем заголовок exe-файла, а бинарник отдаем, потом только склеить заголовок и бинарник, подправив в заголовке размеры блоков?[/quote] Ага, ага, что-то типа такого я и имел в виду: сначала сохранить неизменную часть программы, затем скомпилировать оставшуюся часть, сохранить её, а затем просто отрезать кусок и загружать его в первой программе.
|
|
|
|
Добавлено: Сб сен 21, 2013 20:09 |
|
|
|
|
|
Заголовок сообщения: |
Re: SPF Сохранить образ программы |
|
|
VoidVolker писал(а): Не в исполняемый файл, а только определенный код. ну, скажем, убираем заголовок exe-файла, а бинарник отдаем, потом только склеить заголовок и бинарник, подправив в заголовке размеры блоков?
[quote="VoidVolker"]Не в исполняемый файл, а только определенный код.[/quote] ну, скажем, убираем заголовок exe-файла, а бинарник отдаем, потом только склеить заголовок и бинарник, подправив в заголовке размеры блоков?
|
|
|
|
Добавлено: Сб сен 21, 2013 18:32 |
|
|
|
|
|
Заголовок сообщения: |
Re: SPF Сохранить образ программы |
|
|
VoidVolker писал(а): Есть же SAVE - я просто не копал его глубоко, но он же сохраняет систему как-то? Думаю, после некоторой доработки можно сохранить часть системы. Не представляю как эту задачу решить доработкой SAVE. Могу предложить еще с помощью моего генератора ассемблерного представления и внешнего Си сделать dll или so файл. mgw писал(а): я попробовал твою виртуальную машину с Linux telnet. Что вообще в ней есть? Какие библиотеки и вообще какова концепция? Это в отдельной теме http://fforum.winglion.ru/viewtopic.php?f=22&t=2922
[quote="VoidVolker"] Есть же SAVE - я просто не копал его глубоко, но он же сохраняет систему как-то? Думаю, после некоторой доработки можно сохранить часть системы.[/quote] Не представляю как эту задачу решить доработкой SAVE. Могу предложить еще с помощью моего генератора ассемблерного представления и внешнего Си сделать dll или so файл.
[quote="mgw"]я попробовал твою виртуальную машину с Linux telnet. Что вообще в ней есть? Какие библиотеки и вообще какова концепция?[/quote] Это в отдельной теме [url]http://fforum.winglion.ru/viewtopic.php?f=22&t=2922[/url]
|
|
|
|
Добавлено: Вт сен 17, 2013 23:57 |
|
|
|
|
|
Заголовок сообщения: |
Re: SPF Сохранить образ программы |
|
|
Mihail писал(а): 1. Я бы предложил мой генератор ассемблерного представления. https://github.com/VoidVolker/spf64/blob/master/spf64/spf/_mak/djgpp/gdis.fпреобразовать в генератор форт-представления. Своего рода HEX файл - последовательность чисел подающихся на вход "C," . 2. Взять исходники ассемблера (умеющего генерить объектники) и линковщика и перевести их на форт. 3. Как предлагает KPG, завести внутри приложения виртуальную машину (можно не одну) и загружать в память этой машины специфические программы используя виртуальное адресное пространство и каналы связи с базовой программой. Омг, зачем такие сложности? Есть же SAVE - я просто не копал его глубоко, но он же сохраняет систему как-то? Думаю, после некоторой доработки можно сохранить часть системы.
[quote="Mihail"]1. Я бы предложил мой генератор ассемблерного представления. [url]https://github.com/VoidVolker/spf64/blob/master/spf64/spf/_mak/djgpp/gdis.f[/url] преобразовать в генератор форт-представления. Своего рода HEX файл - последовательность чисел подающихся на вход "C," .
2. Взять исходники ассемблера (умеющего генерить объектники) и линковщика и перевести их на форт.
3. Как предлагает KPG, завести внутри приложения виртуальную машину (можно не одну) и загружать в память этой машины специфические программы используя виртуальное адресное пространство и каналы связи с базовой программой.[/quote] Омг, зачем такие сложности? Есть же SAVE - я просто не копал его глубоко, но он же сохраняет систему как-то? Думаю, после некоторой доработки можно сохранить часть системы.
|
|
|
|
Добавлено: Вт сен 17, 2013 17:02 |
|
|
|
|
|
Заголовок сообщения: |
Re: SPF Сохранить образ программы |
|
|
Mihail - я попробовал твою виртуальную машину с Linux telnet. Что вообще в ней есть? Какие библиотеки и вообще какова концепция?
Mihail - я попробовал твою виртуальную машину с Linux telnet. Что вообще в ней есть? Какие библиотеки и вообще какова концепция?
|
|
|
|
Добавлено: Вт сен 17, 2013 16:19 |
|
|
|
|
|
Заголовок сообщения: |
Re: SPF Сохранить образ программы |
|
|
VoidVolker писал(а): к решению задачи это не приближает. 1. Я бы предложил мой генератор ассемблерного представления. https://github.com/VoidVolker/spf64/blob/master/spf64/spf/_mak/djgpp/gdis.fпреобразовать в генератор форт-представления. Своего рода HEX файл - последовательность чисел подающихся на вход "C," . 2. Взять исходники ассемблера (умеющего генерить объектники) и линковщика и перевести их на форт. 3. Как предлагает KPG, завести внутри приложения виртуальную машину (можно не одну) и загружать в память этой машины специфические программы используя виртуальное адресное пространство и каналы связи с базовой программой.
[quote="VoidVolker"]к решению задачи это не приближает.[/quote]
1. Я бы предложил мой генератор ассемблерного представления. [url]https://github.com/VoidVolker/spf64/blob/master/spf64/spf/_mak/djgpp/gdis.f[/url] преобразовать в генератор форт-представления. Своего рода HEX файл - последовательность чисел подающихся на вход "C," .
2. Взять исходники ассемблера (умеющего генерить объектники) и линковщика и перевести их на форт.
3. Как предлагает KPG, завести внутри приложения виртуальную машину (можно не одну) и загружать в память этой машины специфические программы используя виртуальное адресное пространство и каналы связи с базовой программой.
|
|
|
|
Добавлено: Вт сен 17, 2013 16:11 |
|
|
|
|
|
Заголовок сообщения: |
Re: SPF Сохранить образ программы |
|
|
VoidVolker писал(а): В общем, на эту тему можно дискутировать вечно. Но к решению задачи это не приближает. ? В рамках SPF запустить симулятор (интерпритатор) кода "уникального" процессора (на Форте, на выбор) и на этом процессоре реализованный вариант Форт системы, из под которой загружать ещё что-нибудь и "ещё" несколько таких рекурсий пока будет хватать производительности процессора для требуемого функционала:) А инициализировать, кроме требуемых переменных, можно и кучу всякой туфты не затрагивающую логику программы явно. А использовать оверлей разве не срастётся? P.S. Шабронов, например, для того чтобы иметь возможность править исходные тексты программы - "самоупаковывает" вcё что нужно, включая SPF в один исполняемый файл. А при необходимости правки исходников они "самораспаковываются".
[quote="VoidVolker"] В общем, на эту тему можно дискутировать вечно. Но к решению задачи это не приближает.[/quote] ? В рамках SPF запустить симулятор (интерпритатор) кода "уникального" процессора (на Форте, на выбор) и на этом процессоре реализованный вариант Форт системы, из под которой загружать ещё что-нибудь и "ещё" несколько таких рекурсий пока будет хватать производительности процессора для требуемого функционала:) А инициализировать, кроме требуемых переменных, можно и кучу всякой туфты не затрагивающую логику программы явно. А использовать оверлей разве не срастётся?
P.S. Шабронов, например, для того чтобы иметь возможность править исходные тексты программы - "самоупаковывает" вcё что нужно, включая SPF в один исполняемый файл. А при необходимости правки исходников они "самораспаковываются".
|
|
|
|
Добавлено: Вт сен 17, 2013 15:46 |
|
|
|
|
|
Заголовок сообщения: |
Re: SPF Сохранить образ программы |
|
|
Mihail писал(а): Это масло масленое. Я вижу 2-е причины: 1 повысить скорость загрузки. 2 скрыть информацию от конкурентов. По мне, обе причины не актуальны. 2. Актуально - при наличии исходного кода изменить приложение или взломать его не составляет никакого труда, в отличии от уже скомпилированного бинарного файла. 3. Закрытый исходный код. 4. Безопасность. 5. Простой способ изменения кода программы или её обновления без перезапуска. В общем, на эту тему можно дискутировать вечно. Но к решению задачи это не приближает.
[quote="Mihail"]Это масло масленое. Я вижу 2-е причины: 1 повысить скорость загрузки. 2 скрыть информацию от конкурентов. По мне, обе причины не актуальны.[/quote] 2. Актуально - при наличии исходного кода изменить приложение или взломать его не составляет никакого труда, в отличии от уже скомпилированного бинарного файла. 3. Закрытый исходный код. 4. Безопасность. 5. Простой способ изменения кода программы или её обновления без перезапуска. В общем, на эту тему можно дискутировать вечно. Но к решению задачи это не приближает.
|
|
|
|
Добавлено: Вт сен 17, 2013 15:14 |
|
|
|
|
|
Заголовок сообщения: |
Re: SPF Сохранить образ программы |
|
|
VoidVolker писал(а): лучше исходного кода тем, что это не исходный код Это масло масленое. Я вижу 2-е причины: 1 повысить скорость загрузки. 2 скрыть информацию от конкурентов. По мне, обе причины не актуальны. VoidVolker писал(а): И можно использовать такие образы например как плагины к программе. Встроенный линковщик не будет проще встроенной форт-системы. VoidVolker писал(а): это большая дыра в безопасности. А вот бинарный файл несколько сложнее расковырять. Если программа передана пользователю, то но в праве с ней делать все что хочет. Если предоставляется удаленный доступ к программе, то здесь вообще нельзя допускать возможности запуска нотивного кода. Я предоставляю доступ к виртуальной форт-машине telnet 93.100.60.208 8880
[quote="VoidVolker"] лучше исходного кода тем, что это не исходный код[/quote] Это масло масленое. Я вижу 2-е причины: 1 повысить скорость загрузки. 2 скрыть информацию от конкурентов. По мне, обе причины не актуальны.
[quote="VoidVolker"]И можно использовать такие образы например как плагины к программе.[/quote] Встроенный линковщик не будет проще встроенной форт-системы.
[quote="VoidVolker"]это большая дыра в безопасности. А вот бинарный файл несколько сложнее расковырять.[/quote] Если программа передана пользователю, то но в праве с ней делать все что хочет. Если предоставляется удаленный доступ к программе, то здесь вообще нельзя допускать возможности запуска нотивного кода. Я предоставляю доступ к виртуальной форт-машине telnet 93.100.60.208 8880
|
|
|
|
Добавлено: Вт сен 17, 2013 12:05 |
|
|
|
|
|
Заголовок сообщения: |
Re: SPF Собхранить образ программы |
|
|
Mihail писал(а): VoidVolker писал(а): Как сохранить образ программы для последующей его загрузки непосредственно в СПФ? Не в исполняемый файл, а только определенный код. Типа объектного файла? Принципиальных проблем нет. Только геморрой. Чем это лучше исходного кода? Да, что-то типа такого. А лучше исходного кода тем, что это не исходный код, а бинарный файл. И можно использовать такие образы например как плагины к программе. Или вот например работает программа-сервис, перезапускать нельзя, а код обновить надо - как быть? Самый простой вариант: Код: FORGET SomeMarker INCLUDE source.f Но если там будет исходник - это большая дыра в безопасности. А вот бинарный файл несколько сложнее расковырять.
[quote="Mihail"][quote="VoidVolker"]Как сохранить образ программы для последующей его загрузки непосредственно в СПФ? Не в исполняемый файл, а только определенный код. [/quote] Типа объектного файла? Принципиальных проблем нет. Только геморрой. Чем это лучше исходного кода?[/quote] Да, что-то типа такого. А лучше исходного кода тем, что это не исходный код, а бинарный файл. И можно использовать такие образы например как плагины к программе. Или вот например работает программа-сервис, перезапускать нельзя, а код обновить надо - как быть? Самый простой вариант: [code]FORGET SomeMarker INCLUDE source.f[/code] Но если там будет исходник - это большая дыра в безопасности. А вот бинарный файл несколько сложнее расковырять.
|
|
|
|
Добавлено: Вт сен 17, 2013 11:16 |
|
|
|
|
|
Заголовок сообщения: |
Re: SPF Собхранить образ программы |
|
|
VoidVolker писал(а): Как сохранить образ программы для последующей его загрузки непосредственно в СПФ? Не в исполняемый файл, а только определенный код. Типа объектного файла? Принципиальных проблем нет. Только геморрой. Чем это лучше исходного кода?
[quote="VoidVolker"]Как сохранить образ программы для последующей его загрузки непосредственно в СПФ? Не в исполняемый файл, а только определенный код. [/quote] Типа объектного файла? Принципиальных проблем нет. Только геморрой. Чем это лучше исходного кода?
|
|
|
|
Добавлено: Вт сен 17, 2013 10:53 |
|
|
|
|
|
Заголовок сообщения: |
SPF Сохранить образ программы |
|
|
Как сохранить образ программы для последующей его загрузки непосредственно в СПФ? Не в исполняемый файл, а только определенный код. Например: запускаем программу, меняем какие-то переменные и сохраняем образ - после загрузки все нужные переменные будут уже проинициализированы нужными значениями.
Как сохранить образ программы для последующей его загрузки непосредственно в СПФ? Не в исполняемый файл, а только определенный код. Например: запускаем программу, меняем какие-то переменные и сохраняем образ - после загрузки все нужные переменные будут уже проинициализированы нужными значениями.
|
|
|
|
Добавлено: Вт сен 17, 2013 08:28 |
|
|
|
|