Сейчас на форуме: igorcauret, Rio (+6 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Испорченный алгоритм хеширования? |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 31 января 2015 23:47 · Личное сообщение · #1 Добрый вечер! Ковыряю небольшую программульку, в которой защита основана на проверке контрольной суммы исполняемого файла. Алгоритм хеширования SHA-512, но у меня почему-то не сходятся хеши генерируемые программой и генератором онлайн. Вообще в программе также используется SHA-1\256\384, но лишь 1\256 отрабатываю правильно. Возможна ли порча алгоритма или же я что-то неправильно делаю? Начало хеширования: Code:
Хеширование: Code:
![]() ![]() |
|
Создано: 01 февраля 2015 00:01 · Личное сообщение · #2 |
|
Создано: 01 февраля 2015 00:05 · Личное сообщение · #3 |
|
Создано: 01 февраля 2015 00:06 · Личное сообщение · #4 |
|
Создано: 01 февраля 2015 00:17 · Личное сообщение · #5 |
|
Создано: 01 февраля 2015 00:20 · Личное сообщение · #6 |
|
Создано: 01 февраля 2015 00:40 · Личное сообщение · #7 |
|
Создано: 01 февраля 2015 02:46 · Личное сообщение · #8 |
|
Создано: 01 февраля 2015 04:11 · Личное сообщение · #9 dex015 пишет: в которой защита основана на проверке контрольной суммы исполняемого файла Ну так бряк на CreateFileA и из этого выходи. dex015 пишет: Прогу приатачил На обменник заливать надо (и оригинальную, а не после VMUnpacker'a), а не аттачить сюда. В конце файла 64 байта - вот на них думаю стоит обратить внимание. Добавлено спустя 5 минут Code:
Вот тут размер файла - 64 байта ----- ds ![]() |
|
Создано: 01 февраля 2015 04:27 · Личное сообщение · #10 Оригинальная версия : DimitarSerg пишет: Ну так бряк на CreateFileA и из этого выходи. С защитой я уже давно разобрался, пропатчил, с этим проблем нет, вопрос именно в правильности алгоритма, хочу всё-таки понять, что там не так. Видимо hmac. ![]() |
|
Создано: 01 февраля 2015 12:47 · Личное сообщение · #11 |
|
Создано: 01 февраля 2015 19:39 · Личное сообщение · #12 Code:
![]() |
|
Создано: 01 февраля 2015 20:06 · Личное сообщение · #13 |
|
Создано: 02 февраля 2015 00:03 · Личное сообщение · #14 |
|
Создано: 02 февраля 2015 00:55 · Личное сообщение · #15 |
|
Создано: 02 февраля 2015 02:10 · Личное сообщение · #16 у вас в Олли, то одни то другие константы хватит уже угадывать там 4 штуки хешей SHA1 SHA256 SHA384 SHA512 берите в ручную и разбирайте каждый, при каких условиях они инициализируются(используются) ![]() |
|
Создано: 02 февраля 2015 02:32 · Поправил: gazlan · Личное сообщение · #17 dex015 пишет: Не знаю где вы смотрите В файле, разумеется. ![]() reversecode пишет: там 4 штуки хешей SHA1 SHA256 SHA384 SHA512 Действительно, там ниже по коду: Code:
![]() |
|
Создано: 02 февраля 2015 04:18 · Личное сообщение · #18 В проге по всей видимости кривая реализация SHA384\512, хеш SHA-384 цифры 1 там получается: b23c7bb52a9420a6fa46d8230fe998a7e1c264e195247260e4e0d75c456758fc340bb0814f7395d19ef6c50a9b98bb58 а по всем православным канонам, должен: 47f05d367b0c32e438fb63e6cf4a5f35c2aa2f90dc7543f8a41a0f95ce8a40a313ab5cf36134a2068c4c969cb50db776 SHA1\256 там хеширует правильно. ![]() |
|
Создано: 02 февраля 2015 05:47 · Личное сообщение · #19 dex015 пишет: В проге по всей видимости кривая реализация SHA384\512 Либо специально модифицированная. ![]() |
|
Создано: 02 февраля 2015 10:54 · Личное сообщение · #20 никто на делфи велосипедов изобретать не будет значит либа хешей на паблике например функция Code:
очень напоминает код от сюда итд если продолжить гуглить обязательно найдете всю реализацию ![]() |
|
Создано: 02 февраля 2015 14:34 · Личное сообщение · #21 Prober пишет: Либо специально модифицированная. Не думаю, так как хеш exe файла, впоследствии, ещё немного портится, в нём нули заменяются девятками, то есть после модифицированного алгоритма это как бы бессмысленно. имхо. reversecode пишет: никто на делфи велосипедов изобретать не будет Согласен, я уже тоже думал об этом и хотел посмотреть реализацию SHA в KOL, ну а теперь и по ссылке. ![]() |
![]() Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг" |
Создано: 02 февраля 2015 17:51 · Личное сообщение · #22 Code:
Code:
кстати, есть еще Code:
![]() |
|
Создано: 02 февраля 2015 19:18 · Личное сообщение · #23 ELF_7719116 пишет: кстати, есть еще Есть, но пока я не встречал, где он там используется. reversecode пишет: очень напоминает код от сюда Код оттуда, тоже хеширует не правильно, хотя может я как-то не так его использую: Code:
Получается почему-то: E91FE173F59B063D620A934CE1A010F2B114C1F3 ![]() |
|
Создано: 02 февраля 2015 19:43 · Личное сообщение · #24 я рекомендую смотреть в др. стророну.. берем нотепад.. ищем DCP (модуль DCPCrypt) популярный делфишный.. не находим.. ищем Crypt.. ну находим hiCryptography ищем Hash нахоидм hiHashsum гуглим находим в сорцах http://hiasm.googlecode.com/svn/elements/delphi/code/hiHashsum.pas и поддерживаю reversecode.. никто великов особо не изобретает.. есть 3-4 либы которыю юзают.. + варианты виндовой криптоАПИ. ВСЕ. еще рекомендуется поскролить.. высше функи.. там вобще имя либы частенько встречается.. Добавлено спустя 1 минуту так же замечательно гугляца либы по сообщениям об ошибке которые они выдают Добавлено спустя 12 минут и еще.. да.. 100кб экзешник на делфе непакованный попахивает КОЛом ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... ![]() |
|
Создано: 02 февраля 2015 20:47 · Личное сообщение · #25 |
|
Создано: 02 февраля 2015 21:45 · Поправил: VodoleY · Личное сообщение · #26 dex015 пишет: На сайте KOL есть KOLCryptoLIB, но он с SHA отрабатывает правильно. твоюж девизию.. тебе в идеалии надо САМ МОДУЛЬ. делаеш себе прогу.. типа хелоу вердом.. и вызовом твого SHA компилиш.. и разбираеш СВОЮ прогу. увидеш где засранцы че поменяли, кол-во раундов боксы инит константы и т.д. Т,Е, я пытаюсь ВАМ сказать, что если вы будете алго из асма в хай левел переводить ВЫ напотеете сильно. А найти разницу на порядок проще я вобщем кому методику поиска рассказывал? ищятся не функи а имена модулей вкомпиленных в прогу, потом ищется их паблик реализация.. выб страдали кодить SHA ? делать свою 25ую модификацию? ----- Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме.... ![]() |
|
Создано: 02 февраля 2015 21:55 · Личное сообщение · #27 Константы все стандартные. Будь модификация намеренной, их бы правили в первую очередь. Так что, не исключена просто случайная ошибка (типа xor -> or. В каком-то коде мне попадалась опечатка '| 0xFF' вместо '& 0xFF' в одном из раундов). Так что либо сравнивать построчно с исходником, либо параллельно в двух отладчиках смотреть состояние контекста после каждого раунда итд. ![]() |
|
Создано: 02 февраля 2015 21:58 · Личное сообщение · #28 VodoleY пишет: делаеш себе прогу.. Как раз и пытаюсь это сделать, скачал компилятор с hiasm.com, и вроде там есть SHA. Добавлено спустя 4 минуты gazlan пишет: Так что либо сравнивать построчно с исходником, либо параллельно в двух отладчиках смотреть состояние контекста после каждого раунда итд. Видимо так, больше ничего и не остаётся. ![]() |
|
Создано: 02 февраля 2015 23:46 · Личное сообщение · #29 dex015 пишет: Видимо так, больше ничего и не остаётся. создавал похожую тему - алгоритм был md5 с солью, тоже Delphi - так и не смог подобрать подходящую реализацию в итоге, быстрее оказалось перенести код asm вставками ![]() |
|
Создано: 03 февраля 2015 01:27 · Личное сообщение · #30 dex015 пишет: http://hiasm.googlecode.com/svn/elements/delphi/code/hiHashsum.pas Хоть бы погуглил, что это такое ![]() ![]() |
. 1 . 2 . >> |
![]() |
eXeL@B —› Вопросы новичков —› Испорченный алгоритм хеширования? |