Q: Что такое крекинг?
A: Крекинг - это исследование программного обеспечения, с целью
выявления слабых мест в защите программы, и последующей эксплуатации
этих мест с целью получения бесплатной регистрации программного
продукта.
Q: Как стать крекером?
A: Для того чтобы стать крекером, в первую очередь необходимо овладеть
языком Ассемблера, знать 16-ричную систему исчисления и понимать
мнемоники, уметь пользоваться отладчиком. Но для простых взломов
достаточно и поверхностного знания Ассемблера. Переработать кучу
аналетической информации, и много практиковаться.
Q: Законно ли взламывать программы?
A: Конечно же нет! Статья 272 УК РФ. Неправомерный доступ к
компьютерной информации. Но заниматься крекингом у себя дома (для
себя), вам никто не запрещает.
Q: С чего начинать обучение крекингу?
A: Начинать обучению крекингу, многие люди советуют с изучения языка
Ассемблера, с последующей переработкой материалов по крекингу для
начинающих и самое главное в этом деле - практика.
Q: Какие сайты по крекингу посоветуете?
A: Форум “forum.antichat.ru” - там есть раздел по крекингу и там очень
дружелюбные люди. Сайт “www.cracklab.ru” - портал по крекингу (масса
статей для новичков). Сайт “www.wasm.ru” - там есть статьи по крекингу
и форум.
Q: Какие книги по ассемблеру читать?
A: Олег Калашников “Ассемблер? Это просто”. Он же автор одноимённой
рассылки (кстати многие крекеры начинали именно с неё). Владислав
Пирогов “Ассемблер для Windows”. Магда Ю. “Использлвание ассемблера для
оптимизации программ на С++”
Q: Где взять инструменты крекера?
A: С разных сайтов посвящённых теме крекинга. Например на cracklab.ru
очень много программ для крекера, также там можно заказать диск со
всеми нужными инструментами для начинающих.
Q: Где взять информацию про API функции?
A: Существуют специальные справочники! Введите в google.ru “справочники по API” и наслаждайтесь.
Q: На какую API функцию мне поставить брейкпоинт, чтобы перехватить информационное окно о неверном регистрационном коде?
A: Ну, функций для создания таких окон много, но основные - это 1)
MessageBox 2) ShowWindow 3) CreateWindowEx. Но основной конечно же
является MessageBox.
Q: А что ещё за брейкпоинт такой?
A: Брейкпоинт - точка останова программы, они используются для отладки
приложений, когда например надо узнать, что в данный момент содержиться
в какой-нибудь переменной и.т.д.
Q: Какой простенький отладчик посоветуете для новичка, а то SoftICE мне не по зубам.
A: Да софтайс - действительно отладчик для профи, у новичка по нему
всегда возникает много вопросов, даже при инсталяции! Оптимальным
решением будет OllyDebuger! Он прост в установке и интуитивно понятен,
дажеь для новичка.
Q: А как мне поставить брейкпоинт в Olly?
A: Жмём Alt+F1 и пишем “bp MessageBoxA” - пример для функции MessageBox.
Q: Ну ладно, а как мне его теперь удалить?
A: “bc MessageBoxA”, а вообще если введёте “help” в коммандной строке
Olly, получите много полезной информации, не только по теме
брейкпоинтов!
Q: Как я могу узнать, чем запакованна программа?
A: Воспользоваться программой PEid! Просто скармливаем бинарник ей и в
статусбаре видим чем пакованна, а если не пакованна, то видим на чём
написанна!
Q: Как мне расспаковать программу упакованную UPX’ом?
A: Тем же UPX’ом! Для этого в командной строке пишем: upx.exe -d file.exe - где file.exe, файл, который нужно распаковать!
Q: Хорошо, ну а что делать с ASPack и ASProtect?
A: Для AsPack - Caspr, AsPackDie. Для AsProtect 1.1-1.2 - Caspr,
ASPRStripperXP. А вообще нужно учиться самому распаковывать программы,
ведь распаковать автоматическими распаковщиками не всегда удаётся!!!
Q: Существует ли хороший упаковщик или протектор, который трудно взломать,распаковать?
A: Да. И по моему это Armadillo и Obsidium.
Q: Я ставлю брейкпоинт на функцию hmemcpy, а он почему то не ставиться!
A: Скорее всего проблема в вашей операционной системе. Дело в том, что
функции hmemcpy нет в WinNT(XP,2000,2003). Она есть в 98,ME (насчёт 95
говорить не буду, не пробывал, не знаю).
Q: Я новичок в крекинге. Посоветуйте какую нибудь лёгкую для взлома программу.
A: Для тренировки в крекинге существуют специальные маленькие
программки (Crackmes). Они имитируют реальную защиту программного
обеспечения. Например можно посоветовать Crackmes от Fantom’а. Не знаю
как сейчас, но раньше их можно было скачать с http://fant0m.cjb.net. Я
бы так же советовал скачивать крякмисы написанные на разных языках
программирования. Потом в реальных программах вы уже будете знать
откуда подступиться.
Q: Как мне создать свой KeyGen?
A: Написать KeyGen можно написать, проанализировав участок кода,
который генерирует правильный серийный номер, главное - это понять как
он генерируется, ну а потом дело техники. Портируем функцию генерации в
свою прогу, вот вам и кейген. Напрмер (очень тупой пример =)):
Есть код:
MOV EAX,[наш id компа]
INC EAX
ADD EAX,2Dh
DEC EAX
DEC EAX
Допустим эта процедура генерит код, по идентификационному номеру нашего компа, а номер этот например будет: 12345. Получаем:
MOV EAX,3039h <------- прога записывает в EAX id компа
INC EAX <------- увеличивает EAX на 1 (теперь в EAX=303Ah)
ADD EAX,2Dh <------- прибавляет к EAX 45 (теперь в EAX=3067h)
DEC EAX <------- уменьшает EAX на 1 (теперь в EAX=3066h)
DEC EAX <------- уменьшает EAX на 1 (теперь в EAX=3065h)
Вот теперь мы можем сказать, что для id=12345, Serial=12389. После этого можно написать keygen, обладая минимальными навыками программирования.
(с) KindEcstasy