![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
Помогите понять как можно правильно вычислить TTH для файла, а конкретней - это хэш используеться популярной P2P файлообменной програмой DC для проверки на целосность файла.
Скачал "DCPcrypt Cryptographic Component Library" но то там получаеться он неправильный например Tiger: 3A5D52DF686A6B0E652FD16B34E3FE9133A13DF2540CFF1C а должег быть AWWJMOHTSSI3YRNKBBEQVIDDPFNEN2H3JMZ77IQ, видно что что-то не так. Пробовал найти кусок кода в Dc++(это проект с открытым кодом), но там очень запутано и из такого большого проекта мне трудно выдирнуть и перевести на delphi. Вообшем жду любой помоши и высказываний |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
ты бы хоть ссылки дал. на сорцы dc, на DCPcrypt и т.п....
-------------------- There are always someone smarter than you... |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
Только что нашол http://www.cs.technion.ac.il/~biham/Reports/Tiger/ - тут source на "Си" только я его немогу понять как на delphi переделать.
Это сообщение отредактировал(а) Ak47black - 3.3.2007, 18:09 |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
||||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
хм... TTH немного по-другом, чем сам Tiger Hash, у вычисляется... вычисляется хэш для частей по 1024 байта и затем через дерево Меркли вычисляется Root TTH.
на сколько я понял) видимо придется тебе переносить алгоритм на делфи самому. для делфи ни примеров не компонент не нашел. -------------------- There are always someone smarter than you... |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
Добавлено @ 14:27 Думал сразу что там Tiger Hash ,а окозалось что там какоето еше дерево. |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
интересная задачка оказалась)
накидал я тут вроде бы работающий модуль для вычисления TTH. еще актуально? ;) Это сообщение отредактировал(а) MetalFan - 4.3.2007, 18:50 -------------------- There are always someone smarter than you... |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
Ну да.
Давай что там у тебя. Добавлено @ 19:44 MetalFan, Может ты там это все дабро переделал на Dll? Я то неуменею в C# так сделать. Это сообщение отредактировал(а) Ak47black - 4.3.2007, 19:37 |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
а по-вежливей? ;) мне то не особо то и надо было этим заниматься. просто на интерес.
какое длл? просто паскалевкий юнит с классом-аналогом содранным с того примера на шарпе -------------------- There are always someone smarter than you... |
|||
|
||||
| Ak47black |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
Я чтото невъехал где ты его взял
Pleazzzzzzzzzzzzzzz MetalFan, как думаешь а через Dll-ку получиться у меня ? |
||||
|
|||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
сам написал, еклмн. подожди, щаз соптимизирую и выложу -------------------- There are always someone smarter than you... |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
Это сообщение отредактировал(а) Ak47black - 4.3.2007, 21:58 |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
Вот, лови) только его еще до ума надо довести.
на больших файлах медленно работает. Присоединённый файл ( Кол-во скачиваний: 147 )
TTH_OnDelphi_By_MetalFan.rar 29,85 Kb-------------------- There are always someone smarter than you... |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
Добавлено @ 22:25 Просто я хочю подробней изучить Это сообщение отредактировал(а) Ak47black - 4.3.2007, 22:26 |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
Ak47black, ну там же в заголовке написано, что откуда взято)
алгоритм по ссылке, что ты давал. просто "перенес" на делфи. только до ума б его довести немного. вычисление tiger hash - компонент(что ты тоже упоминал в начале темы), получение base32 тоже сперто) -------------------- There are always someone smarter than you... |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
В своё время выдрал из KOLHashes
Реализация, так сказать в одной функции Это сообщение отредактировал(а) RA - 5.3.2007, 00:25 Присоединённый файл ( Кол-во скачиваний: 43 )
Function.zip 13,05 Kb |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
RA, ну во первых эти функции вычисляют просто Tiger Hash, а не TTH. и в base32 не переводят)
а содрано это из компонент, что тут упоминались уже. -------------------- There are always someone smarter than you... |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
MetalFan, да
|
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
RA, все ок, просто тема немного не правильно названа)
автору нужно было не просто Tiger Hash, а Tiger Tree Hash (aka TTH). это, как уже выяснили, немного другая вещь. -------------------- There are always someone smarter than you... |
|||
|
||||
| Ak47black |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
MetalFan,
RA, Все у меня с вычислением TTH нормально. Но вот тут сталкнулся с проблемой связаной коствено. Может подскажите, надеюсь модератор небудет возражать. Вообшем тут я работаю с DC протоколом и там мне нужно вычеслить и отправить TTHL. Вот нашол инфы.
Я как понимаю из кода MetalFan, можно вытянуть это какием-то путём? Я смотрел и предпологаю что в модуле uTTH переменная FLeafList содержит (leaf) hashes. Но там просто строки(из обычных символов), а по сниферу я определил что DC отправляет ну чтото на подобии
Тоесть тут не только буквы, (небуквой я сшитаю например: '‡') Вообшем может что-нибудь подскажите |
||||
|
|||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
нет, в FLeafList уже содержаться IH (Internal Hashes - хэши пар изначальных хэшей(LF-Leaf Hash)).
нет там "просто строк из обычных символов". нигде. в самом "конце" Root hash преобразуется в строковое base32 представление. но, FYI(for u information) 1) хэши кусков исходного файла помечаются в первом байте $00. IH(Internal Hashes) помечаются в первом байте $01. 2) на сколько я понимаю из
тебе надо отослать LH 912 куска (т.е. с 911*1024 по 912*1024 байт исходного файла). з.ы. не совсем ясно, какие параметры имеются на входе $ADCSND. -------------------- There are always someone smarter than you... |
|||
|
||||
| Ak47black |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
MetalFan, там как-бы идет пересылка по такому принципу (я изучал трафик)
>> RECV << - это я (Uploader) >> SEND << - это кому посылаю (Downloader)
Добавлено @ 23:35 О протоколе reference http://www.teamfair.info/DC-Protocol.htm Добавлено @ 23:39 Вот только что я нашол о TTHL
С кэша взял так как страница не сушествует
DC++ с открытым кодом http://dcplusplus.sourceforge.net/download/ Добавлено @ 23:41 В DC++ скорей всего можно выдирнуть. Только я в Криптографии плохо орентируюсь (точнее еше недоходил до обучения).А так в интернете только это все нашол. Это сообщение отредактировал(а) Ak47black - 5.3.2007, 23:47 |
||||||
|
|||||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
ну тык в чем проблема? все понятно написано вроде как... и вообще, на вопрос, поднятый заголовке темы, ответ дан. создавай новую тему, в сетях, по работе с протоколом DC. + хотелось бы узнать, что такое ты пишешь ;) Это сообщение отредактировал(а) MetalFan - 6.3.2007, 09:01 -------------------- There are always someone smarter than you... |
|||
|
||||
| Ak47black |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2205 Регистрация: 2.12.2005 Репутация: 1 Всего: 0 |
MetalFan, Вот тут создал http://forum.vingrad.ru/act-ST/f-86/t-139947/unread-1.html
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |