HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ИНФО > Статьи
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 17.06.2013, 01:00
XaviS
Участник форума
Регистрация: 02.04.2013
Сообщений: 149
С нами: 6901526

Репутация: 53
По умолчанию

Irenica, это старый блог. Я теперь тут буду писать. Будет и про реверсинг.
 
Ответить с цитированием

  #12  
Старый 17.06.2013, 01:00
XaviS
Участник форума
Регистрация: 02.04.2013
Сообщений: 149
С нами: 6901526

Репутация: 53
По умолчанию

Всем доброго времени суток!
По просьбе пользователя Irenica пишу статью про реверсинг.
Сегодня предлагаю отвлечься от темы экспериментов, да и вообще от хакинга.
Сегодня мы будем играть в крекеров. Не волнуйтесь - игра простая.
Мы будем снимать защиту у одной программы, заоодно и хорошо посмеемся, т.к для вас я подобрал программу, с "супермегакрутой защитой".
Итак, наша цель - Akala EXE Lock.
Эта программа позиционирует себя как элитный защитник EXE файлов.
Не протектор, а именно защитник, т.е на exe ставиться пароль.
Защита действительно хорошая, мне хакнуть пока не удалось.
А вот защита самой программы (регистрация), очень убогая.
Ну, приступим!
Давайте сначала скачаем программу:Ссылко
Разработчик хочет 30$ за лицензию.
А хрен ему (прости бро, но защита реально лажовая)!
Устанавливаем программу.
Теперь на надо сделать анализ EXE.
Используем PEiD или Detect It Easy:
IMAGE http://i48.fastpic.ru/big/2013/0617/1a/3995b7cc86b6778d788e67420425571a.jpg

Ага, Aspack. Это такой "защитник кода от взлома".
Есть два способа его распаковки:
Ручной и Автоматический.
Для ускорения процесса будем использовать Автоматический.
Если кому-то интересно, то могу написать про ручную распаковку.
Для автораспаковки нам понадобится прога: Aspack DIE
Открываем Aspack Die и выбираем нашу программу:
IMAGE http://i48.fastpic.ru/big/2013/0617/ba/0aeabea0992c092227b2e5ef578409ba.jpg

Если все прошло удачно, то через 3-4 секунды увидим сообщение:
IMAGE http://i47.fastpic.ru/big/2013/0617/5f/d70cf5e93a3dcec74c60e28ffb24fc5f.jpg

Ок! Файл распаковали.
Если хотите, то можете открыть распакованный файл и увидеть, что прога написанна на дельфи.
Теперь открываем в отладчике:
IMAGE http://i47.fastpic.ru/big/2013/0617/f1/78227ad58d28f13751b255f51b74fcf1.jpg

Ну да, чистый дельфи.
Теперь запустим прогу в отладчике (F9).
Появится форма, в которую надо ввести имя и ключ:
IMAGE http://i48.fastpic.ru/big/2013/0617/2d/fc303423cce316288d137a1fd2697e2d.jpg

Вводим от балды и запоминаем текст сообщения с ошибкой.
Теперь пройдемся по строкам и поищем текст ошибки.
Для этого:
1) Жмем правой кнопкой на пустое пространство слева от кода
2) Выбираем Search For-> Search for all strings
Когда загрузится строки, ловим такой момент:
IMAGE http://i46.fastpic.ru/big/2013/0617/a7/8e03a2d7865498e23bc236b964c01da7.jpg

Вот мы и нашли текст ошибки.
Теперь жмем на него 2 раза и попадаем на эту строчку в коде.
Идем вверх до такого момента:
IMAGE http://i48.fastpic.ru/big/2013/0617/c0/1fca44b7eaf46603e12e3235ad6398c0.jpg

Процедура, которая стоит чуть ниже строки Akala Exe Lock - процедура генерации кода.
Жмем на нее мышкой, а потом F2.
Мы поставили на нее брейкпоинт.
Теперь смело жмем Ctrl+F2, и программа перезагрузится.
Жмем F9.
Снова вводим в форму наше имя и пароль.
Теперь программа остановится на процедуре с генерацией ключа (кто хочет - может нажать F7 и посмотреть алгоритм генерации, а потом сделать кейген).
Жмем F8. И смотрим окно стека:
IMAGE http://i48.fastpic.ru/big/2013/0617/8a/5f20bcee59d7886eeb164e65a8ced98a.jpg

