Сейчас на форуме: padad42664, kris_sexy, site-pro, vasilevradislav (+6 невидимых)

 eXeL@B —› Крэки, обсуждения —› Интерполирование для создания кейгена: прокатит?
. 1 . 2 . 3 . >>
Посл.ответ Сообщение


Ранг: 155.4 (ветеран)
Активность: 0.140
Статус: Участник
Робо-Алкаш

Создано: 18 июля 2007 19:55
· Личное сообщение · #1

В любом случае генерация ключа это функция. А если есть таблица значений функции на некотором множестве точек, то возможно найти аппроксимирующую функцию с помощью интерполирования. (Можно с помощью многочлена Лагранжа- метод).
Тоесть мы пишим трейсер, который будет для различных имен искать соответствующие ключи. Далее интерполируем эту таблицу и находим аппроксимирующую функцию... В тулзе которая будет интерполировать реализуем выбор погрешности.
Нашли функцию , вставляем ее в кейгенбилдер)) и кейген готов. ХВАЛА МАТЕМАТИКЕ)))!!!

Если алгоритм генерации не сложный то все получится?
Я прав? Это возможно?

-----
Researcher





Ранг: 271.6 (наставник), 2thx
Активность: 0.30
Статус: Участник

Создано: 18 июля 2007 19:59
· Личное сообщение · #2

Будь проще.
ASM to Clipboard рулед!

-----
iNTERNATiONAL CoDE CReW




Ранг: 59.9 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 18 июля 2007 20:01 · Поправил: El_Diablo
· Личное сообщение · #3

Зачем так заморачиваться, проще изучить код генерации ключа,ну а дальше по совету Spirit'а




Ранг: 155.4 (ветеран)
Активность: 0.140
Статус: Участник
Робо-Алкаш

Создано: 18 июля 2007 20:10
· Личное сообщение · #4

Преимуществ0 этого метода при возможности:
- быстрота
тебе только нужно подправить немножко трейсер (а именно события при которых нада писать значение и откудва его брать)

-----
Researcher




Ранг: 161.0 (ветеран)
Активность: 0.120
Статус: Участник

Создано: 18 июля 2007 20:18
· Личное сообщение · #5

Ну если пару строчек генерация, то спокойно все получится, если же больше, то придется немножко дописывать и исправлять..




Ранг: 155.4 (ветеран)
Активность: 0.140
Статус: Участник
Робо-Алкаш

Создано: 18 июля 2007 20:23
· Личное сообщение · #6

