Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Адреса функций в памяти


Страницы:   1 2 3 4 5

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]

А поподробнее, что можно почитать на ту тему?


Страницы:   1 2 3 4 5

Наверх

Титульная страница Поиск, карта сайта Написать письмо