Правильный пароль записан в первой строчке (кто бы мог подумать ).
Вводим его в программу и она зарегистрируется.
Но, я уже обещал вам поржать над разрабами.
Спорим никто не приметил этот кусок:
IMAGE http://i46.fastpic.ru/big/2013/0617/86/714a52a90d28a6404c0eefbb19eddd86.jpg

В реестр пишется имя, на которое зарегана программа.
Идем в реестр.
Раздел HKEY_CURRENT_USER\Software\Microsoft\Secret\BFM
И наблюдаем там такое:
IMAGE http://i46.fastpic.ru/big/2013/0617/a7/3fe3d9c5ab785eb9eacddb7e2de864a7.jpg

Путем исследования я установил, что:
FirsDate - дата начала триала, т.е можно сбросить триал.
RegName - имя, на кого зарегистрирована прога.
Попробуйте поменять имя, на любое другое и посмотрите на кого регнута программа:
IMAGE http://i48.fastpic.ru/big/2013/0617/72/90280e83071450779b1788476acd3572.jpg

Дальше - больше. Ключ вообще не нужен.
Просто ставим программу, идем в реестр, создаем параметр RegName (путь указан выше), и пишем там свое имя.
Огромный PROFIT!!!11
Вывод: "На Деда Мороза надейся, но и сам не плошай".
Разрабы понадеялись на AsPack, а сами допустили огромный Fail.
Спасибо за внимание.
 
Ответить с цитированием

  #13  
Старый 24.06.2013, 01:00
STALKER
Новичок
Регистрация: 22.02.2004
Сообщений: 4
С нами: 11691659

Репутация: 0
По умолчанию

Не удивительно,сейчас все зависли над Варфейсе.
 
Ответить с цитированием

  #14  
Старый 24.06.2013, 01:00
bufferrr
Участник форума
Регистрация: 19.06.2013
Сообщений: 207
С нами: 6789206

Репутация: 4
По умолчанию

Цитата:

Сообщение от XaviS

Зашел на Маил.ру ответы, а там:
IMAGE http://i46.fastpic.ru/big/2013/0624/fc/f075c771b802ec08bb8e36cfbcc31bfc.jpg

Серьезный малый
 
Ответить с цитированием

  #15  
Старый 24.06.2013, 01:00
Mishar
Участник форума
Регистрация: 02.11.2010
Сообщений: 172
С нами: 8171606

Репутация: 16
По умолчанию

У меня как у Craker'a Зачем распаковывать Индюка когда есть распаковшики)
 
Ответить с цитированием

  #16  
Старый 24.06.2013, 01:00
XaviS
Участник форума
Регистрация: 02.04.2013
Сообщений: 149
С нами: 6901526

Репутация: 53
По умолчанию

Всем привет!
В этой небольшой статейке,я хочу рассказать вам о способах взлома таких защит, как:
1) Проверка ключа
2) Проверка по имени и паролю
Для взлома программ нам будет нужен любой отладчик.
1) Как взломать проверку серийника:
Есть два способа - поиск ключа в коде или патч.
Открываем программу, которая требует ключ в отладчике.
Запустим ее и посмотрим, какие сообщения появляются при вводе неправильного ключа:
IMAGE http://i48.fastpic.ru/big/2013/0623/a4/56fee96513e501bfb79999b713f195a4.jpg

Теперь поищем эту строчку в коде. Для этого:
1 Жмем на пустое пространство рядом с кодом правой кнопкой и выбираем поиск строк:
IMAGE http://i47.fastpic.ru/big/2013/0623/76/ef8a8ee2280186dfe6c80658e7904b76.jpg

2 Находим нашу строчку:
IMAGE http://i47.fastpic.ru/big/2013/0623/a7/26f15d84579e9de342f14e374cf526a7.jpg

Делаем по ней двойной клик:
IMAGE http://i47.fastpic.ru/big/2013/0623/83/3929aba5079f595325d3f909868faf83.jpg

