eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 августа!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме:
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Крэки, обсуждения —› Новый crackme от xverizex
. 1 . 2 . >>
Посл.ответ Сообщение

Ранг: 5.4 (гость)
Статус: Участник

Создано: 29 июля 2019 06:01 New!
Цитата · Личное сообщение · #1

Чтобы вы делали, если бы я написал клёвую прогу и сделал к ней доступ по серийнику, я понимаю что в наше время таким лучше не заниматься. Наверное лучше сделать активацию онлайн. В этом crackme я сделал максимальный ключ из 10 символов. А может быть и больше. Если хотите попробывать, то милости прошу. Вот ссылка на google drive --> Link <--. Там есть крякми для линукс и виндовс. Но я на всякий случай прикреплю сюда crackme, вдруг ссылка недоступна. Я давно не пользовался google drive. Я прикрепил файл crackme. Он консольный. Пишешь ник и ключ.

{ Атач доступен только для участников форума } - crackme.exe

Ранг: 456.3 (мудрец)
Статус: Участник
Android Reverser

Создано: 29 июля 2019 07:00 · Поправил: SaNX New!
Цитата · Личное сообщение · #2

Крэкми, серьезно?
Code:
  1.  for ( n = 0; n <= 9; ++n )
  2.   {
  3.     if ( ::key[array[n]] != key[n] )
  4.     {
  5.       puts("key not found");
  6.       exit(1);
  7.     }
  8.   }
  9.   puts("key found. Congratulations");

text:0000000000401822 74 16 jz short loc_40183A
->
text:0000000000401822 EB 16 jmp short loc_40183A


Ранг: 5.4 (гость)
Статус: Участник

Создано: 29 июля 2019 08:34 New!
Цитата · Личное сообщение · #3

SaNX так это битхак. А битхак это самый начинающий уровень. А ты попробуй кейген составить. А что у тебя за программа, которая так хорошо переводит в си код?

Ранг: 456.3 (мудрец)
Статус: Участник
Android Reverser

Создано: 29 июля 2019 08:38 · Поправил: SaNX New!
Цитата · Личное сообщение · #4

xverizex пишет:
так это битхак

надо называть правильно. то, что ты предлагаешь - это keygenme, а не crackme.

xverizex пишет:
А что у тебя за программа, которая так хорошо переводит в си код?

IDA. Потому что какой-то мегапрограммист скомпилил с дебагинфо

Code:
  1.   int array[10]
  2.   array           dd 4, 1, 0, 2, 5, 3, 8, 6, 9, 7
  3.   _BYTE shift[24]
  4.   shift           db 80h, 40h, 20h, 10h, 8, 4, 2, 1, 10h dup(0)
  5.   name = argv[1];
  6.   key = argv[2];
  7.   name_length = strlen(argv[1]) + 2;
  8.   index = 0;
  9.   for ( i = 0; i < name_length - 2 && i <= 9; ++i )
  10.   {
  11.     if ( index == name_length )
  12.       index = 0;
  13.     v14 = 0x80;
  14.     v13 = 0;
  15.     for ( j = 0; j <= 6; ++j )
  16.     {
  17.       if ( v14 & name[index] )
  18.         ++v13;
  19.       v14 >>= 1;
  20.     }
  21.     for ( k = 0; k < v13 && k <= 7; ++k )
  22.     {
  23.       v10 = 0;
  24.       if ( k && k >= 0 )
  25.       {
  26.         for ( l = 0; l < k; ++l )
  27.           v10 |= shift[l];
  28.       }
  29.       ::key[array[k]] = name[index] << k;
  30.       ::key[array[k]] |= v10;
  31.     }
  32.     ++index;
  33.   }
  34.   v18 = name_length - 2;
  35.   v8 = 0;
  36.   while ( v18 <= 9 )
  37.     ::key[array[v18++]] = ::key[array[v8++]] ^ 0xA;
  38.   for ( m = 0; m <= 9; ++m )
  39.     ::key[m] &= 0x7Fu;
  40.   for ( n = 0; n <= 9; ++n )
  41.   {
  42.     if ( ::key[array[n]] != key[n] )
  43.     {
  44.       puts("key not found");
  45.       exit(1);
  46.     }
  47.   }
  48.   puts("key found. Congratulations");

Ранг: 5.4 (гость)
Статус: Участник

Создано: 29 июля 2019 08:44 New!
Цитата · Личное сообщение · #5

SaNX я компилировал из под линукса, но mingw-w64 врядли компилит для отладки, я такой опции не ставил. Это скорее всего ida умеет. Хотя вот так, чтобы key[array], это конечно не может быть.

