Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 402

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
Можно ли в dll хранить числовую переменную и менять ее (как ini файл с параметрами, но непосредственно в dll)? если да, то как это делается?

AlexMPEI Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: AlexMPEI (статус: 1-ый класс)
Вопрос отправлен: 9 июля 2010, 14:00
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 23; последнее сообщение — 13 июля 2010, 17:54; участников в обсуждении: 5.

Страницы: [1] [2] [Следующая »]

min@y™

min@y™ (статус: Доктор наук), 9 июля 2010, 14:30 [#1]:

А зачем всё это?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
AlexMPEI

AlexMPEI (статус: 1-ый класс), 9 июля 2010, 14:35 [#2]:

Мне нужно вести различные подсчеты и прятать их.
простейший пример - счетчик количества загрузок длл, невидимый для приложения.
min@y™

min@y™ (статус: Доктор наук), 9 июля 2010, 14:59 [#3]:

А прятать-то зачем?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
AlexMPEI

AlexMPEI (статус: 1-ый класс), 9 июля 2010, 15:04 [#4]:

чтобы длл отработала, например, ровно 10 раз. а дальше все
Паровоз

Паровоз (статус: 10-ый класс), 9 июля 2010, 15:18 [#5]:

Приложения разделяют только код dll. Переменные, которые располагаются в dll будут для каждого приложения разными.
min@y™

min@y™ (статус: Доктор наук), 9 июля 2010, 15:21 [#6]:

Цитата (AlexMPEI):

чтобы длл отработала, например, ровно 10 раз. а дальше все

Это можно делать также, как и в приложении. Но такая защита ломается за время выкуривания крякером одной сигареты.
Где ты собираешься хранить количество загрузок DLL?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
AlexMPEI

AlexMPEI (статус: 1-ый класс), 9 июля 2010, 15:22 [#7]:

тоесть нельзя хранить внутри длл такую переменную, которая бы, например уменьшалась на 1 при каждой загрузке длл любым приложением и была бы фактически уникальна с точки зрания системы?
AlexMPEI

AlexMPEI (статус: 1-ый класс), 9 июля 2010, 15:24 [#8]:

То min@y™:
вот я как раз и не знаю где это сделать, чтобы внешне нельзя было понять причину почему длл не работает, но длл не работала бы :)
min@y™

min@y™ (статус: Доктор наук), 9 июля 2010, 15:31 [#9]:

Цитата (AlexMPEI):

чтобы внешне нельзя было понять причину почему длл не работает, но длл не работала бы

Бугага! Причину такого поведения DLL после 10 запусков не сможет разгадать только дядя Петя-алкаш с 7-го этажа, потому что он компьютер пропил. :)
Остальные - смогут! :)))
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
min@y™

min@y™ (статус: Доктор наук), 9 июля 2010, 15:35 [#10]:

Цитата (AlexMPEI):

тоесть нельзя хранить внутри длл такую переменную, которая бы, например уменьшалась на 1 при каждой загрузке длл любым приложением и была бы фактически уникальна с точки зрания системы?

Нет нельзя, т.к. DLL проецируется в адресное пространство хост-приложения, и после выгрузки DLL память возвращается системе.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
AlexMPEI

AlexMPEI (статус: 1-ый класс), 9 июля 2010, 15:42 [#11]:

тогда какие есть варианты? может зашифрованный файл данных вместе с длл? Содержимое прочитать и исправить не получится
min@y™

min@y™ (статус: Доктор наук), 9 июля 2010, 15:51 [#12]:

Цитата (AlexMPEI):

Содержимое прочитать и исправить не получится

Зато получится сделать резервную копию! :)
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
AlexMPEI

AlexMPEI (статус: 1-ый класс), 9 июля 2010, 15:55 [#13]:

ну тогда что можно предпринять? я думаю, много кто задавался таким вопросом и какие-то решения есть
AlexMPEI

AlexMPEI (статус: 1-ый класс), 9 июля 2010, 16:02 [#14]:

еще мне пришло в голову введение рандомайзных ошибок от фиксированной даты
min@y™

min@y™ (статус: Доктор наук), 9 июля 2010, 16:39 [#15]:

Цитата (AlexMPEI):

много кто задавался таким вопросом

Я - нет, т.к. пишу программы только на заказ.

Цитата (AlexMPEI):

еще мне пришло в голову введение рандомайзных ошибок от фиксированной даты

Это чо ещё за ботва такая?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
AlexMPEI

AlexMPEI (статус: 1-ый класс), 9 июля 2010, 17:00 [#16]:

длл узнает текущую дату. если она больше определенной, запускается рандомайз. если звезды сошлись так что при этом запуске длл не судьба нормально отработать, генерируем эксепшн
min@y™

min@y™ (статус: Доктор наук), 9 июля 2010, 17:07 [#17]:

Цитата (AlexMPEI):

длл узнает текущую дату. если она больше определенной...

Ога, а я дату переведу на 100500 лет назад и что тогда?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
AlexMPEI

AlexMPEI (статус: 1-ый класс), 9 июля 2010, 17:12 [#18]:

тут вопрос уже в том что отказ не постоянный, а случайный. надо еще догадаться связать его с датой. Но вообще, конечно, это полумера, которую легко обойти.
min@y™

min@y™ (статус: Доктор наук), 9 июля 2010, 17:18 [#19]:

Цитата (AlexMPEI):

надо еще догадаться связать его с датой.

А что ты клиенту скажешь? Давай бабло и отказы прекратятся? Сразу будет понятно, откуда ноги растут.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Егор

Егор (статус: 10-ый класс), 9 июля 2010, 20:09 [#20]:

можно сделать связь с серваком по инету - типа, есть подтверждение - работаем. нет - посылаем.
а вообще, лучше не иметь дела с такими заказчиками, для которых приходится принимать такие меры
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.

Страницы: [1] [2] [Следующая »]

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 12:00
Выполнено за 0.02 сек.