Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги хакеры / Михаил_Флёнов_Компьютер_глазами_хакера.pdf
Скачиваний:
16
Добавлен:
19.04.2024
Размер:
6.23 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

-

 

 

 

 

d

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

F

 

 

 

 

 

 

 

t

 

 

СоветыP

 

i

 

 

P

 

 

 

 

 

 

 

 

 

i

 

 

 

хакера

D

 

 

 

 

 

157

 

D

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

wние — явление временное, и через некоторое время диск все равно начинает сбо-

w Click

to

 

 

 

 

 

 

 

w Click

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

вариn

 

m

 

итьdf

. Поэтомуn

данное решение можно использовать лишь как промежуточныйdf

-

 

 

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

g

.c

 

 

 

.

 

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

e

 

 

 

 

 

 

-x cha

 

e

 

 

 

ант, когда нет возможности купить новый диск.

 

 

 

 

 

 

 

 

 

 

 

 

 

Чтобы воспользоваться программой производителя, вы должны четко знать модель диска и найти нужную утилиту на его сайте. Прежде чем использовать ее, ознакомьтесь с документацией.

4.10. Взлом программ

Защита и взлом программ — это вечная война между программистами и хакерами. Программисты хотят получать за свой труд деньги, и это вполне законно. Каждый должен на что-то жить и не может раздавать продукты своего труда бесплатно. Если человек выбрал программирование своей профессией, то она должна приносить доход и обеспечивать достойное существование ему и его семье.

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

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

Лично я не понимаю, когда некоторые возмущаются тем, что компании продают программы, тогда как должны раздавать бесплатно. Никто же не возмущается тем, что пекарни продают хлеб, а не раздают бесплатно, или "АвтоВаз" продает то, что они называют автомобилями, а не раздают просто так.

Программное обеспечение — это такой же продукт, который требует множества усилий для того, чтобы его произвести на свет. Это работа большого количества людей, которые отдают себя работе по 8 часов в день, а кто-то и больше.

Я не понимаю возмущения тем, что компании, производящие софт, зарабатывают слишком много. Далеко не все. К тому же, производители программного обеспечения — далеко не самые богатые компании. Самый богатый человек в мире по последним данным является владельцем сотовой компании. Никто же не требует бесплатных сотовых услуг.

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

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

F

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

t

 

D

 

 

 

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

 

r

158P

 

 

 

NOW!

 

 

 

 

 

 

BUY

 

 

 

 

 

to

 

 

за

 

wнеров,

 

m

w Click

 

 

 

 

 

 

 

o

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

.c

 

 

p

 

 

 

 

 

 

e

 

 

 

 

 

 

 

g

 

 

 

книгаdf

,n

то

 

 

 

-xcha

 

 

 

 

 

му/книгу.

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

d

 

 

 

F

 

 

 

 

 

t

 

P

 

 

 

 

 

 

 

i

 

 

D

 

Глава 4

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

что им большое спасибо. Если вам нравится программный продукт или

w Click

to

 

 

 

 

 

 

 

 

 

 

 

 

m

не воруйте, а скажите свое реальное спасибо — купите эту програмdf n

-

w

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

.

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

-x cha

e

 

 

 

 

 

 

 

 

 

 

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

4.10.1. Почему ломают?

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

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

Обратите внимание, даже Microsoft до появления активации в Windows XP защищала свои программы простым серийным номером, который проверяется математически. Алгоритм прост, как три копейки, потому что нет смысла выдумывать серьезные вычисления. Нет такой обороны, которую не прорвали бы хакеры.

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

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

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

-

 

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

 

F

 

 

 

 

 

 

 

 

t

 

 

СоветыP

 

i

 

P

 

 

 

 

 

 

 

 

 

 

 

i

 

 

хакера

D

 

 

 

 

 

159

 

D

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

wне купят. В этом случае, если хакер не сможет ее взломать, то просто перейдет на

w Click

to

 

 

 

 

 

 

 

w Click

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

n

 

 

 

m

 

другуюdf n

 

программу. Благо, в наше время есть выбор практически для всего.

 

 

df

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

o

 

w

 

 

 

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

g

.c

 

 

 

.

 

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

e

 

 

 

 

 

 

-x cha

 

 

e

 

Некоторые фирмы пытаются встроить в свои продукты поддержку ключей и шифрования или привязку к оборудованию, но и такие системы оказались беззащитными. Если что-то невозможно взломать, то программа не получит распространения. Одна из причин, почему ОС Windows стала популярной — простота, удобство и легкость взлома. Крэки появлялись в Интернете раньше, чем новая версия. Таким образом, количество пользователей стало очень большим, и некоторые из них оплатили лицензию. Лучшая реклама для продукта — это отклики владельцев. Чем больше пользователей (легальных и нет), тем выше популярность. Бороться с хакерами бесполезно, а иногда и просто ненужно. Зарабатывать деньги следует качеством, а не строительством полосы препятствий.

Давайте посмотрим, как устроена простая защита и как ее обходят хакеры. Если вы программист и разрабатываете собственные продукты под грифом Shareware, то эти рекомендации могут вам пригодиться.

4.10.2. Срок службы

Простейший способ заставить программу работать — продлить ее срок службы. Как я уже говорил (см. разд. 4.10.1), защита Shareware-программ чаще всего примитивна и в основном строится на счетчике запусков или на количестве используемых дней. Второе предпочтительней. Почему? Сейчас объясню.

