Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Сб ноя 18, 2017 8:46 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 27 сообщений ]  На страницу Пред. 1 2
Автор Сообщение
 Заголовок сообщения: Re: Run with OpenDialog
СообщениеДобавлено: Ср ноя 09, 2016 4:52 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4226
RunOD более функционален, может пусть он будет в дистре?

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Run with OpenDialog
СообщениеДобавлено: Пт ноя 11, 2016 12:23 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1080
Pathoswithin, а что это ещё за
Код:
data_:
http://websvn.kolibrios.org/filedetails ... 5#line-579
Мог бы и в example.asm посмотреть, если не знаешь
Код:
; I_END     - End of compiled image    
http://websvn.kolibrios.org/filedetails ... 4#line-142


Вернуться к началу
 Заголовок сообщения: Re: Run with OpenDialog
СообщениеДобавлено: Пт ноя 11, 2016 12:39 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1194
http://wiki.kolibrios.org/wiki/Writing_ ... The_header
This is the total size of the program code in bytes, its easy to use a label which you place at the end of the code.
А по факту не понятно, зачем этот параметр вообще нужен - он не используется.


Вернуться к началу
 Заголовок сообщения: Re: Run with OpenDialog
СообщениеДобавлено: Пт ноя 11, 2016 12:41 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1080
>> wiki
>> актуальная информация
ну-ну


Вернуться к началу
 Заголовок сообщения: Re: Run with OpenDialog
СообщениеДобавлено: Пт ноя 11, 2016 12:42 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1080
Цитата:
зачем этот параметр вообще нужен - он не используется
А зачем же ты тогда его изменил-то :lol:


Вернуться к началу
 Заголовок сообщения: Re: Run with OpenDialog
СообщениеДобавлено: Пт ноя 11, 2016 1:02 pm 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 269
Pathoswithin писал(а):
http://wiki.kolibrios.org/wiki/Writing_applications_for_KolibriOS#The_header
This is the total size of the program code in bytes, its easy to use a label which you place at the end of the code.
А по факту не понятно, зачем этот параметр вообще нужен - он не используется.

Используется. Когда я неверно его (или м.б. соседний в заголовке) выставил - КОС отказалась запускать прогу с диагнозом "not an executable"

А вообще, теоретически нужно разделять код и данные для защиты кода от несанкционированного изменения.

Если я правильно подозреваю, в коде OD ошибка - program.end должно указывать как минимум за концом статических данных, т.е что грузить из файла в память ?!


Вернуться к началу
 Заголовок сообщения: Re: Run with OpenDialog
СообщениеДобавлено: Пт ноя 11, 2016 1:09 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1080
Siemargl писал(а):
в коде OD ошибка - program.end должно указывать как минимум за концом статических данных, т.е что грузить из файла в память ?!
Ну вот оно у меня так и было. Пока кое-то не решил, что он самый "умный" :lol:


Вернуться к началу
 Заголовок сообщения: Re: Run with OpenDialog
СообщениеДобавлено: Пт ноя 11, 2016 1:09 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1194
Факт: программа работает. Посмотрел в kernel/core/taskman.inc - не используется.


Вернуться к началу
 Заголовок сообщения: Re: Run with OpenDialog
СообщениеДобавлено: Пт ноя 11, 2016 1:20 pm 
Не в сети

Зарегистрирован: Вт мар 08, 2016 11:00 pm
Сообщения: 269
Pathoswithin писал(а):
Факт: программа работает. Посмотрел в kernel/core/taskman.inc - не используется.

Ну работать она может и по ошибке)

Если смотрел загрузчик, можешь пояснить, почему 1 и не 2. Т.е как именно проверяется заголовок и что грузится в память.
Мне это нужно на предмет в перспективе подлинкованных к программам ресурсов.
1>Когда я неверно его (или м.б. соседний в заголовке) выставил - КОС отказалась запускать прогу с диагнозом "not an executable"

2>Если я правильно подозреваю, в коде OD ошибка - program.end должно указывать как минимум за концом статических данных, т.е что грузить из файла в память ?!


Вернуться к началу
 Заголовок сообщения: Re: Run with OpenDialog
СообщениеДобавлено: Пт ноя 11, 2016 1:51 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4226
0CodErr
Программа работает и это главное.
Знаешь как сделать более правильно - правь код.

_________________
Через тернии к звездам


Последний раз редактировалось Leency Пт ноя 11, 2016 3:50 pm, всего редактировалось 1 раз.

Вернуться к началу
 Заголовок сообщения: Re: Run with OpenDialog
СообщениеДобавлено: Пт ноя 11, 2016 2:51 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1194
Siemargl
Сейчас вместо этого параметра просто размер самого файла, потому я и не понял его значения. А вот если следующий параметр (количество памяти) будет меньше размера файла, тогда ошибка.


Вернуться к началу
 Заголовок сообщения: Re: Run with OpenDialog
СообщениеДобавлено: Пт ноя 11, 2016 3:40 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1600
Siemargl писал(а):
Используется. Когда я неверно его (или м.б. соседний в заголовке) выставил - КОС отказалась запускать прогу с диагнозом "not an executable"
Не используется. Там есть проверка от diamond'а 10-летней давности
Код:
; \begin{diamond}[20.08.2006]
; sanity check (functions 19,58 load app_i_end bytes and that must
; fit in allocated memory to prevent kernel faults)
        cmp     edx, [APP_HEADER_01.i_end]
        jb      .fail
; \end{diamond}[20.08.2006]

- в edx в этот момент равен mem_size - но это всё. Видимо, все остальные использования отмерли вместе с функциями 19 и 58.

Siemargl писал(а):
А вообще, теоретически нужно разделять код и данные для защиты кода от несанкционированного изменения.
Ядерный PE-загрузчик честно устанавливает права доступа к памяти по атрибутам секций. Отключаемо, естественно, - fasm по умолчанию создаёт одну секцию readable+writable+executable, с которой можно делать что угодно.

_________________
Сделаем мир лучше!


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 27 сообщений ]  На страницу Пред. 1 2

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB