Board.KolibriOS.org

Official KolibriOS board
It is currently Wed May 22, 2019 12:14 am

All times are UTC+03:00




Post new topic  Reply to topic  [ 27 posts ]  Go to page Previous 1 2
Author Message
 Post subject: Re: Run with OpenDialog
PostPosted: Wed Nov 09, 2016 4:52 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5047
RunOD более функционален, может пусть он будет в дистре?

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


Top
   
 Post subject: Re: Run with OpenDialog
PostPosted: Fri Nov 11, 2016 12:23 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Pathoswithin, а что это ещё за
Code:
data_:
http://websvn.kolibrios.org/filedetails ... 5#line-579
Мог бы и в example.asm посмотреть, если не знаешь
Code:
; I_END     - End of compiled image    
http://websvn.kolibrios.org/filedetails ... 4#line-142


Top
   
 Post subject: Re: Run with OpenDialog
PostPosted: Fri Nov 11, 2016 12:39 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1262
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.
А по факту не понятно, зачем этот параметр вообще нужен - он не используется.


Top
   
 Post subject: Re: Run with OpenDialog
PostPosted: Fri Nov 11, 2016 12:41 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
>> wiki
>> актуальная информация
ну-ну


Top
   
 Post subject: Re: Run with OpenDialog
PostPosted: Fri Nov 11, 2016 12:42 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Quote:
зачем этот параметр вообще нужен - он не используется
А зачем же ты тогда его изменил-то :lol:


Top
   
 Post subject: Re: Run with OpenDialog
PostPosted: Fri Nov 11, 2016 1:02 pm 
Offline

Joined: Tue Mar 08, 2016 11:00 pm
Posts: 436
Pathoswithin wrote:
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 должно указывать как минимум за концом статических данных, т.е что грузить из файла в память ?!


Top
   
 Post subject: Re: Run with OpenDialog
PostPosted: Fri Nov 11, 2016 1:09 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Siemargl wrote:
в коде OD ошибка - program.end должно указывать как минимум за концом статических данных, т.е что грузить из файла в память ?!
Ну вот оно у меня так и было. Пока кое-то не решил, что он самый "умный" :lol:


Top
   
 Post subject: Re: Run with OpenDialog
PostPosted: Fri Nov 11, 2016 1:09 pm 
Offline
Mentor/Kernel Developer
User avatar

Joined: Thu Mar 26, 2015 5:16 pm
Posts: 1262
Факт: программа работает. Посмотрел в kernel/core/taskman.inc - не используется.


Top
   
 Post subject: Re: Run with OpenDialog
PostPosted: Fri Nov 11, 2016 1:20 pm 
Offline

Joined: Tue Mar 08, 2016 11:00 pm
Posts: 436
Pathoswithin wrote:
Факт: программа работает. Посмотрел в kernel/core/taskman.inc - не используется.

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

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

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


Top
   
 Post subject: Re: Run with OpenDialog
PostPosted: Fri Nov 11, 2016 1:51 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5047
0CodErr
Программа работает и это главное.
Знаешь как сделать более правильно - правь код.

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


Last edited by Leency on Fri Nov 11, 2016 3:50 pm, edited 1 time in total.

Top
   
 Post subject: Re: Run with OpenDialog
PostPosted: Fri Nov 11, 2016 2:51 pm 
Offline
Mentor/Kernel Developer
User avatar

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


Top
   
 Post subject: Re: Run with OpenDialog
PostPosted: Fri Nov 11, 2016 3:40 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1619
Siemargl wrote:
Используется. Когда я неверно его (или м.б. соседний в заголовке) выставил - КОС отказалась запускать прогу с диагнозом "not an executable"
Не используется. Там есть проверка от diamond'а 10-летней давности
Code:
; \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 wrote:
А вообще, теоретически нужно разделять код и данные для защиты кода от несанкционированного изменения.
Ядерный PE-загрузчик честно устанавливает права доступа к памяти по атрибутам секций. Отключаемо, естественно, - fasm по умолчанию создаёт одну секцию readable+writable+executable, с которой можно делать что угодно.

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


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 27 posts ]  Go to page Previous 1 2

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited