Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Изменение ячейки в *.exe файле, Счетчик запусков 
V
    Опции темы
andrew_121
Дата 4.3.2008, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



Есть задумка кинуть в программу счетчик запусков. Но хочется чтоб этот счетчик был в *.exe файле этой самой программы.
Т.е. В коде программы переменная:
Код

const int count = 0;
int main() {
   if ( count == 30 ) {
      printf( "Eval. period и т.д." );
      return -1;
   }
}

Как узнать где в файле находиться этот счетчик, и как его можно инкрементировать при каждом запуске ???

Это сообщение отредактировал(а) andrew_121 - 4.3.2008, 17:15


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
JackYF
Дата 4.3.2008, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



Цитата(andrew_121 @  4.3.2008,  14:51 Найти цитируемый пост)
Как узнать где в файле находиться этот счетчик, и как его можно инкрементировать при каждом запуске ??? 

стандартными средствами - никак. Для этого тебе нужно знать структуру PE - файла.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
andrew_121
Дата 4.3.2008, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



Но ведь переменная count - константа, и в ассемблерном коде ее значение необходимо переслать в регистр.
А для того чтоб переслать, это значение должно быть сохранено в явном виде.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
JackYF
Дата 4.3.2008, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



Цитата(andrew_121 @  4.3.2008,  16:19 Найти цитируемый пост)
это значение должно быть сохранено в явном виде. 

правильно, оно хранится в файле. Но его, это значение, нужно ещё найти smile


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
andrew_121
Дата 4.3.2008, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



Да, нужно, буду искать, с Вашей помощью или без...


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
MAKCim
Дата 4.3.2008, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата(andrew_121 @  4.3.2008,  15:51 Найти цитируемый пост)
Как узнать где в файле находиться этот счетчик, и как его можно инкрементировать при каждом запуске ???

обычно отображенный на линейное адресное пространство исполняемый файл нельзя открыть на запись
возможно, придется внедрять код, инкрементирующий значение счетчика, в другой процесс
что касается нахождения смещения в файле, по которому находятся нужные данные, то тут поможет спецификация на формат PE и ABI, которому следует ОС 
да, вот еще
в вашем случае переменная может вообще не находится в файле, а любое ее использование выраждаться в подстановку константы
и самое последнее
такой способ защиты программы - это детский сад
и палится на раз-два-три

Это сообщение отредактировал(а) MAKCim - 4.3.2008, 22:12


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
andrew_121
Дата 4.3.2008, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 6
Всего: 33



MAKCim
Огромное спасибо за дельный совет. Возможно Вы сможете мне подсказать как я могу защитить прогу, или
где можно прочесть на эту тему.


Заранее Спасибо.


Это сообщение отредактировал(а) andrew_121 - 4.3.2008, 22:20


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
MAKCim
Дата 4.3.2008, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



andrew_121, 
могу порекомендовать зайти на wasm.ru


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
vinter
Дата 4.3.2008, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 13
Всего: 56



Цитата(andrew_121 @  4.3.2008,  23:19 Найти цитируемый пост)
Огромное спасибо за дельный совет. Возможно Вы сможете мне подсказать как я могу защитить прогу, илигде можно прочесть на эту тему.

и ее все равно сломают smile сорри за флуд


--------------------
Мой блог
PM MAIL WWW   Вверх
MAKCim
Дата 4.3.2008, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата(vinter @  4.3.2008,  22:49 Найти цитируемый пост)
и ее все равно сломают smile сорри за флуд 

так и есть (в смысле, что сломают  smile )
но только в 2-ух случаях
1. интерес
2. результат взлома окупает затраты на него
с первым вариантом ничего не сделаешь
а со вторым вполне можно повозиться

Это сообщение отредактировал(а) MAKCim - 4.3.2008, 23:23


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
jonie
Дата 4.3.2008, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 15
Всего: 118



нек программы не стоят таких затрат на защиту. некоторые ломать бесполезно (в силу обновлений только зарегиным юзерам)....когда-то я писал небольшую прогу и встроил туда проверку файла (банально по таймеру, время было рандомно выбираемо)....ну и если не совпадали контр суммы, то внедрял в ОСь драйвер, который при след перезагрузке системы начинал играть с жеским диском))... веселая и жестокая защита)) ушиб мне оторвать....

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

методик защиты море... лучшая методика -  никому не давать ПО )

MAKCim уже грил - такая защита палится очень даже просто.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0557 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.