Добавлено спустя 4 минуты
SaNX если бы я назвал её bithackme.exe то тогда понятно. А ты crackme решил по легкому.

Ранг: 456.3 (мудрец)
Статус: Участник
Android Reverser

Создано: 29 июля 2019 08:52 · Поправил: SaNX New!
Цитата · Личное сообщение · #6

xverizex пишет:
bithackme

нет такой классификации. есть crackme, keygenme, unpackme. учи матчасть, сынок.


Ранг: 1115.7 (!!!!)
Статус: Участник

Создано: 29 июля 2019 08:59 New!
Цитата · Личное сообщение · #7

xverizex пишет:
если бы я назвал её bithackme.exe


видимо, есть ещё bytehackme, kbytehackme, e.t.c

Ранг: 48.6 (посетитель)
Статус: Участник

Создано: 29 июля 2019 14:14 · Поправил: UniSoft New!
Цитата · Личное сообщение · #8

xverizex пишет:
Я прикрепил файл crackme. Он консольный. Пишешь ник и ключ.

кривой он какой-то...
UniSoft - "thP`p\0\0~bZ" - в хексе так: 74 68 50 60 70 00 00 7E 62 5A
что не так?
Code:
  1. const unsigned char g_array[] = { 4, 1, 0, 2, 5, 3, 8, 6, 9, 7 };
  2. const unsigned char g_shift[] = { 0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01 };
  3.  
  4. bool keygen(const char *pszName, char *pszKey)
  5. {
  6.   int len, msk, cnt;
  7.   char key[12];
  8.   
  9.   if (!pszName)
  10.     return false;
  11.   
  12.   len = strlen(pszName);
  13.   if (len > 10)
  14.     len = 10;
  15.   
  16.   for (int i = 0; i < len; i++)
  17.   {
  18.     cnt = 0;
  19.     msk = 0x80;
  20.     
  21.     for (int j = 0; j < 7; j++)
  22.     {
  23.       if (msk & pszName[j]) cnt++;
  24.       msk >>= 1;
  25.     }
  26.     
  27.     for (int j = 0; j < cnt; j++)
  28.     {
  29.       msk = 0;
  30.       if (!= 0) for (int k = 0; k < j; k++) msk |= g_shift[k];
  31.       key[g_array[j]] = (char)((pszName[i] << j) | msk);
  32.     }
  33.   }
  34.   
  35.   for (int i = 0; len < 10;)
  36.     key[g_array[len++]] = key[g_array[i++]] ^ 0x0A;
  37.   
  38.   for (int i = 0; i < 10; i++)
  39.     *pszKey++ = key[g_array[i]] & 0x7F;
  40.   
  41.   *pszKey = '\0';
  42.   return true;
  43. }
  44.  
  45. bool verify(const char *pszName, const char *pszKey)
  46. {
  47.   char key[12];
  48.   if (pszKey && keygen(pszName, key) && memcmp(pszKey, key, 10) == 0)
  49.     return true;
  50.   else
  51.     return false;
  52. }

| Сообщение посчитали полезным: d745150


Ранг: 38.8 (посетитель)
Статус: Участник

Создано: 29 июля 2019 14:22 New!
Цитата · Личное сообщение · #9

crackmyass лучший вариант))
и прячешь там все свои логины и пароли


Ранг: 119.4 (ветеран)
Статус: Участник

Создано: 29 июля 2019 14:33 New!
Цитата · Личное сообщение · #10

xverizex я вижу у вас много свободного времени,тогда не поленитесь возьмите nero 8 и photoshop 7 там интересный алгоритм проверки ключа и на их основе сделайте нормальный keygenme.exe x32 gui напихайте антиотладки кучи брекпоинтов проверок crc и упакуйте x-lock с переполнением буфера. И сразу к нам.
тут найдутся желающие закегейнить его за пол часика до обеда.

| Сообщение посчитали полезным: BlackCode


Ранг: 5.4 (гость)
Статус: Участник

Создано: 29 июля 2019 18:17 New!
Цитата · Личное сообщение · #11

UniSoft как ты смог узнать алгоритм с данными? Тоже ida? Я на линуксе сижу в основном и у меня нет таких инструментов.

Добавлено спустя 0 минут
Надо бы купить ida.

Добавлено спустя 10 минут
Можете подсказать? А такой crackme с дебаг инфо? Я сделал strip файл.
Прикрепил файл.

{ Атач доступен только для участников форума } - crackme.exe

Ранг: 48.6 (посетитель)
Статус: Участник

Создано: 29 июля 2019 19:53 New!
Цитата · Личное сообщение · #12

xverizex пишет:
как ты смог узнать алгоритм с данными? Тоже ida?

Да вроде так-же как и всегда... из листинга дизассемблера...
Ну вобщем-то да IDA, ну а так и любой другой дизассемблер подойдет, просто видимо привычка.

xverizex пишет:
Я на линуксе сижу в основном и у меня нет таких инструментов.

И что? Есть же WINE, под ним вроде работали какие-то версии IDA 6.x.
К тому же теперь уже есть и бесплатная Ghidra.

Ранг: 5.4 (гость)
Статус: Участник

Создано: 29 июля 2019 20:11 New!
Цитата · Личное сообщение · #13

UniSoft вот смотри, я щас курс смотрел и узнал что есть ida 7 freeware.
--> Link <--
И также он доступен и для линукс. Как думаешь, много ли в нём функционала, по сравнению с другой, платной версией ida?

Добавлено спустя 8 минут
А как мне посмотреть в ida сишный код? Я не могу понять, столько функционала.

Ранг: 48.6 (посетитель)
Статус: Участник

Создано: 29 июля 2019 21:09 New!
Цитата · Личное сообщение · #14

xverizex пишет:
Надо бы купить ida.

ага, смешно...

xverizex пишет:
Как думаешь, много ли в нём функционала, по сравнению с другой, платной версией ida?

примерно как у кота, которого кастрировали по самые гланды...
Юзайте Ghidra, она более функциональнее бесплатной ida

xverizex пишет:
А как мне посмотреть в ida сишный код?

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

| Сообщение посчитали полезным: DrVB_5_6



Ранг: 291.1 (наставник)
Статус: Участник

Создано: 31 июля 2019 07:15 New!
Цитата · Личное сообщение · #15

xverizex

> А битхак это самый начинающий уровень. А ты попробуй кейген составить.

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

Ранг: 5.8 (гость)
Статус: Участник

Создано: 1 августа 2019 01:25 · Поправил: d745150 New!
Цитата · Личное сообщение · #16

Алго лажа какая-то. Как написал UniSoft, с 0x00 сравнивает многие. Долго придумывал что подойдёт, накопал валидные:
Code:
  1. KEY Y2dS8nY2dS
  2. exe eJTo@^eJTo


Для "исправленной" версии:
Code:
  1. KEY SSn28dYYd2
  2. exe oo^J@TeeTJ


xverizex, когда придумывал алгоритм, не подумал, что юзверю много раз придётся имя "подходящее" в паспортном столе менять?

PS: Не открывал в IDA Pro (v6.4 Linux + Hex-Rays), сорцов не видел. Смотрел в x64dbg. Вот что в итоге увидел Если это крякми, то лечим 1 байтом (выделен на скрине), если кейгенми, то сырки дёрнуть не проблема (только он получится рабочий через сотню раз).

Ранг: 5.4 (гость)
Статус: Участник

Создано: 1 августа 2019 07:23 New!
Цитата · Личное сообщение · #17

difexacaw хеллоуворд говоришь? Я видел крэкми, которые в алгоритме только плюсовали значения символа. Там алгоритм простой. И не какой защиты нет. Покажи крэкми, который мешает патчингу?

Ранг: 456.3 (мудрец)
Статус: Участник
Android Reverser

Создано: 1 августа 2019 08:09 · Поправил: SaNX New!
Цитата · Личное сообщение · #18

xverizex пишет:
Покажи крэкми, который мешает патчингу?

а ты все никак не уймешься?
Покажи класс, пропатчи, мамкин хакер )


{ Атач доступен только для участников форума } - crkame.exe

Ранг: 48.6 (посетитель)
Статус: Участник

Создано: 1 августа 2019 08:45 · Поправил: UniSoft New!
Цитата · Личное сообщение · #19

Не товарищи, на счет crackme, просто навеяло...
https://youtu.be/jV9uXh_1Pso

а в целом все же просто
crackme - от слова to crack - ломать (не уточняется как именно)
keygenme - закейгень меня
unpackme - распакуй меня

в данном случае автор имел в виду keygenme,
но такие алгоритмы не имеют смысла, так как по-сути сам keygenme и является кейгеном,
за исключением того, что не выводит результат, а просто сравнивает его с введенным ключем.
Бряк на сравнение и видим ключ в открытом виде.

Ранг: 125.4 (ветеран)
Статус: Участник

Создано: 1 августа 2019 11:00 New!
Цитата · Личное сообщение · #20

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

