2009-08-13 1 views
1

В настоящее время, когда я создаю общую библиотеку, функции из одних и тех же объектных файлов, как и для совместной работы. Есть ли хорошее решение (которое не включает разделение исходных файлов), чтобы попытаться разложить расположение функций? В настоящее время мы используем кросс-скомпилированную версию gcc и gnu версии 4.2.1.Функция рандомизации и т. Д. Местоположения для общих библиотек

+0

Почему вы хотите это сделать? – Nate

+0

Как ужасно, как это звучит, безопасность. Проблемы с лицензированием и т. Д. Я бы предпочел не указывать злоумышленнику, что функции A, B и C, которые находятся рядом друг с другом, связаны друг с другом. Я знаю, это страшная причина, и это не будет делать много, но даже немного поможет. – vol

ответ

0

Хотя вы можете делать то, что хотите, используя сценарий компоновщика GNU-ld (если вы на платформе, для которой работает GNU ld), вы не можете сделать это портативно.

Кроме того, это полностью потраченное впустую усилие: любой хакер, достойный их соли, не заботится о перемещении функций вокруг. Если вы действительно хотите сделать это er, чтобы перепроектировать ваш код (или просто обойти вашу лицензионную схему), вы должны использовать гораздо более сильные методы, описанные, например. here.

Arguably, это все еще полностью потрачено впустую.

+0

Спасибо. Я понимаю аргументы, что борьба с взломщиками - это проигрышная битва. Тем не менее, некоторые из толчков для этого - управляемый, а не управляемый разработчиком. – vol

Смежные вопросы