Борьба с кряками. Защита памяти приложения.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Борьба с кряками. Защита памяти приложения.

Сообщение $Yastrebov$ » 11.06.2008 (Ср) 23:08

Уважаемые форумчани. Разъясните, пожалуйста, как запретить другому приложению внедряться в ПАМЯТЬ моего приложения и читать\изменять ее? Возможно средства VB позволяют ее шифровать. Это было бы шикарно. Как вообще работают подобные кряки и какие есть способы борьбы с ними?

Просьба, по возможности, вникнуть в суть проблемы и отнестись с лояльностью к постановки самого вопроса!!! Спасибо.
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 12.06.2008 (Чт) 0:00

Разъясните, пожалуйста, как запретить другому приложению внедряться в ПАМЯТЬ моего приложения и читать\изменять ее?

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

Возможно средства VB позволяют ее шифровать.

Кого шифровать? Память? Если да, то это глупость. Память это не что-то такое, что можно было бы шифровать. Память это сликшом абстрактная вещь, чтобы говорить о её шифровании в целом. Какую-то область в памяти можно зашифровать, да. Но ведь можно будет и расшировать? А если так, то её расширфуют и смысл шифрования пропадёт.

Как вообще работают подобные кряки и какие есть способы борьбы с ними?

Какие подобные? Кряки вообще все работают по разному. Только суть одна и та же.
Способов борьбы с кряками нет. Технических; отстрел крякописателей не считается. Есть только способы усложнить процесс написания кряков, сужая тем самым круг тех крякописателей, которым подсилу будет написать кряк.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Сообщение $Yastrebov$ » 12.06.2008 (Чт) 0:09

Способы запретить это делать есть (но обходимы), но они работают только тогда, когда приложение работает.


Очень интересует максимальная информация по данному вопросу с вариантом именно работающей программы на VB.

Какие подобные? Кряки вообще все работают по разному.


Интересовали именно те, которые внедряются в ПАМЯТЬ процесса. Файловые, подмена exe, замена ключей реестра и декомпиляторы - не интересуют.

ВАЖНО:
Ведь тот же файрвол (в моем случае Outpost) реагирует на внедрение другого процесса в чужой, а даже не свой!
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 12.06.2008 (Чт) 0:16

Скажи, ты понимаешь, что всё то, что применимо ко "внедрению в память", в той же степени применимо и к "внедрению в exe-файл"?

ВАЖНО:
Ведь тот же файрвол (в моем случае Outpost) реагирует на внедрение другого процесса в чужой, а даже не свой!

Антивирусы и файрволы перехватывают ядерные сервисы. Поскольку запись в АП чужого процесса происходит с участием ядра, файрволы и антивирусы легко замечают подобные действия.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Сообщение $Yastrebov$ » 12.06.2008 (Чт) 0:24

Нет, видимо, понимал не совсем. Теперь понимаю намного лучше. Тобишь, если exe не запущен, то и отловить не выйдет. В случае служб я так понимаю также?!
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Сообщение $Yastrebov$ » 12.06.2008 (Чт) 0:26

А как перехватить это внедрение, если мой exe-шник запущен!
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 12.06.2008 (Чт) 0:31

Теперь понимаю намного лучше. Тобишь, если exe не запущен, то и отловить не выйдет.

Ты не хочешь чтобы в памяти твоего процесса оказался инородный код?
Ты можешь отлавливать и запрещать другим процессам попытки записать что-то в свою память.

Но заинтересованные запишут этот инородный код в exe файл (который ничем не отличается от любого другого файла -- просто файл, и в него можно просто записать что-то), и при запуске этот (записанный в exe) инородный код всё равно окажется в памяти процесса.

Так что твой процесс может сколько угодно защищать своё адресное пространство от вмешательств, только вот это ему никак не поможет, если вмешательство было произведено до запуска.

В случае служб я так понимаю также?!

Чё?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Сообщение $Yastrebov$ » 12.06.2008 (Чт) 0:48

