![]() |
eXeL@B —› Вопросы новичков —› подход к работе по воссозданию алгоритма |
Посл.ответ | Сообщение |
|
Создано: 27 июня 2015 13:14 · Личное сообщение · #1 Коллеги, Каков будет правильный подход при анализе неизвестного алгоритма? Разберем конкретную ситуацию. crackme с генерацией кода по имени. задача написать keygen на любом языке. Т.е я в IDA вижу например, что алгоритм содержит таблицу из 15 переходов и таблицу с константами. Вся таблица по очереди перебирается и в зависимости от константы в таблице происходит переход по таблице. По имеющимся сейчас данным я сразу определить, что за алгоритм не могу. Нужно скрупулезное восстановление алгоритма. Правильным ли будет подход с буквально построчным восстановлением алгоритма на С ( к примеру ) ? Т.е прям заведение переменных соответствующих регистрам и так далее. Один в один. Это верный подход? ![]() |
|
Создано: 27 июня 2015 13:49 · Поправил: dosprog · Личное сообщение · #2 |
|
Создано: 27 июня 2015 14:31 · Личное сообщение · #3 |
|
Создано: 27 июня 2015 15:56 · Личное сообщение · #4 vlad2010 Сначала надо определить самопальный это алго или какая-то общеизвестная хеш-функция ----- Research For Food ![]() |
|
Создано: 27 июня 2015 17:35 · Личное сообщение · #5 daFix пишет: Сначала надо определить самопальный это алго или какая-то общеизвестная хеш-функция Согласен. Но для 100% уверенности нужно хотя бы попробовать закодировать/раскодировать имеющийся кусок и убедиться, что результаты сходятся. Иначе, определив по константам возможный алго, можно не заметить модификацию. Например, SHA1 по константам похож на md5, 4 из 5 констант (IV) для SHA1 те же, что и у md5. Но у md5 всего их 4. ----- IZ.RU ![]() |
|
Создано: 27 июня 2015 18:24 · Личное сообщение · #6 vlad2010 пишет: Правильным ли будет подход с буквально построчным восстановлением алгоритма на С ( к примеру ) ? Т.е прям заведение переменных соответствующих регистрам и так далее. Один в один. браво, вы открыли логику работы hexrays плагина в ida такими темпами вам лучше в строители ![]() |
|
Создано: 27 июня 2015 20:13 · Поправил: vlad2010 · Личное сообщение · #7 Gideon Vi пишет: На старте - да. В смысле на старте изучения алгоритма или реверсинга в целом? Добавлено спустя 2 минуты daFix пишет: Сначала надо определить самопальный это алго или какая-то общеизвестная хеш-функция Да я думал об этом. Надо будет посмотреть реализации md5, sha1 Но как я уже говорил не всегда удается понять что это. Ну и потом да, алгоритм может быть самопальным. Добавлено спустя 3 минуты reversecode пишет: браво, вы открыли логику работы hexrays плагина в ida у меня бесплатная IDA 5.0 и плагина нет ollydbg еще ![]() |
|
Создано: 27 июня 2015 20:27 · Личное сообщение · #8 |
|
Создано: 28 июня 2015 01:48 · Личное сообщение · #9 vlad2010 пишет: или реверсинга в целом? так. Определение алго на глаз, по запаху или ещё как приходит с опытом. В начале стоит даже самые простые вещи разбирать до винтика, чтобы потом не бегать на форум каждый раз, когда kanal слажает. ![]() |
|
Создано: 28 июня 2015 11:33 · Личное сообщение · #10 |
![]() |
eXeL@B —› Вопросы новичков —› подход к работе по воссозданию алгоритма |