FAQ ПО КРЕКИНГУ ДЛЯ НАЧИНАЮЩИХ 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 можно написать, проанализировав участок кода, который генерирует правильный серийный номер, главное - это понять как он генерируется, ну а потом дело техники. Портируем функцию генерации в свою прогу, вот вам и кейген. Напрмер (очень тупой пример =)): Есть код: ... PHP: 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
гуд, давно нужен был какой-то мини-фак ЗЫ: для желающих можно про4итать для продолжения полный FAQ по крекингу от MozgC(http://cracklab.ru/art/?action=view&id=177)