Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2012, 22:03   #11
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Асемблер можно и с памяти снять, да и куча дебагеров к процесу могут цеплятся.
eval вне форума Ответить с цитированием
Старый 24.10.2012, 22:04   #12
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
И с какой целью обычно часть кода убирают в dll файлы ?
Цель находится в самой абривиатуре - dll.
eval вне форума Ответить с цитированием
Старый 24.10.2012, 22:08   #13
-Jack-
Форумчанин
 
Регистрация: 19.04.2009
Сообщений: 368
По умолчанию

Будем действовать по методу меньшего сопротивления, проще разобраться с декомпиляторами чем с отладчиками ...

Вопрос по поводу DLL остается пока открытым ...
-Jack- вне форума Ответить с цитированием
Старый 24.10.2012, 22:58   #14
-Jack-
Форумчанин
 
Регистрация: 19.04.2009
Сообщений: 368
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
Цель находится в самой абривиатуре - dll.
Dll - динамически подключаемая библиотека. Как я понимаю, используется в основном для того, чтобы 1 и тот же код использовать несколькими приложениями ...

Особо аббревиатура ответа на мой вопрос не даёт
-Jack- вне форума Ответить с цитированием
Старый 24.10.2012, 23:09   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
В основном - работа с файлами ( txt, ini, png, jpg), запись, чтение, загрузка данных на сервер, с сервера
Не вижу смысла выносить в отдельную ДЛЛ.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.10.2012, 23:27   #16
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
Особо аббревиатура ответа на мой вопрос не даёт
В вашей программе есть код, который может использоваться в других?
тогда что еще не понятно?
Еще выносят тот код, который не всегда используется, например раз в пятилетку, так вот чтобы в основном программа не особо давила на память, можно вынести и т.д.
У вас есть такое? тогда какие вопросы
А еще всеразличные плагины, активиксы и т.п. штуки.
eval вне форума Ответить с цитированием
Старый 25.10.2012, 10:03   #17
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
И так возвращаемся к моей теме обратно, есть ли смысл разбивать экзешник на dll'ки вообще? И с какой целью обычно часть кода убирают в dll файлы ?
Целью является убирание не часто используемого кода. Для меня это удобство + эту DLL я могу таскать за собой в любых проектах. Тот же программный апдейтер тоже в DLL запихал, и теперь так же таскаю во всех проектах т. .к он легко подключаемый.

Если уж DLL то на заметку:
GUI ввиде exe - всего-лишь оболочка для кода(кнопки, и т.д.).
Самому коду GUI не нужен. Напишите все в виде классов, интерфейсов. Запихайте в DLL и экспортируйте из DLL. Интерфейсы в этом плане предпочтительнее использовать.

DLL этот тот же exe, только:
1. В отличии от exe есть EXPORT секция(В exe она тоже есть и можно эксопртировать как из DLL, однако любые упаковщики режут эту секцию)
2. В отличии от exe, dll не имеет точки старта. Её нельзя запустить так же как и exe. Хотя надо будет по-шаманить с PE Header'ом...


То что упаковщики, протекторы защищают - бред.
Они защищают только от недостатка знаний и смекалки, чтобы их обойти.
Упаковщик? Легко! Нашел точку входа, там код распаковки - выполнил его. Получил распакованный код, вытащил его. Далее не сложное дело обрамить его в PE формат, и вот у нас распакованная версия.

Далее юзание упаковщиков очень проблематично. Программа распаковывается в памяти и там же запускается. А это плохо.
Человек_Борща вне форума Ответить с цитированием
Старый 25.10.2012, 19:59   #18
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Неплохие протекторы VMProtect, Enigma Protector, Themida. Сильно усложняющие проникновение.
Alter вне форума Ответить с цитированием
Старый 25.10.2012, 20:21   #19
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Цитата:
Есть ли смысл часть кода переносить в dll ?
Здесь вопрос с медалью с обоих сторон. С одной стороны можно и не записывать все функции в Dll(потому что пямяти очень много), а с другой можно. Создадите Dll со всеми функциями и модулями.

Я могу ещё только сказать, что можете сказать что хотябы представляет программа? Сколько модулей в Uses? Какие dll используются?
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.

Последний раз редактировалось Stilet; 25.10.2012 в 22:50.
саша40 вне форума Ответить с цитированием
Старый 25.10.2012, 22:43   #20
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Alter, на 1-й и 3-й, у антивирусов дичайшая аллергия.

Но все равно:
Цитата:
Они защищают только от недостатка знаний и смекалки, чтобы их обойти.
ТС, выносите в DLL код, который не обязательно держать в exe(функции на раз на два), или же классы в виде интерфейсов.
Суммарный объем кода не изменится...

DLL нужно тогда, когда 1-м и тем же кодом пользуются 2 разных exe, оба - компоненты одной программы.
Пример:
Программа FireDaemon состоит из:
1. Core.dll - основной код и все все все....
2. FireDaemonUI.exe - GUI оболочка
3. FireDaemon.exe - консольный вариант программы

Смысл в том, что обе программы обеспечивают одинаковую функциональность одновременно. Но разную доступность к функциям.
Исправляя баг в осн. коде(а он в dll) баг исчезает из обеих вариантов одной и той же программы.
При внесении изменений, в оба варианта программы опять же вносится минимум изменений.

Вот в чем + DLL.

Последний раз редактировалось Человек_Борща; 25.10.2012 в 22:49.
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# & DLL: как указать, что загружать DLL нужно из ЗАДАННОЙ папки "D:\My\Path\a.dll" ? AntyDES C# (си шарп) 11 10.10.2012 20:00
DLL в Delphi RuVarez Общие вопросы Delphi 20 25.08.2010 17:09
dll в delphi xmaksimca БД в Delphi 6 06.05.2010 10:28
DLL в DELPHI Шульц Общие вопросы Delphi 6 11.01.2009 08:28
Создать DLL на C# и вызвать её в Delphi (Delphi) RIO Общие вопросы Delphi 2 25.03.2008 15:33