Теперь давайте разбираться.
Начинается все с функции GetDlgItemA.
Она получает введенный серийник из текст бокса и помещает его в адрес, который указан в буфере (передается, как параметр фунцкии).
Далее, функция strcmpa сверяет наш серийник с правильным, и в зависимости от результата выдает нам сообщение Wrong password или You got it.
Давайте посмотрим на параметры функции strcmpa.
Первый - введенный серийник

Второй - правильный серийник.

Вот мы и разобрались, я надесюь, как проходит процедура проверки.
Теперь, просто копируем правильный серийник и вводим его в прогу.
Этот метод называется Keyfish или поиск ключа.
Теперь сделаем патч. Что такое патч?
Говоря официальным языком - это программа, коротая выпускается авторами софта после официального релиза. Как правило, это исправление багов, уязвимостей и т.д.
На языке "крекеров" патч - прога, которая изменяет код регистрации таким образом, что можно вводить любой ключ и прога зарегается.
Давайте сделаем его! Опять посмотрим в функцию strcmpa.
Как я уже говорил, ей передаются два параметра - правильный ключ и введенный ключ.
Сделаем так, чтобы она сверяла введенным ключ с ним же.
Чтобы это сделать, надо:
1 Скопировать адрес введенного ключа:
IMAGE http://i47.fastpic.ru/big/2013/0623/bf/0b4664f29c4dd89f7764f797c06ad5bf.jpg

2 Два раза нажать на строчку с правильным ключем:
IMAGE http://i46.fastpic.ru/big/2013/0623/02/338bfd950ceb26f073f3234fd212cb02.jpg

3 Поменять адрес на тот, который мы скопировали (предварительно обработанный в блокноте):
IMAGE http://i48.fastpic.ru/big/2013/0623/e9/21f5b6814d9acfe703f3c69d0ea33ae9.jpg

Теперь прога будет регаться при любом ключе.
Теперь сохраняем наши изменения:
IMAGE http://i46.fastpic.ru/big/2013/0623/cc/daeaa1f6d0482c0f3ddc9e273472bfcc.jpg

IMAGE http://i46.fastpic.ru/big/2013/0623/ee/fd3f4fb3a17601d817d5f16e179264ee.jpg

IMAGE http://i46.fastpic.ru/big/2013/0623/d1/553419281ab7553aada05a7e97c829d1.jpg

НУ и выбираем путь для сохранения:
IMAGE http://i47.fastpic.ru/big/2013/0623/2c/f5f5d761b9f5f6ab1c41a10653a6422c.jpg

Все! Поздравляю! Вы сделали свой первый кряк.
Можете запустить и проверить:
IMAGE http://i47.fastpic.ru/big/2013/0623/bf/56932e53706760ede37f83fec59eccbf.jpg

В этом пункте я взломал крякми от фантома #1.
Пока вы радовались, я успел открыть вторую бутылку колы, и мы продолжаем.
2) Имя+серийник. Пишем кейген.
Первую часть я начал с практики специально, чтобы вам было не скучно.
Теперь нудная теория.
Сущетсует много типов программ, которые пишутся крекерами для юзеров, и помогают им "хакать" программы.
Такие проги называют - лекарство (А почему Ы? Чтобы никто не догадался )
Их бывает несколько видов:
Кряк - измененный EXE файл, который нужно скопировать с заменой в папку с программой. Т.е то, что мы сделали в первой части
Патч - программа, которая сразу после запуска внедряется в код программы и изменяет его на лету.
Кейген - генератор правильный серийников для программы
И еще много других....
Итак, ломаем еще один крякмис: http://rghost.ru/46970705
Каждый взлом начинается с анализа.
1) Надо определить на каком языке написана программа.
Для этого используем программу PEiD (можно найти на exelab.ru):
IMAGE http://i47.fastpic.ru/big/2013/0623/01/4fbc93695a1cde77c4bb3fb455ca2101.jpg

2) Запускаем прогу и исследуем ее:
IMAGE http://i46.fastpic.ru/big/2013/0624/d5/3564e9137cb78f777e088fcacbefb0d5.jpg

Окей. Небольшое исследование есть. Переходи к отладчику/
Теперь поступим по хацекрски.
Текст сообщения о неправильном вводе ключа в реальных программа, скорее всего, скрыт.
Поэтому будем ловить функцию GetDlgItemTextA.
Для этого жмем на поле рядом с кодом правой кнопкой мыши:
IMAGE http://i46.fastpic.ru/big/2013/0624/70/558d6ce3c32eb241856474c5ef2b5e70.jpg

Появится список функций.
Ищем в нем функцию GetDlgItemTextA и жмем на нее два раза:
IMAGE http://i47.fastpic.ru/big/2013/0624/21/155cb83369cc04eabdf6f37e9699ad21.jpg

Попадаем в такой участок кода:
IMAGE http://i47.fastpic.ru/big/2013/0624/56/9f576b79ab033047ddd56eaac268cc56.jpg

Давайте разбираться!
Функция GetDlgItemTextA получает введенное имя и размещает его в адрес, укзанный в параметре Buffer.
В EAX кладется длина имени.
Далее идет проверка, что имя в пределе 24 символов.
А вот теперь - алгоритм генерации серийника.
MOV EDI,hackereh.004062A0 - кладем наше имя в EDI
MOV EDX,DEADC0DE - кладем в EDX DEADC0DEh
MOVSX EAX,BYTE PTR DS:[ECX+EDI] - кладем один символ нашего имени в EAX (ECX - позиция символа)
ADD EAX,EDX - Добавляем к нашему символу DEADC0DEh.
Результат кладем в EAX.
IMUL EAX,EAX,666 - умножаем EAX на 666h, и результат - в EAX
ADD EDX,EAX - добавляем к DEADC0DE все ту хрень, которая лежит в EAX
SUB EAX,777 - вычитаем из EAX 777h
INC ECX - увеличиваем позицию символа
CMP ECX,EBX - Есть ли еще символы в имени?
JNZ SHORT hackereh.0040122C - Если есть, то прыгаем назад, а если нет, то идем вперед.
Отлично.
Теперь можем написать кейген:

source:

Код:
#include 
#include 
#include 
#include 
using
namespace
std;
int main()
{
char
name [
40
];
unsigned
int
DEAD =
0xDEADC0DE
;
unsigned
int
Serial =
0
;
    cout >name;
for
(
int
i=
0
;i<
strlen
(name);i++){
        Serial=(((
int
)name[i]+DEAD)*
0x666
);
        DEAD+=Serial;
        Serial-=
0x777
;
    }
    cout<<
"Your serial"
<<endl;
    cout<<Serial<<endl;
getch
();   
}

Вот и все. Мы разобрали 2 основных типа защит, на основе простых крякми.
P.S Статья написана по просьбе Irenica
P.S.S Тем, кого заинтересовало - рекомендую почитать сей файл: ТЫК
Пароль: exelab.ru
 
Ответить с цитированием

  #17  
Старый 24.06.2013, 01:00
irenica
Новичок
Регистрация: 07.03.2010
Сообщений: 0
С нами: 8516490

Репутация: 0
По умолчанию

Напомнило книжку Криса Касперски "Техника и философия хак атак". Только там в 2 предложениях описан 1 способ. Как всегда тебя интересно читать.
 
Ответить с цитированием

  #18  
Старый 24.06.2013, 01:00
BlackH
Познавший АНТИЧАТ
Регистрация: 05.12.2011
Сообщений: 1,550
С нами: 7598486

Репутация: 167


По умолчанию

В реверс запости как статьи.А то их там совсем нема.

В целом не плохо.Сколько реверсом (~) занимаешься?
 
Ответить с цитированием

  #19  
Старый 24.06.2013, 01:00
XaviS
Участник форума
Регистрация: 02.04.2013
Сообщений: 149
С нами: 6901526

Репутация: 53
По умолчанию

Цитата:

Сообщение от BlackH

В реверс запости как статьи.А то их там совсем нема.

В целом не плохо.Сколько реверсом (~) занимаешься?

Окей, следующее буду писать в Реверсинг.
Реверсом занимаюсь года 3.
 
Ответить с цитированием

  #20  
Старый 24.06.2013, 01:00
XaviS
Участник форума
Регистрация: 02.04.2013
Сообщений: 149
С нами: 6901526

Репутация: 53
По умолчанию

Зашел на Маил.ру ответы, а там:
IMAGE http://i46.fastpic.ru/big/2013/0624/fc/f075c771b802ec08bb8e36cfbcc31bfc.jpg
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.