herm1t LIVE!ng room - Энтропия [entries|archive|friends|userinfo]
herm1t

[ website | twilight corner in the herm1t's cave ]
[ userinfo | ljr userinfo ]
[ archive | journal archive ]

Энтропия [Nov. 3rd, 2010|04:42 pm]
Previous Entry Add to Memories Tell A Friend Next Entry
LinkLeave a comment

Comments:
From:[info]moonofnovember.livejournal.com
Date:November 4th, 2010 - 11:01 am
(Link)
я тоже когда-то собирал статистику по .text для бинарников из %SYSTEM32% - нужно было вот для чего:
- есть зашифрованный .exe, алгоритм шифрования известен, длина ключа 32 бита
- перебираем все 2^32 ключа, расшифровываем кусок длиной ~1k (примерно), считаем статистику по распределению байт
- если 00 и ff встречаются часто - запоминаем ключ как кандидат
- в итоге получалось с десяток вероятных ключей, правильный видно сразу же на глаз.

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

такой вот брутфорс со статистическим анализом :-)
[User Picture]
From:[info]herm1t
Date:November 4th, 2010 - 05:26 pm
(Link)
> такой вот брутфорс со статистическим анализом :-)

красиво. :-) хорошо, что авторы не догадались сжать код перед шифрованием.
From:[info]moonofnovember.livejournal.com
Date:November 5th, 2010 - 09:51 am
(Link)
именно, даже простой upx перед шифрованием всю затею сразу же загубил.
[User Picture]
From:[info]herm1t
Date:November 5th, 2010 - 12:11 pm
(Link)
дык, странно другое - это же азы криптографии, но тем не менее разработчики упорно наступают на одни и те же грабли. вспомнилась дурацкая софтина, которую удалось сломать "на глаз" без участия, каких бы то ни было инструментов вообще. зная, что должно быть зашифровано и где, поксорил предполагаемый открытый текст со строкой и оказался прав. в другой херне, без отладчика поискал в дизасме xor, и опять оказался прав. ну, блин, написали бы хотя бы вместо a^b, (a&(~b))|((~a)^b) - уже было бы веселее.