Хакер, я знаю, что ты очень способный и разбирающийся человек. Читал твои толковые посты. Но... в данном случае, ты почему-то разводишь руками и говоришь, что мол "забей", все равно "заинтересованные запишут этот инородный код" и взломают твою драгоценную программу. А я ведь прошу решения (примера). Ты можешь помочь?

Просто чем больше я вчитываюсь в твои посты - тем больше я путаюсь. Я знаю, что прогу взломали. Знаю как. Ее нужно пофиксить. Пытаюсь найти решение, а получаю реквием.
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Сообщение $Yastrebov$ » 12.06.2008 (Чт) 0:51

Так что твой процесс может сколько угодно защищать своё адресное пространство от вмешательств, только вот это ему никак не поможет, если вмешательство было произведено до запуска.


Некий exe-шник сам запускает мою прогу и меняет в ней память. Ему мешает файрволл, но для теста я его пропускаю. Программа взломана.
Есть решение?
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 12.06.2008 (Чт) 0:51

в данном случае, ты почему-то разводишь руками и говоришь, что мол "забей", все равно "заинтересованные запишут этот инородный код" и взломают твою драгоценную программу. А я ведь прошу решения (примера). Ты можешь помочь?


Я просто не в вижу в данном случае смысле вешать на парадную дверь кодовый замок с интегрированным лазером, отстреливающим медвежатников, если есть ещё и чёрный вход, где вообще отсутсвует дверь.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 12.06.2008 (Чт) 0:56

Некий exe-шник сам запускает мою прогу и меняет в ней память. Ему мешает файрволл, но для теста я его пропускаю. Программа взломана.
Есть решение?


Да, решение есть. Но есть и решение против этого решение. И решение против [решения против решения]. И против этого, тоже найдётся решение. И так до бесконечности.

Т.е., да, можно сделать так, что exe-шник не сможет поправить память твоего процесса. Но автор exe-шника сможет обойти эту защиту. А ты -- его. А он твою.

Вопрос только в том у кого первым закончатя знания и догадливость. Абсолютной же защиты нет и не будет.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Сообщение $Yastrebov$ » 12.06.2008 (Чт) 0:57