Скоро лето кончится, а вы такой ерундой занимаетесь

| Сообщение посчитали полезным: BlackCode, plutos


Ранг: 44.7 (посетитель)
Статус: Участник

Создано: 1 августа 2019 11:36 · Поправил: BlackCode New!
Цитата · Личное сообщение · #21

Ладно, что вы на парня накинулись
Главное ТС уяснить, что crackme, keygenme и т.д., это публичная демонстрация уровня знаний и опыта
реверсинженера, один из способов делиться знаниями с целью научить менее опытных собратьев.
Может я не прав, тогда поправьте меня
Соответственно, реверсер может писать задачи (крякмисы) для ньюбов, но сам он не должен быть ньюбом.
Так что вам надо еще многое узнать и постичь, прежде начинать писать крякмисы.
У вас нет тех знаний, которыми можно было бы поделиться с начинающими,
ибо вы сами в начале долгого пути реверсера.

| Сообщение посчитали полезным: plutos



Ранг: 291.1 (наставник)
Статус: Участник

Создано: 1 августа 2019 17:44 New!
Цитата · Личное сообщение · #22

xverizex

> Покажи крэкми, который мешает патчингу?

А что ты там увидишь, если у тебя знания нулевые. Любой вирт код не получится пропатчить без девирта. Или в более простом случае если на код наложен слой пакера - до момента распаковки там патчить нечего, код не присутствует в памяти, либо на его месте крипто-данные.

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

> Я видел крэкми, которые в алгоритме только плюсовали значения символа.

Под лини ?
В нт всё иначе, крэкми должен содержать некоторые техники защиты, криптография к ним не относится.

Добавлено спустя 18 минут
BlackCode

> Соответственно, реверсер может писать задачи (крякмисы) для ньюбов

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

Ранг: 48.6 (посетитель)
Статус: Участник

Создано: 1 августа 2019 19:49 New!
Цитата · Личное сообщение · #23

SaNX пишет:
Покажи класс, пропатчи...

А интересный крякмис... выполняется проверка в контексте другого процесса...
000038E4: 63 7B или просто 9172


Ранг: 291.1 (наставник)
Статус: Участник

Создано: 1 августа 2019 19:55 · Поправил: difexacaw New!
Цитата · Личное сообщение · #24

UniSoft

Интерсный он тем, что в хидер забита версия ОС 6.0(на меньшей нет этой кучи говна, импорта; по этой причине там это не запустится) и соответственно куча плюсового мусора(сишный ртл в виде десятка мусорных либ). Кому такое вообще запускать то нужно, если импорта больше чем модуля


Ранг: 64.8 (постоянный)
Статус: Участник

Создано: 2 августа 2019 17:08 New!
Цитата · Личное сообщение · #25

Все понятно. Очередной усер для проверки его детищя. Небось новый "Paint" защитить хочет...

| Сообщение посчитали полезным: morgot



Ранг: 291.1 (наставник)
Статус: Участник

Создано: 12 августа 2019 01:24 · Поправил: difexacaw New!
Цитата · Личное сообщение · #26

Не знал что тут есть раздел с крэкми. 8 крэков за 10 минут, я с кнопками взял --> Link <--, кто больше

Как не нужно делать крэкми


Ранг: 119.4 (ветеран)
Статус: Участник

Создано: 12 августа 2019 23:50 New!
Цитата · Личное сообщение · #27

difexacaw пишет:
8 крэков за 10 минут,

там кейген ми были задача не узнать адрес кнопок а именно сделать ключеген так строки есть и в referenced text в чём смысл фильма?

Ранг: 69.7 (постоянный)
Статус: Участник

Создано: 13 августа 2019 00:04 New!
Цитата · Личное сообщение · #28

SDK
Ага, улыбает ребенок..


Ранг: 291.1 (наставник)
Статус: Участник

Создано: 13 августа 2019 10:03 New!
Цитата · Личное сообщение · #29

SDK

Может пару и было, остальные это крэкми. Кейген не пакуют ничем, upx как в первом семпле. Впрочем какая разница, автоматика элементарно находит нужное место для патча, какое там содержимое без разницы, главное что не вм. Хотя для вм можно сделать аналогично - выборка на R/W, а не на исполнение даст тот же результат.


Ранг: 119.4 (ветеран)
Статус: Участник

Создано: 13 августа 2019 23:14 New!
Цитата · Личное сообщение · #30

difexacaw а вы сами не хотите написать для нас крекми?
. 1 . 2 . >>
 eXeL@B —› Крэки, обсуждения —› Новый crackme от xverizex

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS