|
psikov
Стаж: 15 лет Сообщений: 77
|
psikov ·
15-Окт-23 20:02
(1 год 8 месяцев назад)
Здравствуйте!
Я недавно купил одну книгу на сайте Литрес и хотел скачать ее, как обычно и делал это, в формате pdf. Но, вдруг с ужасом обнаружил, что данная книга, оказывается, недоступна для скачивания в формате pdf, да и в любом другом формате тоже. Ее можно читать только у них на сайте, либо в мобильном приложении Литреса. Возможность скачивания в виде файла pdf заблокирована. Может кто сталкивался с такой проблемой? Существует ли способ обойти эту блокировку и все-таки скачать купленный файл?
Заранее благодарю за помощь.
|
|
Haperskaya
Стаж: 1 год 8 месяцев Сообщений: 4
|
Haperskaya ·
04-Фев-24 11:39
(спустя 3 месяца 19 дней)
Здравствуйте! Удалось ли скачать книгу с защитой от скачивания? У меня сейчас аналогичный вопрос и нигде не могу найти конкретики.
|
|
CarlsonBaby
Стаж: 2 года 10 месяцев Сообщений: 2
|
CarlsonBaby ·
31-Мар-24 20:52
(спустя 1 месяц 27 дней)
Скачать можно, но это долго. В хроме можно нажать "читать" на ту книгу, которую хотите скачать, дальше нажимайте на три точки в правом верхнем углу - дополнительные инструменты - инструменты разработчика, открывается сама панель, в которой будут показаны папки, нажимаете на папку под названием get_pdf_page, в этой папке будут по отдельности лежать страницы книги в формате .gif, которые можно по отдельности загрузить. Для этого нужно нажать на одну из .gif, дальше на open in new tab и страница откроется в новой вкладке и тогда ее можно будет загрузить. Я другого способа, к сожалению, не знаю
|
|
ivan443ftw
Стаж: 3 года 9 месяцев Сообщений: 3
|
ivan443ftw ·
16-Авг-24 23:09
(спустя 4 месяца 16 дней)
Здравствуйте!
Если вы скачиваете PDF через get_pdf_page, то получаете только картинки (.gif) а не настоящий PDF-файл.
Но я узнал способ скачать настоящий PDF даже если он заблокирован.
1) Купите книгу на Литрес.
2) Откройте её в приложении для Android (это очень важно), так как она загружается при первом запуске.
3) Найдите загруженный PDF-файл в файловом менеджере (/storage/emulated/0/Android/data/ru.litres.android.global/files/books/<какой-то номер>/<имя книги>). Как вы видите, файл зашифрован.
4) Скопируйте книгу на пк и запустите следующий python скрипт:
Код:
from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad
import sys AES_BLOCK_LENGTH = 16
IV_LENGTH = 16
SECRET_PWD = "Qzgh_IfM:u3O*Ujh" input_file = sys.argv[1] # decrypt
with open(input_file, 'rb') as f:
iv = f.read(IV_LENGTH)
cipher = AES.new(SECRET_PWD.encode('utf-8'), AES.MODE_CBC, iv)
ciphertext = f.read()
decrypted_data = unpad(cipher.decrypt(ciphertext), AES.block_size) # overwrite
with open(input_file, 'wb') as out_file:
out_file.write(decrypted_data) print(f"{input_file} decrypted")
Код:
python3 file.py <книга>
5) Теперь у вас есть полная и расшифрованная книга!
Я пока не узнал как приложение закачивает зашифрованную книгу. Но когда я это узнаю, тогда шаги 2, 3 и 4 вам больше не нужны.
|
|
psikov
Стаж: 15 лет Сообщений: 77
|
psikov ·
17-Авг-24 18:47
(спустя 19 часов)
ivan443ftw писал(а):
86596051Но я узнал способ скачать настоящий PDF даже если он заблокирован.
Спасибо.. а каким образом запускать этот python скрипт? где его запускать и для чего нужен код...
короче, не шарю я в этих делах...
|
|
ivan443ftw
Стаж: 3 года 9 месяцев Сообщений: 3
|
ivan443ftw ·
21-Авг-24 20:02
(спустя 4 дня, ред. 21-Авг-24 20:02)
Я создал веб-страницу. Так будет удобно. https://litres.lxmg03.link
|
|
User744
Стаж: 4 года 9 месяцев Сообщений: 1
|
User744 ·
28-Сен-24 17:34
(спустя 1 месяц 6 дней)
Спасибо, код работает, ты крутой!
Но мне кажется, что литрес оперативно сменит ключ шифрования, например, все качалки страниц, выложенные на гитхабе всего несколько месяцев назад, уже не работают, т.к. литрес поменял имена и идентификаторы кнопок, мб ещё что-то. Было бы круто, если бы ещё дал инструкцию по перехвату пароля шифрования)
|
|
К-534
Стаж: 16 лет 7 месяцев Сообщений: 14
|
К-534 ·
27-Дек-24 20:08
(спустя 2 месяца 29 дней)
|
|
supertrap228
Стаж: 3 года 11 месяцев Сообщений: 11
|
supertrap228 ·
11-Янв-25 15:49
(спустя 14 дней, ред. 11-Янв-25 15:49)
так допустим текст есть что дальше
1. Там были иллюстрации. 2. Меня не блокнут на Литрес?
|
|
папаВлад
  Стаж: 14 лет 6 месяцев Сообщений: 2679
