EN

Elib2Ebook

Старею
Elib2Ebook
117
subscribers
goals
278.4 of $ 1 015 money raised
Ну а вдруг?

About the creator

Здравствуйте, мои любимые флибустьеры.
Как вы должно быть знаете, я являюсь автором Elib2Ebook
Приглашаю вас принять участие в поддержке проекта и почитать о том, как он появился, во что развился, как умер и снова воскрес.
Блоги вести не умею, обладаю, наложенным с рождения, проклятием косноязычия и бесконечной ленью с редкими проблесками трудоспособности.
Поэтому не ждите захватывающего повествования с роялями в кустах и прочего фэнтези.

Строки. Технологии МТС. Сниффаем трафик мобильных устройств

Без лишних предисловий перейдем к сути. Есть прекрасный ресурс https://stroki.mts.ru/ с коллекцией неплохой литературы. Читать ее можно только через специальное приложение. Возможности прочитать книгу на сайте просто нет (ну или я не нашел). В общем, все как обычно - установи себе на телефон очередную читалку и попробуй  не забыть, где какую книгу ты читаешь.
Чтобы решить эту проблему, нужно задействовать некоторое кол-во специализированных инструментов. Одного браузера здесь не хватит, так как читать через сайт просто невозможно.
Что нам понадобится:
1) Сниффер трафика мобильных устройств, чтобы увидеть, какие запросы отправляет запросы приложение на сервер;
2) Postman, чтобы по быстрому воспроизвести эти запросы и проверить их работоспособность.
Приступим.
Первым делом устанавливаем на компьютер сниффер. Выбор пал на Charles. Настраивал его по инструкции
Запускаем приложение на телефоне и начинаем изучать...
Первым делом откроем какую то книгу и посмотрим, какие запросы отправляются и какие данные получаются.
Show more
avatar

Как не надо делать защиту файлов или расшифровываем зашифрованное

Как всегда внезапно, появился неожиданный челлендж.
Один товарищ с очумелыми ручками расковырял свой андроид девайс и обнаружил, что все книги, которые он читает через приложение litres.ru хранятся на его устройстве. Прекрасно, казалось бы? Теперь же можно их оттуда скопировать и читать в более привычных для себя читалках. Но не все так просто. Файлы книг зашифрованы. И вот тут в истории появляюсь я. 
Что бы узнать как зашифрована книга, надо получить исходный код которым было выполнено это шифрование. Но как это сделать? Оказывается в случае с android приложениями все довольно просто.
1) Качаем из бескрайнего интернета apk файл приложения litres.ru. Я скачал отсюда https://www.apkmirror.com/apk/litres/read-books-online/read-books-online-3-92-02-gp-release/litres-books-3-92-02-gp-android-apk-download/
2) Декомпилируем при помощи http://www.javadecompilers.com/
3) Если повезет, то получаем вполне себе приемлемого качества исходники (мне повезло)
А дальше начинается самый интересный этап. Необходимо среди примерно 400мб различных файлов найти необходимый кусок кода. Тут уже никаких универсальных советов дать не получится. Я искал полнотекстовым поискам по различным, как мне казалось подходящим словам "decrypt", "decode", "secret" и т.д.
Show more

Как все продолжилось

Успех, достигнутый на предыдущем этапе, не давал мне покоя и хотелось сделать что то еще. На тот момент я уже имел некоторый опыт в разработке telegram ботов и мне пришла в голову идея сделать бота, который бы по ссылке скачивал книгу из https://author.today/
C# для этого использовать мне не хотелось, поэтому выбор пал на Python, который обладает прекрасной библиотекой aiogram и кучей туториалов в сети.
Сказано! Сделано!
Несколько часов кодинга, покупка VPS, немного докеризации и @author_today_book_bot (ныне покойный) готов. 
Весь функционал до боли прост: кидаешь ссылку - получаешь epub файл с публичным контентом книги. В то время я считал, что прикрутить к боту авторизацию, чтобы бы позволить пользователям скачивать купленные ими книги, как то неправильно, потому бот обладал довольно ограниченным функционалом.
Show more
Show more comments
avatar
Без твоего бота я бы выкинул свою электронку нахер
Уважаемый автор, а авторизацию к freedlit.space прикрутить сможете?
Show more replies
avatar
Александр Куркурин, Я не имею никакого отношения к этим ботам. Автор этого бота просто использует мою программу. Сейчас возможность авторизации прикручена к Elib2Ebook. Чтобы эта возможность появилась в боте, пишите его автору

С чего все начилось

Около двух лет назад один человек попросил меня помочь разобраться с тем, как ему скачать нескачиваемую книгу с сайта https://author.today
Фигня, подумал я. Опыт парсинга сайтов, к тому времени, был у меня довольно внушительным. План был примерно таков:
1) Пара/тройка запросов к сайту (а может и к REST API, если повезет)
2) Выдергивание текста из HTML
3) Формирование итогового файла.
Берем в руки сайт, запускаем https://www.telerik.com/fiddler и смотрим что там происходит.
Первые попытки получить контент привели в некоторое замешательство - в ответе от сайта приходят шифрованные данные.
Пример того, как это выглядит, можете посмотреть перейдя по ссылке https://author.today/reader/217578/chapter?id=1931261
Засада...
Но мы же видим текст в браузере, а не абракадабру из непонятных символов! Значит где то есть код, который расшифровывает абракадабру. Вариант здесь только один! JS!
Show more
avatar
А в данный момент появилась защита?🧐
avatar
Даниил Шахов, нет

Subscription levels

На поддержку энтузиазма

$ 1,02 per month
Go up