Сейчас на форуме: (+5 невидимых) |
eXeL@B —› Обсуждение статей —› [ punxer ] Исследование Natata Ebook Compiler Книг (версия < 3) |
Посл.ответ | Сообщение |
|
Создано: 22 ноября 2010 00:12 · Личное сообщение · #1 Обсуждение статьи Исследование Natata Ebook Compiler Книг (версия < 3) ----- Всем не угодишь | Сообщение посчитали полезным: slayerslayer |
|
Создано: 16 декабря 2010 03:24 · Поправил: gazlan · Личное сообщение · #2 Программа сохраняет первые несколько ресурсов и падает Исходный код для работы с ZLib - который не падает - можно найти прямо на оф.сайте. Создание дерева каталогов сделано через ж... Традиция, что ли такая? (eBookRipper, например, делает это некорректно). Об алгоритмах быстрого поиска автор, вероятно, не слышал. И для чего эта чудная функция?: Code:
| Сообщение посчитали полезным: slayerslayer |
|
Создано: 27 декабря 2010 08:16 · Личное сообщение · #3 Ну и ссылку на какую либо книжку, созданную в Natata Ebook Compiler, в самой статье было бы весьма кстати... ----- -=истина где-то рядом=- | Сообщение посчитали полезным: TeamSMU, slayerslayer |
|
Создано: 27 декабря 2010 13:44 · Личное сообщение · #4 |
|
Создано: 27 декабря 2010 14:30 · Личное сообщение · #5 |
|
Создано: 27 декабря 2010 14:35 · Личное сообщение · #6 |
|
Создано: 01 апреля 2011 02:08 · Поправил: Модератор · Личное сообщение · #7 |
|
Создано: 02 апреля 2011 19:26 · Личное сообщение · #8 punxer пишет: где бы Вы напихали тут алгоритмов быстрого поиска? Ну, вы же ищете метки блоков: '#1!#' ? Их может быть не один десяток - самое место для QS. В эташе пример вывода SSF (h**p://gazlan.freetzi.com/toy_tools/ssf.rar) для какой-то книжки в Natata (h**p://w*w.multiupload.com/MSWA4TTHP6). a0d5_02.04.2011_EXELAB.rU.tgz - Natata.rar |
|
Создано: 04 апреля 2011 00:07 · Личное сообщение · #9 |
|
Создано: 04 апреля 2011 00:36 · Личное сообщение · #10 |
|
Создано: 04 апреля 2011 02:54 · Поправил: gazlan · Личное сообщение · #11 punxer пишет: Смысл сортировки Насколько я понял (посмотрел несколько файлов из-под "tatu"), устроены эти e-books невероятно примитивно (школьнеги, поди, писали). Это просто коллекция одиночных ZIP-архивов, обрамленных тэгами '#1!#' и '#2!#' с маркерами типа содержимого и полного пути к файлу в открытом виде. Последовательное чтение потока данных (вы это имели ввиду?) потенциально опасно если: 1. между блоками вставлена какая-то хрень, которую неизвестно как обрабатывать и 2. какой-то из блоков поврежден, так что его размер определяется неверно. При последовательном чтении потока любая подобная ошибка фатальна и требует специальных мер по ресинхронизации. При произвольном доступе, ошибка обработки любого из блоков никак не скажется на остальных - теряется только поврежденный архив. Цена произвольного доступа - построение _списка_ блоков (дерева там нет). Простейший способ такого построения - быстрый поиск. А дальше - по списку - как у Вл. Высоцкого: "Глядишь, всего пятерочка, а вдоль и поперек...". (http://web.ru/bards/Visotsky/part158.htm) P.S. [Lyrics] Вы, почему-то, все время идете за логикой авторов программы (начиная с непонятно зачем, распаковки UPX). IMHO, это неверно. У вас перед глазами полный дамп оверлея и огромное преимущество перед авторами в полном знании всех (до бита) деталей его устройства. На кой вам кривые пути Delphi-программеров - идите к цели напрямую. Их код заведомо плох и бесполезен. Hex-редактор для вас то же, что скальпель для патологоанатома: нет ничего запретного и диагноз окончателен. [/Lyrics] |
|
Создано: 04 апреля 2011 08:52 · Личное сообщение · #12 Гм. Музыкой навеяло... Добавил распаковку "Tatu" в EBU. В полном соответствии с изложенными принципами: Code:
К сожалению, опять выяснилась несовместимость версий ZLib. Tatu использует библиотеку версии 1.1.4, EBU - 1.2.5. В редких случаях (доли процента, закономерность не установлена) некоторые файлы из книг не распаковываются или распаковываются с ошибкой. Претензии - к ZLib. P.S. Понятно, что Delphi - это диагноз. Но не ожидал, что до такой степени. Формат оверлея Tatu - это просто ошибка в ДНК. Даже маркеры блоков выбраны так, что QS почти бесполезен. fc32_03.04.2011_EXELAB.rU.tgz - ebu.rar |
|
Создано: 05 апреля 2011 02:08 · Поправил: punxer · Личное сообщение · #13 VodoleY кнута я читаю переодически gazlan что такое tatu ну не знаю, возможно вы и правы, я взял однопроходный алгоритм влоб Я точно знаю что там злиб знаю начало и конец блока распаковываю есть функция определения пути сохранения и проверки на существуемость пути сортирровка уменьшит время распаковки наверно и ничего краяне фолтного там не нада обрабатывать не распаковалось не создаем все просто чего я пока в натате не встречал Последовательное чтение потока данных (вы это имели ввиду?) потенциально опасно если: 1. между блоками вставлена какая-то хрень, которую неизвестно как обрабатывать и 2. какой-то из блоков поврежден, так что его размер определяется неверно. При последовательном чтении потока любая подобная ошибка фатальна и требует специальных мер по ресинхронизации. этого нет код писался как коммент исследования. ну уж простите [Lyrics] Вы, почему-то, все время идете за логикой авторов программы (начиная с непонятно зачем, распаковки UPX). IMHO, это неверно. У вас перед глазами полный дамп оверлея и огромное преимущество перед авторами в полном знании всех (до бита) деталей его устройства. На кой вам кривые пути Delphi-программеров - идите к цели напрямую. Их код заведомо плох и бесполезен. Hex-редактор для вас то же, что скальпель для патологоанатома: нет ничего запретного и диагноз окончателен. [/Lyrics] я написал так как сам шел |
|
Создано: 05 апреля 2011 02:49 · Поправил: gazlan · Личное сообщение · #14 punxer пишет: что такое tatu Сократил Natata ; --- Appendix О сортировке нигде речи не было. И нужды в ней нет. Говорилось о быстром поиске. Пути там забавные. Мало того, что пишутся дважды, еще и через '/'. Допустимо, но некашерно. (http://en.wikipedia.org/wiki/Path_%28computing%29) Что до ошибок, то даже если сам формат не предусматривает ничего лишнего между блоками, никогда нельзя поручиться за целостность файла, добытого неисповедимыми путями из глубин инета. Просто, лучше подстраховаться. (Пример в эташе). А вообще, я как-то действительно упустил из виду, что вашей целью была не распаковка, а только исследование. 6571_04.04.2011_EXELAB.rU.tgz - Платежные системы в Интернет.rar |
eXeL@B —› Обсуждение статей —› [ punxer ] Исследование Natata Ebook Compiler Книг (версия < 3) |