Застрелиться.... :twisted: Стало все намного яснее.... (((((((
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 12.06.2008 (Чт) 0:59

Но это что касается правки памяти уже работающего процесса. Автор exe-шника может чуть изменить логику и править не память, а править файл-образ приложения.

Тут технической защиты нет.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Сообщение $Yastrebov$ » 12.06.2008 (Чт) 1:12

Т.е., да, можно сделать так, что exe-шник не сможет поправить память твоего процесса.


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

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 12.06.2008 (Чт) 1:19

Примера кода у меня нет, а времени чтобы написать грамотный пример -- нет тоже. Могу направить только в нужную сторону.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Сообщение $Yastrebov$ » 12.06.2008 (Чт) 1:25

Направляй
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 12.06.2008 (Чт) 1:30

В системе можно определить для каждого объекта, кому и что можно делать с ним. В том числе и для объекта процесса.

Для управления всем этим суещствует множество API-функций, экспортируемых advapi32.

Копать в сторону SECURITY_DESCRIPTOR, ACL и ACE.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Сообщение $Yastrebov$ » 12.06.2008 (Чт) 13:30

У кого есть еще какие варианты? Может исходничек найдется?
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Williams
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1280
Зарегистрирован: 06.05.2008 (Вт) 18:35
Откуда: System.Reflection.Williams (увидел себя в зеркале :))

Сообщение Williams » 12.06.2008 (Чт) 18:53

Темы, где обсуждаются методы защиты программы от крэкеров, практически бессмертны, возрождаются как Фениксы вновь и вновь. Особенно на этом форуме.

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Сообщение SLIM » 12.06.2008 (Чт) 20:31

Раньше здесь была ссылка
Последний раз редактировалось SLIM 13.06.2008 (Пт) 20:57, всего редактировалось 1 раз.
Пишите жизнь на чистовик.....переписать не удастся.....

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 12.06.2008 (Чт) 20:45

SLIM
Ты не в теме. Не надо давать ссылки на статьи только потому, что название этих статей похожи на название темы.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Сообщение $Yastrebov$ » 12.06.2008 (Чт) 21:32

Я так и не нашел ничего путнего по этой теме(((

А можно ли отследить в Form_Initallize чем запущена программа.
Если запущена из другой программы (кряка), то аварийно вырубать?
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 12.06.2008 (Чт) 21:34

А можно ли отследить в Form_Initallize чем запущена программа.

Судя по всему, ты ничерта не понимаешь, что такое Form_Initialize.

Кряк эту защиту (если ты её сделаешь) легко отрубит, прежде чем запустит тебя.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Сообщение $Yastrebov$ » 12.06.2008 (Чт) 21:47

Хакер, у тебя поразительная способность говорить не о чем.

Может я и ни черта не понимаю, но хоть пытаюсь что-то предпринять. А ты только критикуешь мои решения, осуждаешь попытки других помочь мне, а сам НИЧЕГО кроме этого не пишешь. У тебя нет времени помочь с кодом, зато есть время разводить демагогию.

Для меня из всех постов тут стал более полезным единственный пост SLIMа пусть и действительно не совсем по теме но в том же направлении. А твоя демагогия никому не нужна. Знаешь - напиши решение. Зачем быть занудой???
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 12.06.2008 (Чт) 23:34

Хорошо, да поможет тебе SLIM.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

$Yastrebov$
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 154
Зарегистрирован: 24.01.2007 (Ср) 7:27
Откуда: Ukraine

Сообщение $Yastrebov$ » 13.06.2008 (Пт) 0:49

Чего от тебя и следовало ожидать!
Жизнь, она как коробка конфет - никогда не знаешь, что вытянешь!

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 13.06.2008 (Пт) 2:17

Конечно.

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

Поскольку:
1) Имеют место быть все три вышеназванных фактора.
2) Моя помощь тебе не нравится, а помощью SLIM-а ты доволен.
я прекращаю участие в этой теме и желаю тебе удачи в разрешении этой проблемы с помощью SLIM-а и прочих лиц, дающих ссылки на совершенно левые статьи.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Alprog
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 127
Зарегистрирован: 15.05.2008 (Чт) 14:21
Откуда: Владивосток

Сообщение Alprog » 13.06.2008 (Пт) 2:28

А может можно проверить, изменён ли экзешник?
Какая-нибудь хитроумная контрольная сумма экзе-файла.
Награни бреда, конечно, да и взломщик может изменить функцию, проверяющую контрольную сумму, но мало ли.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Сообщение Хакер » 13.06.2008 (Пт) 2:32

Награни бреда, конечно, да и взломщик может изменить функцию, проверяющую контрольную сумму, но мало ли.

В это всё дело.
Внедряемый код может:
Во-первых, нейтрализовать механизм проверки контрольной суммы.
Во-вторых, сделав свои дела, подчистить за собой АП так, чтобы механизм проверки ничего не заметил.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

SLIM
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1840
Зарегистрирован: 04.04.2008 (Пт) 18:21
Откуда: Краснодар

Сообщение SLIM » 13.06.2008 (Пт) 20:55

я прекращаю участие в этой теме и желаю тебе удачи в разрешении этой проблемы с помощью SLIM-а и прочих лиц, дающих ссылки на совершенно левые статьи.

я то тебе чем не угодил. Ну дал ссылку не туда. Что ты в самом то деле критикуешь всех кого не поподя. Причем заметь это уже не первый выпад в твою сторону не только от $Yastrebov$-а.
Никто не сомнивается в твоих умениях, знаниях и способностях. Даже более скажу - ты один из немногих, кто хоть и выпарит все мозги, но будет отвечать, а не молчать (Респект тебе за это). Но тактику убеждения может поменять нужно (с "Ты дебил и нихрена не шаришь, и зачем программировать начал" на "Посмотри вот здесь и вот там, .... программма устроена так что......поэтому твой подход не правильный").
Пишите жизнь на чистовик.....переписать не удастся.....

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Mail.ru [бот] и гости: 10

    TopList