реклама на сайте
подробности

 
 
> Библиотеки в IAR, или сокрытие реализации функций
chernenko
сообщение Dec 4 2006, 10:11
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 170
Регистрация: 8-02-06
Из: Москва
Пользователь №: 14 116



Вобщем задача простая, а как реализовать не знаю... и реализуема ли она вообще. Посоветуйте, пожалуйста.
Нужно срыть каким либо образом часть исходного кода программы, которая написана в IAR.
То есть сделать часть функций в виде какой либо библиотеки, чтобы сами функции были видны, а их реализации срыты и не доступны. Возможно ли это?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Oldring
сообщение Dec 6 2006, 16:27
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Какой размер бинарного кода этой библиотеки? Подозреваю, что все, что обычно интересно - константы, протоколы и т. д., вытащить будет тривиально. Библиотеки применяются прежде всего не для сокрытия кода, а для удобства. Если размер исполняемого кода в них до нескольких сотен килобайт, конечно.

Цитата(chernenko @ Dec 6 2006, 16:17) *
Давайте проведем эксперимент? Вот простая библиотека... Вариант черновой не без ошибок но работает [attachment=8607:attachment] её расширение изменил на .txt что бы закачать. Изначально оно было .r90 попробуйте мне показать её содержимое... Просто интересно насколько это просто.


Вы забыли предоставить еще и описание интерфейса этой библиотеки. biggrin.gif
Или это тоже тщательно скрываемая от заказчика информация? laugh.gif

А вытаскивается любая функция из любой библиотеки тривиально. Даже если нет командно-строчного библиотекаря с соответствующей командой. Пишется тестовая программа, состоящая из последовательности вызовов нужных функций. Компилируется с этой библиотекой. Потом программа открывается в симуляторе и проходится по шагам.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
chernenko
сообщение Dec 6 2006, 16:34
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 170
Регистрация: 8-02-06
Из: Москва
Пользователь №: 14 116



Цитата(Oldring @ Dec 6 2006, 16:27) *
Какой размер бинарного кода этой библиотеки? Подозреваю, что все, что обычно интересно - константы, протоколы и т. д., вытащить будет тривиально. Библиотеки применяются прежде всего не для сокрытия кода, а для удобства. Если размер исполняемого кода в них до нескольких сотен килобайт, конечно.

Цитата(chernenko @ Dec 6 2006, 16:17) *

Давайте проведем эксперимент? Вот простая библиотека... Вариант черновой не без ошибок но работает [attachment=8607:attachment] её расширение изменил на .txt что бы закачать. Изначально оно было .r90 попробуйте мне показать её содержимое... Просто интересно насколько это просто.


Вы забыли предоставить еще и описание интерфейса этой библиотеки. biggrin.gif
Или это тоже тщательно скрываемая от заказчика информация? laugh.gif


Я прекрасно понимаю что для удобства! smile.gif Просто другого выхода нет biggrin.gif по-крайней мере известного для меня... А я в этом деле всего 1.5 года biggrin.gif До этого не знал AVR и вообще не занимался этим. А IAR в руки только летом взял. Пробелов много так что не будте строги)

Работа с библиотекой:


//---------------------------------------------------------------------------------------------
int main(void)
{
init();
}

//---------------------------------------------------------------------------------------------
#pragma vector = TIMER2_COMP_vect
__interrupt void Intr_TIMER2_COMP(void)
{
GetDataAndTransmit(0x97,0xA7);
}

//---------------------------------------------------------------------------------------------
#pragma vector = USART0_RXC_vect
__interrupt void Intr_UART0_RX(void)
{
ReciveCommandAnalise();
}
Go to the top of the page
 
+Quote Post
Oldring
сообщение Dec 6 2006, 17:01
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(chernenko @ Dec 6 2006, 16:34) *
Работа с библиотекой:


ОК, а теперь, пожалуйста, сами скомпилируйте этот код и запустите под симулятором. Все и увидите. Конечно, на ассемблере biggrin.gif


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
chernenko
сообщение Dec 6 2006, 18:28
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 170
Регистрация: 8-02-06
Из: Москва
Пользователь №: 14 116



Цитата(Oldring @ Dec 6 2006, 17:01) *
Цитата(chernenko @ Dec 6 2006, 16:34) *

Работа с библиотекой:


ОК, а теперь, пожалуйста, сами скомпилируйте этот код и запустите под симулятором. Все и увидите. Конечно, на ассемблере biggrin.gif


Это предполагалось, но это не критично. Это "убивает двух зайцев", номинально выполнятется требование о передачи исходных кодов. И при этом получает симбиоз программы на IAR (которой у заказчика нет) и ассемблера (в котором разбираться он не захочет).... Так что цель практически полностью достигнута.
Go to the top of the page
 
+Quote Post
Oldring
сообщение Dec 6 2006, 20:19
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(chernenko @ Dec 6 2006, 18:28) *
Это предполагалось, но это не критично. Это "убивает двух зайцев", номинально выполнятется требование о передачи исходных кодов. И при этом получает симбиоз программы на IAR (которой у заказчика нет) и ассемблера (в котором разбираться он не захочет).... Так что цель практически полностью достигнута.


IMHO не выполняется. Библиотека - это уже не исходные коды.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 21:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01473 секунд с 7
ELECTRONIX ©2004-2016