Разработчики очень часто допускают ошибку при проверке даты. При установке программы в реестр (или другое место хранения) записывается текущая дата, а при запуске проверяется, не превышает ли текущая дата параметр установки плюс определенное число дней? Если условие выполняется, то лимит вышел. Вот тут и есть скрытая ошибка. Переведите системную дату в компьютере на 01.01.2018 года и установите программу. Затем верните календарь в нормальное положение, и используйте софт в течение 10 лет (теперь программа будет работать до 01.01.2018 плюс разрешенное число дней). За это время она просто устареет, а ее возможности могут больше не понадобиться, ведь технологии меняются за несколько лет.

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

4.10.3. Накручивание счетчика

Если вы столкнулись со счетчиком запусков программы, то попробуйте другой способ — "мониторинг реестра". Для этого вам понадобится зайти на сайт http://www.sysinternals.com/. Здесь, в разделе Процессы и потоки, есть программа

Regmon, которая доступна для свободного скачивания.

Компанию Sysinternals организовал знаменитый специалист по "внутренностям" ОС Windows — Марк Руссинович (Mark Russinovich) вместе с Брайсом Когсвеллом

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

d

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

i

 

 

 

 

F

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

o

 

 

P

D

 

 

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

r

 

160P

 

 

 

 

 

 

 

 

 

 

 

 

Глава 4

 

 

 

 

to

BUY

NOW!

 

 

 

 

 

 

 

 

 

to

BUY

NOW!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w(Bryce Cogswell). С недавних пор Марк работает в Microsoft, и поэтому не удивляй-

w Click

 

,

 

 

 

o

m

сайт

sysinternals.com

w Click

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

e

 

 

 

p

 

 

 

 

 

e

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

g

 

 

 

 

тесьdf

еслиn

приведет вас на сайт этой компании вdfразделn

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

(http://technet.microsoft.com/en-us/sysinternals). Я так понимаю, Microsoft купила

Sysinternals.

Давайте разберем работу с Regmon на примере накрутки счетчика программы, которая уже закрыта и не распространяется. Не будем останавливаться на названии и производителе, чтобы не испортить его продажи.

Надо запустить по очереди программу Regmon, а потом взламываемую программу. В окне Regmon появятся все события, связанные с обращением к реестру:

Time — время;

Process — программа, обратившаяся к реестру;

PID — идентификатор процесса;

Path — путь;

Operation — операция;

Path — путь к реестру/файлу или объекту.

Result — результат.

ПРИМЕЧАНИЕ

С недавних пор эту программу убрали с сайта, и теперь ее заменила ProcessMonitor (рис. 4.23).

Самое первое, что нужно поискать — строки, в которых поле Process равно deskt (это имя запускаемого файла) и поле Request равно SetValueEx.

В момент запуска программы считывают настройки и параметры, а SetValueEx означает запись в реестр. Так что же можно записать во время загрузки? Только счетчик. Если хорошо посмотреть на рис. 4.23, то сообщение под номером 1435 соответствует поставленному условию. Обратите внимание на поле Other. Там стоит значение 18, которое пишется в реестр. Запись происходит по адресу:

HKEY_CURRENT_USER\Software\Desktop\ProductID.

Теперь посмотрите немного выше (номер 1430). По этому же адресу происходило чтение параметра, значение которого оказалось равным 19. Это говорит о том, что счетчик работает в обратном порядке, и когда он достигнет нуля (может и отрицательного значения), программа перестанет запускаться. Теперь вы сможете спокойно вернуть программу к жизни, вручную изменив этот счетчик. Попробуйте сразу увеличить его до 10 000, некоторые программы могут это прозевать. Если счетчик работает на увеличение (например, до 100), то можно поставить там значение –10 000 и тогда надоест ждать, когда наступит предел.

Точно так же корректируются и даты. Например, можно поправить один параметр в реестре для старых версий программы The Bat! так, что она будет работать бесконечно, показывая, что у вас осталось –5000 дней.

Если у вас возникли проблемы с мониторингом, то чтобы не переустанавливать программу, можете просто попробовать удалить из реестра все значения, связанные

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

E

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

d

 

 

-

 

 

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

F

 

 

 

 

 

 

 

 

t

 

 

СоветыP

 

i

 

P

 

 

 

 

 

 

 

 

 

 

i

 

 

хакера

D

 

 

 

 

 

161

 

D

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

NOW!

o

 

 

 

 

to BUY

 

 

 

 

 

 

to

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

wс ней, очень часто это помогает. Пробный период может начаться заново,wи вы про-

w Click

 

 

 

 

 

m

w Click

 

 

n

 

 

 

m

 

длитеdf

nжизнь программы еще на 30 дней (или сколько дает программа).

 

w

 

df

 

 

 

 

o

 

 

w

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

g

.c

 

 

.

 

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

e

 

 

 

 

 

-x cha

 

 

e

 

Если используется счетчик запусков, а не дата, то можно сделать даже проще. После установки программы начальные параметры запишутся в реестр. Запустите regedit и найдите эти параметры в строке HKEY_CURRENT_USER\Software\ плюс имя фирмы или программы. Выделите раздел и экспортируйте его в файл. Когда закончится лимит запусков, просто выполните импорт этого файла, и все настройки вернутся в начальное состояние, так что можно будет снова и снова использовать любимую утилиту.

Рис. 4.23. Окно программы Regmon

Почему мы говорим только о реестре? Да потому, что это самый распространенный и очень удобный способ сохранить параметры приложений. Но этот метод не единственный. Некоторые современные и большинство старых программ используют для сохранения простые файлы.

Для решения этой проблемы отправляемся по уже знакомому адресу http://www.sysinternals.com/ и скачиваем программу File Monitor (в том же разделе Процессы и потоки). Эта утилита предназначена для мониторинга обращений к файлам.

С File Monitor можно работать абсолютно так же, как и с Regmon, только здесь вы можете отслеживать обращения к файлам, чтение и запись различных параметров

(рис. 4.24).