|
папаВлад ·
11-Янв-25 21:42
(спустя 5 часов)
supertrap228
1. Здесь инструкция для книг в формате pdf, с защитой от скачивания.
2. Начало инструкции https://rutr.life/forum/viewtopic.php?p=86596051#86596051 со слов "1) Купите книгу на Литрес." и ниже.
3. Текстовые книги (купленные) из ЛитРес свободно скачиваются с сайта по кнопке скачать.
4. На ЛитРес есть разные блокировки, например временные на сутки-двое и есть постоянные, техподдержка всегда на связи, оперативно отвечают за что заблокировали.
5. Пишите грамотно, со знаками препинания, так повышается шанс получить нормальный ответ.
|
|
supertrap228
Стаж: 3 года 11 месяцев Сообщений: 11
|
supertrap228 ·
12-Янв-25 18:20
(спустя 20 часов, ред. 12-Янв-25 18:20)
папаВлад
Так я разобрался книга у меня в (.fb2) кому скинуть торент файл
|
|
папаВлад
  Стаж: 14 лет 6 месяцев Сообщений: 2679
|
папаВлад ·
12-Янв-25 20:35
(спустя 2 часа 15 мин.)
|
|
К-534
Стаж: 16 лет 7 месяцев Сообщений: 14
|
К-534 ·
26-Май-25 15:43
(спустя 4 месяца 13 дней)
ivan443ftw
Добрый день! Подскажите, пожалуйста, ссылка перестала работать. Вы можете сделать новую или написать поподробнее, как запустить python скрипт. Можно в личку.
Заранее спасибо.
|
|
ivan443ftw
Стаж: 3 года 9 месяцев Сообщений: 3
|
ivan443ftw ·
01-Июн-25 19:25
(спустя 6 дней)
Поскольку сайт больше не доступен. Создайте на вашем компьютере новый файл с названием decryptor.html. В этот файл скопируйте следующий код:
Код:
<!doctype html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Литрес дешифратор</title>
</head>
<body>
<h1>Литрес дешифратор</h1>
<ul>
<li>
Скачайте зашифрованную книгу, открыв её в приложении litres для
<a
target="_blank"
href="https://play.google.com/store/apps/details?id=ru.litres.android&hl=ru"
>Android</a
>.
</li>
<li>
Найдите её в файловом менеджере
<code
>(/storage/emulated/0/Android/data/ru.litres.android.global/files/books/<b
>какой-то номер</b
>/<b>имя книги</b>)</code
>
</li>
<li>Загрузите зашифрованный файл ниже:</li>
</ul> <input type="file" placeholder="Файл" />
</body>
<script>
const key = "Qzgh_IfM:u3O*Ujh";
const blockSize = 16; const input = document.querySelector("input");
input.addEventListener("change", (event) => {
const file = event.target.files[0];
if (!file) return; const reader = new FileReader();
reader.onload = async (e) => {
const contents = new Uint8Array(e.target.result); try {
const iv = contents.slice(0, blockSize);
const ciphertext = contents.slice(blockSize);
const keyBytes = new TextEncoder().encode(key);
const cryptoKey = await crypto.subtle.importKey(
"raw",
keyBytes,
{ name: "AES-CBC" },
false,
["decrypt"],
); const decryptedBuffer = await crypto.subtle.decrypt(
{ name: "AES-CBC", iv: iv },
cryptoKey,
ciphertext,
); const blob = new Blob([new Uint8Array(decryptedBuffer)], {
type: "application/octet-stream",
}); const url = URL.createObjectURL(blob);
const a = document.createElement("a");
a.href = url;
a.download = file.name;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
URL.revokeObjectURL(url);
} catch (e) {
alert(e);
}
};
reader.readAsArrayBuffer(file);
});
</script>
</html>
Потом откройте файл, дважды кликнув по нему. Это откроет его в браузере.
|
|
|