![]() |
eXeL@B —› Вопросы новичков —› Алгоритм шифрования |
Посл.ответ | Сообщение |
|
Создано: 11 января 2007 23:15 · Личное сообщение · #1 Есть некая программа которая алгоритм защиты которой шифрует (и дешифрует) байты: Если зашифровать цифру 0 (hex 30) ответ получится 29 соответственно HEX: 31(цифра 1) - 8F 32 - 76 33 - 6D 34 - 05 35 - DD Как понять по какому алгоритму это происходит? (алгоритм точно обратимый т.к. программа потом может их расшифровать, соседние байты в шифровании не участвуют). Могу привести другие примеры если нужно. ![]() |
|
Создано: 11 января 2007 23:47 · Личное сообщение · #2 |
|
Создано: 12 января 2007 00:56 · Личное сообщение · #3 |
|
Создано: 12 января 2007 01:06 · Личное сообщение · #4 ekap пишет: Если зашифровать цифру 0 (hex 30) ответ получится 29 ekap пишет: Как понять по какому алгоритму это происходит? (алгоритм точно обратимый т.к. программа потом может их расшифровать Если каждый байт всегда одинаково зашифровывается - это называется табличный алгоритм. При правильном построении он обратим. Был известен еще в Римской империи - "код Цезаря". Какие еще алгоритмы - строишь таблицу и простенькая программа. Все остальное в данном случае дольше и дороже. ![]() |
|
Создано: 12 января 2007 02:06 · Личное сообщение · #5 |
|
Создано: 12 января 2007 09:45 · Личное сообщение · #6 |
|
Создано: 13 января 2007 02:23 · Личное сообщение · #7 ekap пишет: таблицу придется не одну строить Здесь не форум игры в Угадайку. Даже имея полную таблицу, алгоритм строить сложно. Без таблицы невозможно - поэтому твое заявление, просто глупость. Если алгоритм заложен в проге, надо ее реверсить и думать. Кудесников, которые по 5 строчкам угадывают алгоритм тут нет. Подстановочные шифры сейчас никто не использует, т.ч. либо ты ошибся, либо таблица генерится (например, через случайные числа) и тебе надо найти сначала таблицу, а потом генератор. Если шифрование на стороне сервера, то вообще труба. ![]() |
|
Создано: 14 января 2007 22:51 · Личное сообщение · #8 HoBleen пишет: ekap Ты уверен что каждый символ шифруется в один и тот же символ на разных позициях и его шифр не зависит от остальных символов? Еслибы я в этом не был уверен я бы не стал сюда даже писать по этому поводу. tundra37 пишет: Здесь не форум игры в Угадайку. Даже имея полную таблицу, алгоритм строить сложно. Без таблицы невозможно - поэтому твое заявление, просто глупость. Если алгоритм заложен в проге, надо ее реверсить и думать. Кудесников, которые по 5 строчкам угадывают алгоритм тут нет. Подстановочные шифры сейчас никто не использует, т.ч. либо ты ошибся, либо таблица генерится (например, через случайные числа) и тебе надо найти сначала таблицу, а потом генератор. Если шифрование на стороне сервера, то вообще труба. Через случайные числа таблица генерится не может т.к. после программа после перезапуска нужно выводить расшифрованое значение. Наверно ты прав приделся её распаковывать... ![]() |
|
Создано: 15 января 2007 07:43 · Личное сообщение · #9 ekap пишет: Как понять по какому алгоритму это происходит? Только посмотреть сам алгогритм. Может там подстановочный, может сложение или ксор, даже если так, то без ключевых байт (которые идут на подстановку, ксор или сложение) угадать очень сложно. Эти ключевые таблички наверняка могут быть построены в зависимости от введенных данных. Это в лучшем простом случае. ----- Я медленно снимаю с неё UPX... *FF_User* ![]() |
|
Создано: 15 января 2007 23:06 · Личное сообщение · #10 AlexZ пишет: Только посмотреть сам алгогритм. Может там подстановочный, может сложение или ксор, даже если так, то без ключевых байт (которые идут на подстановку, ксор или сложение) угадать очень сложно. Эти ключевые таблички наверняка могут быть построены в зависимости от введенных данных. Это в лучшем простом случае. Пасиб, я уже понял что так определить алгоритм шиформания очень сложно. Сам пробовал перестановку бит в байте, наложение маски бит не то не другое не канает ![]() ![]() |
|
Создано: 16 января 2007 07:18 · Личное сообщение · #11 |
|
Создано: 16 января 2007 11:46 · Личное сообщение · #12 |
|
Создано: 16 января 2007 22:15 · Личное сообщение · #13 |
|
Создано: 16 января 2007 23:05 · Личное сообщение · #14 tundra37 пишет: Ты сделал типичную ошибку : описал не задачу, которую решаешь, а конец цепочки своих исследований, когда они зашли в тупик. И все дружно пытаются домыслить задачу и решать ее. Получается ерунда. Опиши полную проблему. Почему таблиц несколько ? tundra37 пишет: Откуда тогда берется много таблиц ?! Сори. Есть несколько значений (и текствоые и цифровые) которые сохраняются в файле в зашифрованом виде. У каждого из них зашифрованые значения разные. В примере то в котором может быть любой символ. Программа таким образом сохраняет в файле грубо говоря свои настройки. lord_Phoenix пишет: а если алго в проге есть - то вообще в чем проблема? 1) Я не умею распаковывать Asprotect (в данном случае один из последних) 2) Не очень хорошо разбираюсь в асемблере. Поэтому стараюсь решить задачу такми способом в котором я хоть что-то понимаю. ![]() |
|
Создано: 16 января 2007 23:43 · Личное сообщение · #15 ekap пишет: Сори. Есть несколько значений (и текствоые и цифровые) которые сохраняются в файле в зашифрованом виде. У каждого из них зашифрованые значения разные. В примере то в котором может быть любой символ. Программа таким образом сохраняет в файле грубо говоря свои настройки. Ну ты партизан ![]() ekap пишет: Я не умею распаковывать Asprotect (в данном случае один из последних) Для применения сигнатур не нужна рабочая прога - сделай дамп, например в олли, и натрави плаг. А твой подход обречен на неудачу - число таблиц перекодировок - факториал 256 - это огромное число. А ты пока ни одной закономерности не нашел ![]() ![]() |
|
Создано: 17 января 2007 05:20 · Поправил: ekap · Личное сообщение · #16 tundra37 пишет: Для применения сигнатур не нужна рабочая прога - сделай дамп, например в олли, и натрави плаг. Чё-то нашлось =) ADLER32 BASE64 table BLOWFISH [sbox] CRC16 (rev) [word] CRC32 CryptCreateHash [Name] CryptGenRandom [Name] CryptHashData [Name] MD4 MD5 PI fraction (NIMBUS / BLOWFISH) RIPEMD-320 [Init] SHA1 [Compress] ZLIB deflate [word] {Big number} (сохранил процесс при помощи winhex) tundra37 пишет: Таблица шифрования разная для разных порций текста или для разных файлов. И вообще она есть ? Для разных порций текста (смещения в я определил) в одном файле. Таблица или нет - незнаю. ![]() |
|
Создано: 17 января 2007 06:40 · Личное сообщение · #17 |
![]() |
eXeL@B —› Вопросы новичков —› Алгоритм шифрования |
Эта тема закрыта. Ответы больше не принимаются. |