![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Адреса функций в памяти
FearG0 © (2007-09-27 04:53:00)Интересует вот какой момент:
Допустим есть процедура:
procedure TForm1.Button1Click(Sender: TObject);
begin
SubProc1;
beep;
ShowMessage('Период использования программы истёк!');
SubProc2;
end;
Если я возьму адреса @SubProc1 и @SubProc2 то в памяти между ними будет находится код
beep;
ShowMessage('Период использования программы истёк!');
?
FearG0 (2007-09-27 16:39:00) [61]К сожалению, и от того и от другого.
Но важнее первое. Если в сети или на каких-то узкоспециальных форумах появится кейген или патч на прогу, мало того что я потеряю свои честно заработанные, так еще и куча ламеров с этой прогой много нехороших вещей натворят.
Сергей М. (2007-09-27 16:39:00) [62]
> не скажем
н ускажем
Сергей М. (2007-09-27 16:38:00) [63]
> > хитрозадых манипуляций с кодом в режиме ядра
>
> По моему это уже очень сложно реализуемо начиная с ВинХП
Погугли-ка, не скажем, по теме "Themida"..
Сергей М. (2007-09-27 16:35:00) [64]
> защита должна быть
Защита от ЧЕГО ?
От несанкционированного использования программы в целом ?
От несанкционированного использования твоих собственных оригинальных алгоритмов, реализованных в коде программы?
FearG0 (2007-09-27 16:27:00) [65]
> аппаратными ключами
Не подходит так как гемор для покупателей. Тогда они купят продукты конкурентов.
> хитрозадых манипуляций с кодом в режиме ядра
По моему это уже очень сложно реализуемо начиная с ВинХП
FearG0 (2007-09-27 16:22:00) [66]
> Анекдот про неуловимого Джо тебе напомнить ?)
Нет не надо.
Смысл не в том что программу взломают, а смысл в том что защита должнабыть. И желательно посложнее.
Все мои идеи далеко не новы. Да они обходятся, но блин не выпускать же программу с надежой на donate? Тем более я уже это проходил.
Давайте вместе придумаем что-нибудь оригинальное, что было бы не слишком геморное для нас кодеров и наоборот для крякеров.
В конце концов я выпускаю программу под определенную аудиторию, это не фотошоп и не виндовс, который ринутся ломать пол планеты.
Итак. Идеи есть?
Сергей М. (2007-09-27 16:19:00) [67]
> 4. еще что-нить придумаю
>
С этого пункта и начни.
Если твоя программа чего-то действительно стоит, обратить к профессионалам по защите и не изобретай детские велосипеды.
Профессионалы защищают программы аппаратными ключами или с помощью хитрозадых манипуляций с кодом в режиме ядра.
Сергей М. (2007-09-27 16:16:00) [68]
> 1. При наличие дебаггеров просо вываливаться программе
Ни один сколь-либо серьезный взломщик не позволит твоей программе обнаружить, что она исполняется под отладчиком)
> 2. После получения кода с сервера
.. взломщик уже его знает, поэтому дальнейшие твои потуги со всякими потоками и прочей лабудой попросту смешны
> 3. Внутри кода несколько блоков которые будут проверять
> целостность программы, путем подсчета CRC и в случае ее
> патча вываливаться
Уповать на эти "блоки" такое же заблуждение, как и затея с "бедой"
> не сомневаюсь что любую программу можно сломать
И правильно не сомневаешься)
> Главное сделать так чтобы большинству крякеров стало делать
> это очень впадлу
Анекдот про неуловимого Джо тебе напомнить ?)
Anatoly Podgoretsky (2007-09-27 16:15:00) [69]> FearG0 (27.09.2007 16:10:15) [15]
Сомневаюсь, что твое чудо сможет работать, особенно на Висте
homm (2007-09-27 16:14:00) [70]> [13] Сергей М. © (27.09.07 16:06)
> Что стоит взломщику оттрассировать всю эту беду?
Ровно одну стоимость программы :)
FearG0 (2007-09-27 16:12:00) [71]5. Следить за обращениями к моему серверу и если их нет опять же вываливаться
FearG0 (2007-09-27 16:10:00) [72]1. При наличие дебаггеров просо вываливаться программе
2. После получения кода с сервера запускать поток, который если прога уж очень долго выполняет этот критичный код будет ее вырубать
3. Внутри кода несколько блоков которые будут проверять целостность программы, путем подсчета CRC и в случае ее патча вываливаться
4. еще что-нить придумаю
Я не сомневаюсь что любую программу можно сломать. Главное сделать так чтобы большинству крякеров стало делать это очень впадлу.
Сергей М. (2007-09-27 16:08:00) [73]
> homm © (27.09.07 16:01) [12]
> можно вырубить намерть любую возможность кряка незаристрированному
> на сервере юзеру
Да взломщику нахрен не нужно быть зарегистрированным юзером этого хитрозадого сервера - он просто оттассирует всю эту "беду", выяснит оригинальный код, вернет его на место в exe и выкинет "беду", чтобы отныне ей не пахло)
Сергей М. (2007-09-27 16:06:00) [74]
> программа будет обращаться на сервер, передавать информацию
> о ключе активации программы и о железе, на сервере сервис
> будет смотреть на сколько это достоверно, и если все ок
> отправлять код процедуры в зашифрованном виде программе.
> Программа расшифрует, перепрошьет свою память и выполнит
> некогда затертый участок
Что стоит взломщику оттрассировать всю эту беду и выяснить оригинальный (т.е. "вырезанный" тобой) код ?
Т.е. процедуру "расчетов" ты защитил, а процедуру "защиты процедуры "расчетов" защитит Аллах ?
homm (2007-09-27 16:01:00) [75]> [10] Сергей М. © (27.09.07 15:54)
> От чего ?
От фашистов :)
> И тем самым ты надеешься ввести потенциального взломщика
> в заблуждение ?
Тем самым, кстати, можно вырубить намерть любую возможность кряка незаристрированному на сервере юзеру. Так что идея не столь плоха.
FearG0 (2007-09-27 15:59:00) [76]Защита от взлома.
Дело не в том чтобы ввести в заблуждение.
У меня есть пару процедур которые производят расчеты, без которых смысл программы теряется.
Скомпилированный код я вытащу и сохраню, а в программе затру.
Далее при прохождении кода, программа будет обращаться на сервер, передавать информацию о ключе активации программы и о железе, на сервере сервис будет смотреть на сколько это достоверно, и если все ок отправлять код процедуры в зашифрованном виде программе. Программа расшифрует, перепрошьет свою память и выполнит некогда затертый участок.
Сергей М. (2007-09-27 15:54:00) [77]
> FearG0 © (27.09.07 15:49) [9]
> Цель-защита программы
От чего ?
> в самой программе перед их выполнением обращаться на сервер,
> забирать оттуда код
И тем самым ты надеешься ввести потенциального взломщика в заблуждение ?
Наивный)
FearG0 (2007-09-27 15:49:00) [78]Цель-защита программы.
В программе есть несколько критичных процедур, которые не хочется держать в exe шнике. Идея: затереть эти процедуры внешним воздействием прямо в exe. А в самой программе перед их выполнением обращаться на сервер, забирать оттуда код, перепрашивать процедуру в памяти и выполнять. После выполнения память опять затирать.
Сергей М. (2007-09-27 15:46:00) [79]
> FearG0 © (27.09.07 15:44) [7]
Ты б хоть обозначил конечную цель всей этой твоей затеи ..
FearG0 (2007-09-27 15:44:00) [80]А поподробнее, что можно почитать на ту тему?