|
Вопрос # 4 402/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Можно ли в dll хранить числовую переменную и менять ее (как ini файл с параметрами, но непосредственно в dll)? если да, то как это делается?
 |
Вопрос задал: AlexMPEI (статус: 1-ый класс)
Вопрос отправлен: 9 июля 2010, 14:00
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 23; последнее сообщение — 13 июля 2010, 17:54; участников в обсуждении: 5.
Страницы: [1] [2] [Следующая »]
|
min@y™ (статус: Доктор наук), 9 июля 2010, 14:30 [#1]:
А зачем всё это?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
AlexMPEI (статус: 1-ый класс), 9 июля 2010, 14:35 [#2]:
Мне нужно вести различные подсчеты и прятать их.
простейший пример - счетчик количества загрузок длл, невидимый для приложения.
|
|
min@y™ (статус: Доктор наук), 9 июля 2010, 14:59 [#3]:
А прятать-то зачем?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
AlexMPEI (статус: 1-ый класс), 9 июля 2010, 15:04 [#4]:
чтобы длл отработала, например, ровно 10 раз. а дальше все
|
|
Паровоз (статус: 10-ый класс), 9 июля 2010, 15:18 [#5]:
Приложения разделяют только код dll. Переменные, которые располагаются в dll будут для каждого приложения разными.
|
|
min@y™ (статус: Доктор наук), 9 июля 2010, 15:21 [#6]:
Цитата (AlexMPEI):
чтобы длл отработала, например, ровно 10 раз. а дальше все
Это можно делать также, как и в приложении. Но такая защита ломается за время выкуривания крякером одной сигареты.
Где ты собираешься хранить количество загрузок DLL?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
AlexMPEI (статус: 1-ый класс), 9 июля 2010, 15:22 [#7]:
тоесть нельзя хранить внутри длл такую переменную, которая бы, например уменьшалась на 1 при каждой загрузке длл любым приложением и была бы фактически уникальна с точки зрания системы?
|
|
AlexMPEI (статус: 1-ый класс), 9 июля 2010, 15:24 [#8]:
То min@y™:
вот я как раз и не знаю где это сделать, чтобы внешне нельзя было понять причину почему длл не работает, но длл не работала бы
|
|
min@y™ (статус: Доктор наук), 9 июля 2010, 15:31 [#9]:
Цитата (AlexMPEI):
чтобы внешне нельзя было понять причину почему длл не работает, но длл не работала бы
Бугага! Причину такого поведения DLL после 10 запусков не сможет разгадать только дядя Петя-алкаш с 7-го этажа, потому что он компьютер пропил. 
Остальные - смогут! ))
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 9 июля 2010, 15:35 [#10]:
Цитата (AlexMPEI):
тоесть нельзя хранить внутри длл такую переменную, которая бы, например уменьшалась на 1 при каждой загрузке длл любым приложением и была бы фактически уникальна с точки зрания системы?
Нет нельзя, т.к. DLL проецируется в адресное пространство хост-приложения, и после выгрузки DLL память возвращается системе.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
AlexMPEI (статус: 1-ый класс), 9 июля 2010, 15:42 [#11]:
тогда какие есть варианты? может зашифрованный файл данных вместе с длл? Содержимое прочитать и исправить не получится
|
|
min@y™ (статус: Доктор наук), 9 июля 2010, 15:51 [#12]:
Цитата (AlexMPEI):
Содержимое прочитать и исправить не получится
Зато получится сделать резервную копию!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
AlexMPEI (статус: 1-ый класс), 9 июля 2010, 15:55 [#13]:
ну тогда что можно предпринять? я думаю, много кто задавался таким вопросом и какие-то решения есть
|
|
AlexMPEI (статус: 1-ый класс), 9 июля 2010, 16:02 [#14]:
еще мне пришло в голову введение рандомайзных ошибок от фиксированной даты
|
|
min@y™ (статус: Доктор наук), 9 июля 2010, 16:39 [#15]:
Цитата (AlexMPEI):
много кто задавался таким вопросом
Я - нет, т.к. пишу программы только на заказ.
Цитата (AlexMPEI):
еще мне пришло в голову введение рандомайзных ошибок от фиксированной даты
Это чо ещё за ботва такая?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
AlexMPEI (статус: 1-ый класс), 9 июля 2010, 17:00 [#16]:
длл узнает текущую дату. если она больше определенной, запускается рандомайз. если звезды сошлись так что при этом запуске длл не судьба нормально отработать, генерируем эксепшн
|
|
min@y™ (статус: Доктор наук), 9 июля 2010, 17:07 [#17]:
Цитата (AlexMPEI):
длл узнает текущую дату. если она больше определенной...
Ога, а я дату переведу на 100500 лет назад и что тогда?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
AlexMPEI (статус: 1-ый класс), 9 июля 2010, 17:12 [#18]:
тут вопрос уже в том что отказ не постоянный, а случайный. надо еще догадаться связать его с датой. Но вообще, конечно, это полумера, которую легко обойти.
|
|
min@y™ (статус: Доктор наук), 9 июля 2010, 17:18 [#19]:
Цитата (AlexMPEI):
надо еще догадаться связать его с датой.
А что ты клиенту скажешь? Давай бабло и отказы прекратятся? Сразу будет понятно, откуда ноги растут.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Егор (статус: 10-ый класс), 9 июля 2010, 20:09 [#20]:
можно сделать связь с серваком по инету - типа, есть подтверждение - работаем. нет - посылаем.
а вообще, лучше не иметь дела с такими заказчиками, для которых приходится принимать такие меры
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
|
Страницы: [1] [2] [Следующая »]
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|