kaiZer, от крэкера при данной методе требуется только найти место где можно взять ключ, в определенный момент трэйса (может он где либо светится в стэке или в памяти), только это и нужно сделать. Вот фича только , чтобы не разбирать алгоритм.
Конструктивно это может не получится только если алго генерации делает ключ очень долго по времени (много тактов жрет) вот тогда чтобы точно сапроксимировать это понадобится много времени на составление таблицы((((
Можно от этой фигни сделать априорную оценку типа алго дофига длинный во времени продолжить?

-----
Researcher





Ранг: 271.6 (наставник), 2thx
Активность: 0.30
Статус: Участник

Создано: 18 июля 2007 20:31
· Личное сообщение · #7

Ты типа универсальный кейфишер пишешь?

-----
iNTERNATiONAL CoDE CReW




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

Создано: 18 июля 2007 20:38
· Личное сообщение · #8

overwriter пишет:
Я прав? Это возможно?

Имхо бред. Через 5 минут я выложу файл с набором значений функции принимающей и возвращающей dword. Даю 10000 значений, попробуй найти аппроксимирующую функцию если получиться...



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

Создано: 18 июля 2007 20:49
· Личное сообщение · #9

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

fdaf_18.07.2007_CRACKLAB.rU.tgz - num.txt



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

Создано: 18 июля 2007 20:50
· Личное сообщение · #10

забыл сказать - искомая функция занимает 13 ассемблерных комманд.




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 18 июля 2007 21:03
· Личное сообщение · #11

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




Ранг: 155.4 (ветеран)
Активность: 0.140
Статус: Участник
Робо-Алкаш

Создано: 18 июля 2007 21:20
· Личное сообщение · #12

Sly Ass
Я еще не писал прогу) Я спрашиваю можно ли это опровергнуть математически.
Archer
Ладно пусть функция не элементарная. Я разве утверждал что она будет гладкая? А метод Лагранжа я просто привел. Для негладких функций можно применять сплайн (кусочно полиномиальная функция).
Среди довыдов которые опровергают этот "метод" только моя недостаток номер раз:
overwriter пишет:
Конструктивно это может не получится только если алго генерации делает ключ очень долго по времени (много тактов жрет) вот тогда чтобы точно сапроксимировать это понадобится много времени на составление таблицы((((
Можно от этой фигни сделать априорную оценку типа алго дофига длинный во времени продолжить?


2Moderatorz, не закрывайте пока топик, пожалуйста.
З.Ы. придет bloom полажает это (а он в математике шарит) тогда прикрывать можно)

-----
Researcher




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

Создано: 18 июля 2007 23:54
· Личное сообщение · #13

overwriter пишет:
Я еще не писал прогу) Я спрашиваю можно ли это опровергнуть математически.

Насчет математического опровержения хз, но я не представляю возможность аппроксимации высоко нелинейных функций.
Пример: есть черный ящик выполняющий шифрование блока данных по AES на неизвестном ключе. Сколько пар plaintext-ciphertext не имей, а получить ключ или узнать результат шифрования произвольного набора данных еще никому не удавалось. Более простой пример - моя функция в 13 комманд. Она хоть крайне проста, но в высокой степени нелинейна.



Ранг: 13.9 (новичок)
Активность: 0=0
Статус: Участник

Создано: 19 июля 2007 01:04
· Личное сообщение · #14

можно загнать все значения функции в Excel, потом по значениям построить линейный график, добавить на график линию тренда (аппроксимацию брать лучше не полиномиальную, так как при высоком кол-ве степеней полинома прогнозная сила модели очень сильно страдает, хотя объясняющая сила будет высокой). Потом выбрать в параметрах прогноз на пару периодов, и поставить галочку "показывать уравнение на диаграмме". Ещё там есть велчина достоверности аппроксимации R^2, она будет показывать на сколько %-ов уравнение описывает поведение исследуемого показателя. чем больше - тем лучше.



Ранг: 213.5 (наставник)
Активность: 0.120
Статус: Участник
забанен

Создано: 19 июля 2007 01:29 · Поправил: Demon666
· Личное сообщение · #15

overwriter пишет:
требуется только найти место где можно взять ключ, в определенный момент трэйса (может он где либо светится в стэке или в памяти), только это и нужно сделать

Мой плагин такое умеет, причем есть программный ускоритель и отслеживает все, потом юзается простой поиск и результат себя долго не заставляет ждать, но обсуждать это вот так, бред! Одна теория только будет...
Тебе вот так просто никто жевать ничего не станет без ИМХО!

Archer пишет:
топик лучше закрыть.

+1

-----
ЗЫ: истЕна где-то рядом, Welcome@Google.com





Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 19 июля 2007 07:14
· Личное сообщение · #16

overwriter

Это очень легко!

Никого не слушай, ты молодец.

Для аппроксимации я использую MATLAB-функцию fminsearch.

Вот алгоритм подбора:

Подбираешь похожую функцию (например, если на отрезке похожа на abs (x), то и выбираешь ее);
Пишешь функцию, которая зависит от одной переменной (а если переменных несколько, то они передаются вектором), которая выдает отклонение. Отклонение - это разница между значением функции из исходной таблицы и мгновенного значения аппроксимирующей функции при данном х. Если отклонения большие, обычно используют какой - то коэффициент (весовым он называется =) или, если отклонение распределено неравномерно - на весовую функцию.
Дальше находишь приблизительно первые значения аппроксимирующей функции и передаешь в параметры fminsearch.
Правда не факт, что тебе значения еще эти будут найдены =)

Хуже работает systat, через TableCurve2D. Но это, конечно, легче.

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.





Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 19 июля 2007 07:19
· Личное сообщение · #17

А fminsearch называется, потому что "ФИНИТИРОВАНИЕ" задача называется, вот так вот =)

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 19 июля 2007 08:07
· Личное сообщение · #18

Ну, вообще говоря, функция ключа может быть и табличной. И если, скажем, тебе известно, что на отрезке [0,7] она принимает 5, то попробуй подгони через интерполяцию, что в точке 9 она будет равна, скажем, 17. Отсюда я и говорю, что она может не подчиняться вообще никаким законам, а интерполяция основана на том, что функция хоть по какому-то закону. Да даже если и не табличная, зависимость может быть настолько сложной, что никогда в предельную погрешность вычисленные значения не лягут. Так что может для какой-то ограниченной и узкой части программ и покатит, но для большинства-нет. Иначе все бы так и гоняли РСА через интерполяцию.




Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 19 июля 2007 08:37
· Личное сообщение · #19

Archer пишет:
Иначе все бы так и гоняли РСА через интерполяцию


Да дело не в сложности даже.
RSA имеет, так сказать, вероятность коллизии, хотя и очень малую.
Поэтому этот алгоритм автоматически исключается из рядов функций, и метод интерполяции к нему применим только на малых отрезках.

А если взять огромную кусочно-непрерывную функцию и огромную вычислительную мощность (когда это будет?), можно интерполировать и rsa.

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.




Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 19 июля 2007 08:57 · Поправил: Smon
· Личное сообщение · #20

Чё за бред ? RSA не интерполируется, и вообще любые нормальные криптоалгоритмы имеют качественный разброс точек соответствующих значениям, да такой, что проинтерполировать его вообще нереально...
Иными словами, имея 10 образцов пошифрованного стойким криптоалгоритом (AES-256 например) кода и 9 образцов расшифрованного кода на данный момент нельзя определить ни ключ которым производилось шифрование, ни расшифровать оставшийся образец интерполяцией

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels





Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 19 июля 2007 09:04 · Поправил: Crawler
· Личное сообщение · #21

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

Никто и не спорит, это только голая теория.
Ну ессесно, для нормальных алгоритмов ни по 10, ни по 1000000 значений невозможно это.

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.





Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 19 июля 2007 09:09
· Личное сообщение · #22

Только ты не путай. При определенной степени приближения интерполировать можно все, что является функцией. Другое дело, что для нас, людей, это пока невозможно.

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.




Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 19 июля 2007 09:09
· Личное сообщение · #23

Да, еще пример - простейший MD5:
Хэши соответствующие числам:
1 - c4ca4238a0b923820dcc509a6f75849b
2 - c81e728d9d4c2f636f067f89cc14862c
3 - eccbc87e4b5ce2fe28308fd9f2a7baf3
4 - a87ff679a2f3e71d9181a67b7542122c
5 - ? (попробуем определить интерполяцией, не зная алгоритма MD5)

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

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels





Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 19 июля 2007 09:14
· Личное сообщение · #24

Я что тебе хочу сказать: как математическая функция, md5 не так прост. И по 5, и по тысяче значений такие функции не интерполируют. Тут уже ряды Фурье на сцену выходят. Но это так безумно сложно, что я даже не могу представить, кто может это выполнить и когда.

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.




Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 19 июля 2007 09:16
· Личное сообщение · #25

Crawler
Просто относительно других алгоритмов - MD5 далеко не самый сложный... Метод интерполяции может и даст определенные результаты - но только на основе сложного анализа миллиардов значений.... что требует пока недоступных вычислительных мощностей...

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels





Ранг: 216.9 (наставник), 85thx
Активность: 0.310.15
Статус: Участник
X-Literator

Создано: 19 июля 2007 09:20
· Личное сообщение · #26

Smon
Ы, как заумно сказано =)

Не могу не согласиться. Но я думаю, эти мощности скорее пустят на тупой брут более стойких алгоритмов =(

-----
Харе курить веники и нюхать клей, к вам едет из Америки бог Шива, и он еврей.




Ранг: 203.3 (наставник)
Активность: 0.220
Статус: Участник
UPX Killer -d

Создано: 19 июля 2007 10:34
· Личное сообщение · #27

После соответствующих лекций по математике, меня тоже посещали идеи "использования математических методов в нашем деле", но, увы... было бы всё так просто.
Можно тупо интерполировать/аппроксимировать, только результаты будут никакие, т.к. у методов есть условия и границы применения.

-----
Я медленно снимаю с неё UPX... *FF_User*




Ранг: 309.8 (мудрец), 21thx
Активность: 0.170
Статус: Участник

Создано: 19 июля 2007 10:45
· Личное сообщение · #28

так просто?
не вникая в суть...
пусть в рег схеме rsa... и что будешь делать?

-----
Shalom ebanats!




Ранг: 13.9 (новичок)
Активность: 0=0
Статус: Участник

Создано: 20 июля 2007 01:51
· Личное сообщение · #29

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



Ранг: 309.8 (мудрец), 21thx
Активность: 0.170
Статус: Участник

Создано: 20 июля 2007 13:05
· Личное сообщение · #30

пользы ноль от этого... =]

-----
Shalom ebanats!



. 1 . 2 . 3 . >>
 eXeL@B —› Крэки, обсуждения —› Интерполирование для создания кейгена: прокатит?
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати