Форум программистов, компьютерный форум, киберфорум
Криптография
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/29: Рейтинг темы: голосов - 29, средняя оценка - 4.97
100 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,605
1

Где можно посмотреть исходники WinRar?

04.10.2015, 22:24. Показов 5670. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Просто интересно.

Есть текстовый файл.
Я знаю его содержимое.(частично)
Первую строку точно.

Архив запаролен 60+ символов.

И стоит шифрование заголовков.

Ведь можно узнать в каком месте стоит сумма.
Подобрать ключ к дешифровке по известным данным...
Затем в НЕХ редакторе меняем от другого архива, и всё вставляем пароль и погнали...
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.10.2015, 22:24
Ответы с готовыми решениями:

Где можно раздобыть исходники по AVL деревьям?
Моё подчтение господа программисты! Вопрос следующй: 'Где можно раздобыть исходники по AVL деревьям...

Подскажите где можно посмотреть исходники
Подскажите где можно посмотреть исходники законченых программ на С++, активно использующих ООП:...

Где можно посмотреть исходники шаблонов проектов для C#?
Где можно посмотреть исходники шаблонов проектов для C#?

Где можно посмотреть примеры (исходники) работы с базой данных на C#
Где можно посмотреть примеры (исходники) работы с базой данных на C#, работа с XML,SQL. Просто не...

14
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
04.10.2015, 23:23 2
Цитата Сообщение от артист Посмотреть сообщение
Ведь можно узнать в каком месте стоит сумма.
можно.

Цитата Сообщение от артист Посмотреть сообщение
Затем в НЕХ редакторе меняем от другого архива
что Вы собрались брать из другого архива?
Если взять его содержимое. Можно. Ну тогда и получите другой архив. с другим содержимым.

А содержимое исходных файлов ЗАШИФРОВАНО. контрольная сумма нужно только для того, чтобы проверить, расшифрованные введённым паролем данные совпадают по контрольной сумме или нет.
Если выключить эту проверку, то подойдёт любой пароль. Получите мусор вместо файлов.
И какой в этом смысл?
4
100 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,605
04.10.2015, 23:33  [ТС] 3
Смысл в том, чтобы расшифровать сам архив, заменить...

В общем в конце архива содержится что - то вроде хеш суммы пароля, вот её и хочу заменить.
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
04.10.2015, 23:47 4
Цитата Сообщение от артист Посмотреть сообщение
В общем в конце архива содержится что - то вроде хеш суммы пароля, вот её и хочу заменить.
это абсолютно бессмыслено.
Расшифровать архив это никак не поможет.

ну, допустим, есть банковский сейф с кодовым замком.
Охранник пускает к сейфу только людей, у кого на бумажке записан пароль.
Ты подменил охранника, твой кореш пропустит тебя с "левой" бумажкой, на которой вместо кода от сейфа написан бессмысленный набор знаков. Тебе это как-то поможет открыть сейф?!

Ещё раз повторяю - контрольная сумма пароля ни поможет тебе узнать пароль и не позволит расшифровать зашифрованное содержимое. Оно зашифровано паролем, которого у тебя нет.
2
100 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,605
04.10.2015, 23:58  [ТС] 5
Я создаю текстовый файл, вписываю туда первую известную строку.
Запихиваю его в архив.
Смотрю как сжалось содержимое, далее беру ту же часть другого архива, и теперь нужно пробовать дешифровать до первого варианта.
И получится пароль на дешифровку.

Собственно я не уверен, что всё выйдет.

Мне просто нудно код посмотреть.
Интересно.
Из гугла узнал, что открытый код есть только на распаковщик, но где именно его искать не сказано...
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
05.10.2015, 00:28 6
Лучший ответ Сообщение было отмечено артист как решение

Решение

Цитата Сообщение от артист Посмотреть сообщение
Из гугла узнал, что открытый код есть только на распаковщик, но где именно его искать не сказано...
не знаю, как ты искал. первая же ссылка ведёт на оф.сайт.
там и лежит исходник: UnRAR source

Цитата Сообщение от артист Посмотреть сообщение
Собственно я не уверен, что всё выйдет.
правильно, что не уверен.
а я тебе больше скажу. я уверен, что у тебя ничего не выйдет.
Спросишь почему?
В WinRar используется шифрование AES. ты просто, без всякого архиватора зашифруй строчку этим методом.
А потом попытайся её "дешифровать до первого варианта".
Едиственный известный на сегодня вариант - полный перебор паролей.
Ты, наверное, сам понимаешь, что для 60символьного пароля не хватит миллионов лет, чтобы подобрать пароль.

Вот как то так!
1
643 / 152 / 61
Регистрация: 08.04.2015
Сообщений: 395
05.10.2015, 06:55 7
Цитата Сообщение от артист Посмотреть сообщение
В общем в конце архива содержится что - то вроде хеш суммы пароля, вот её и хочу заменить.
Не содержится. В архиве только CRC оригинальных файлов, чтобы после расшифровки можно было проверить правильность. Для расшифровки нужен правильный ключ к AES, а он может быть получен только из правильного пароля. Других вариантов математики пока не придумали.
2
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
05.10.2015, 08:24 8
UnknownSoldier, думаю, что в случае, когда выбрана опция шифрации заголовков, WinRar всё же хранит где-то контрольную сумму для структуры с именами директорий и файлов. Но это ничего не меняет.
Но в остальном всё верно.
1
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
05.10.2015, 16:11 9
Цитата Сообщение от Sergio Leone Посмотреть сообщение
контрольную сумму
blake2

7. RAR 5.0 archives allow to utilize 256 bit length BLAKE2sp hash
( https://blake2.net ) instead of 32 bit CRC32 as a file checksum.
Enable "Use BLAKE2 file checksum" option in "Options" page of
archiving dialog or specify -htb command line switch to use BLAKE2
checksums.

While producing slightly larger archives, BLAKE2 can be used
for file contents identification. If two files have the same
BLAKE2 value, it practically guarantees that file contents
is the same. BLAKE2 error detection property is also stronger
than in much shorter CRC32.
if archive headers are not encrypted ("Encrypt file names" option
is off), file checksums for encrypted RAR 5.0 files are modified
using a special password dependent algorithm, to make impossible
guessing file contents based on checksums. Do not expect such
encrypted file checksums to match usual CRC32 and BLAKE2 values.
1
100 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,605
05.10.2015, 18:34  [ТС] 10
Почитал про матрицы...
Вот если взять в AES(128):

Исходный байт:
32

Пароль кодирования:
1

Итог:
d2 ce 2b d4 04 82 f1 ca 1c 8e 4d f2 96 5e 96 81 07 a8 d5 ce 57 b3 1f 14 82 88 23 1f ea d8 e9 78

Назад невозможно прогнать же зная 1 и 3?

Т.е. получается типа мд5 тоже только подбором заранее прогнанных результатов.
0
643 / 152 / 61
Регистрация: 08.04.2015
Сообщений: 395
06.10.2015, 04:40 11
артист, AES - это шифрование с симметричным ключом. Естественно, ваш "итог" может быть преобразован в исходные данные, они такие:
01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
31 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Какой смысл шифровать, если нельзя вернуться к оригиналу?

А MD5 - это необратимое хэширование, гарантированно восстановить исходные данные невозможно, хотя иногда по хэшу можно подобрать пароль, от которого этот хэш посчитан.
1
100 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,605
06.10.2015, 23:15  [ТС] 12
Я имею ввиду, что нельзя получить пароль(простым способом), зная исходный байт и зашифрованный.

По крайней мере так писали.

Я понял ту систему как :

1 матрица:
1234567890

2 матрица:
9467230815

Берут первый блок, и прогоняют его через них столько раз, сколько длинна пароля(а её принудительно приводят к 128, 192, 255).

допустим исходный был
01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

А пароль 875550725....

Заменяют исходный 01 на 8ю ячейку, то 8, затем 00 заменяют на 7ю ячейку...

Ну как - то так...Примерно.

Добавлено через 15 часов 35 минут
Что - то найти не могу? Где начинается всё...

Лучше бы писали всё в одном файле...

И даже AES найти не могу...
Понял только, что используется 128 битная.

* This code is based on Szymon Stefanek AES implementation: *
bool AES_NI;
and Brian Gladman AES implementations also as Steve Reid SHA-1 source.
byte AESKey[16],AESInit[16];
byte AESKey[16],AESInit[16];
memcpy(AESKey,KDF3Cache[I].Key,sizeof(AESKey));
memcpy(AESKey,KDF3Cache[I].Key,sizeof(AESKey));
memcpy(AESInit,KDF3Cache[I].Init,sizeof(AESInit));
memcpy(AESInit,KDF3Cache[I].Init,sizeof(AESInit));
AESInit[I/(HashRounds/16)]=(byte)digest[4];
AESKey[I*4+J]=(byte)(digest[I]>>(J*8));
memcpy(KDF3Cache[KDF3CachePos].Key,AESKey,sizeof(AESKey));
memcpy(KDF3Cache[KDF3CachePos].Key,AESKey,sizeof(AESKey));
memcpy(KDF3Cache[KDF3CachePos].Init,AESInit,sizeof(AESInit));
memcpy(KDF3Cache[KDF3CachePos].Init,AESInit,sizeof(AESInit));
rin.Init(Encrypt, AESKey, 128, AESInit);
rin.Init(Encrypt, AESKey, 128, AESInit);
cleandata(AESKey,sizeof(AESKey));
cleandata(AESKey,sizeof(AESKey));
cleandata(AESInit,sizeof(AESInit));
cleandata(AESInit,sizeof(AESInit));
* This code is based on public domain Szymon Stefanek AES implementation: *
AES_NI=(CPUInfo[2] & 0x2000000)!=0;
if (AES_NI)
v = _mm_aesdec_si128(v, ri);
v = _mm_aesdeclast_si128(v, r0);
mprintf(L"\nAES-%d expected: %s",KeyLength,Str);
mprintf(L"\nAES-%d result: %s",KeyLength,Str);
0
100 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,605
11.01.2016, 17:20  [ТС] 13
А файл сначала шифруется или сжимается?
Облазил все исходники, совал вывод сообщения в разные участки кода - так и не понял...
Да и вообще он расшифровывает только 2 блока подряд начиная с 000002с - 0с...
Хоть правильный пароль, хоть нет...

Цитата Сообщение от Sergio Leone Посмотреть сообщение
Если выключить эту проверку, то подойдёт любой пароль. Получите мусор вместо файлов.
Мне мусор и нужен.
Как именно выключить?

В батнике так прописываю:
Windows Batch file
1
UnRAR.exe "e" "-kb" "2.rar" "Текстовый документ.txt"
Он просто ругается что нет пароля, и не сохраняет извлечённые данные...

Не пойму как этими командами пользоваться, всё правильно же указал...

Вот синтаксис:
WinRAR <команда> -<ключ1> -<ключN> <архив> <файлы…> <@файл-список…> <путь для извлечения\>
Вот команда:
e Извлечь файлы из архива, игнорируя пути
Вот ключ:
-kb Сохранять на диске файлы, извлечённые с ошибками
С этим он был создан:
-hp[пароль] Шифровать и данные, и заголовки файлов
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
18.01.2016, 22:53 14
Цитата Сообщение от артист Посмотреть сообщение
Как именно выключить?
нужно брать либо исходники и исправлять там, либо патчить exeшник (только для этого тебе реверс-инженеринг нужно провести, чтобы отключить проверку).
Но это всё фигня.
Думаю, что и это тебе не поможет.
Если ты сделал архив с опцией
Цитата Сообщение от артист Посмотреть сообщение
-hp[пароль] Шифровать и данные, и заголовки файлов
то доступ к именам файлов уже отсутствует. Никакого "Текстовый документ.txt" в архиве не будет, пока ты правильный пароль не введёшь. А если ты (вдруг) исхитришься и таки отключишь проверку на CRC, ну получишь вместо своего "Текстовый документ.txt" длиной 200 байт (к примеру), несколько файлов с именами типа "шQM♥ РHЛL$XHЕ╔t♠ш▌Н♥", "ЛјїvѓР♫†…○ЎйµFБB" и "ПЭz*.uЂЯеИ§" и т.п., с произвольной длиной и таким же содержимым. И нафига оно тебе такое надо?!
1
100 / 35 / 21
Регистрация: 17.09.2014
Сообщений: 1,605
19.01.2016, 09:49  [ТС] 15
Да я уже в исходниках и сделал )
Ничего не получилось - забил.
Всё в aes упёрлось...
0
19.01.2016, 09:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.01.2016, 09:49
Помогаю со студенческими работами здесь

Где посмотреть исходники системных классов
Хочу посмотреть исходники например класса Console. Захожу в определения а там комментарии только....

Где посмотреть исходники типа string
Подскажите плиз где посмотреть исходники типа string. Тоесть интересует методы работы со строками,...

Где можно скачать архиватор Winrar без регистраций и т.п.?
Помогите пожалуйста найти сайт где можно скачать Winrar норм без регистраций и т.д

Где можно найти исходники на С#?
Чтобы посмотреть на использование циклов, массивов, методов, классов и т.п.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru