---
title: "Получаем root-доступ к Kindle 4"
description: "Все выполненное на данном этапе где-то уже описано. Просто некоторые подробности. Начало здесь. Исхо..."
author: "pvnhome"
published: "2012-01-03T01:20:41+00:00"
modified: "2012-01-03T01:25:18+00:00"
locale: "ru"
canonical_url: "https://yvision.kz/post/poluchaem-root-dostup-k-kindle-4-217331"
markdown_url: "https://yvision.kz/post/poluchaem-root-dostup-k-kindle-4-217331/markdown"
site_name: "Yvision.kz"
---

# Получаем root-доступ к Kindle 4

> Все выполненное на данном этапе где-то уже описано. Просто некоторые подробности. Начало здесь. Исхо...

Все выполненное на данном этапе где-то уже описано. Просто некоторые подробности. Начало [здесь](http://pvnhome.yvision.kz/post/210458).

**Исходные данные:** Kindle 4 (не сенсорный экран) + Windows 7 Профессиональная (64 bit).

Первым делом подсоединяем устройство к USB и переименовываем файл DONT_HALT_ON_REPAIR в ENABLE_DIAGS в корне.

Перезагружаем устройство в диагностический режим.

Включаем USBNetworking: "Misc individual diagnostics -> Utilities -> Enable USBnet".

Драйвер для USBNetworking в Windows 7 уже есть. Нужно только немного обмануть Windows.

Для этого "подсовываем" файл linux.inf с таким содержимым:

 

linux.inf

- ; MS-Windows driver config matching some basic modes of the

- ; Linux-USB Ethernet/RNDIS gadget firmware:

- ;

- ;
- RNDIS plus CDC Ethernet ... this may be familiar as a DOCSIS

- ; cable modem profile, and supports most non-Microsoft USB hosts

- ;

- ;
- RNDIS plus CDC Subset ... used by hardware that incapable of

- ; full CDC Ethernet support.

- ;

- ; Microsoft only directly supports RNDIS drivers, and bundled them into XP.

- ; The Microsoft "Remote NDIS USB Driver Kit" is currently found at:

- ; http://www.microsoft.com/whdc/hwdev/resources/HWservices/rndis.mspx

- [Version]

- Signature = "$CHICAGO$"

- Class = Net

- ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318}

- Provider = %Linux%

- Compatible = 1

- MillenniumPreferred = .ME

- DriverVer = 03/30/2004,0.0.0.0

- ; catalog [file](http://www.php.net/file) would be used by WHQL

- ;CatalogFile = Linux.cat

- [Manufacturer]

- %Linux% = LinuxDevices,NTamd64

- [LinuxDevices]

- ; NetChip IDs, used by both firmware modes

- %LinuxDevice% = RNDIS, USB\VID_0525&PID_a4a2

- [LinuxDevices.NTamd64]

- %LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2

- [ControlFlags]

- ExcludeFromSelect=*

- ; Windows 98, Windows 98 Second Edition specific sections --------

- [RNDIS]

- DeviceID = usb8023

- MaxInstance = 512

- DriverVer = 03/30/2004,0.0.0.0

- AddReg = RNDIS_AddReg_98, RNDIS_AddReg_Common

- [RNDIS_AddReg_98]

- HKR, , DevLoader, 0, *ndis

- HKR, , DeviceVxDs, 0, usb8023.sys

- HKR, NDIS, LogDriverName, 0, "usb8023"

- HKR, NDIS, MajorNdisVersion, 1, 5

- HKR, NDIS, MinorNdisVersion, 1, 0

- HKR, Ndi\Interfaces, DefUpper, 0, "ndis3,ndis4,ndis5"

- HKR, Ndi\Interfaces, DefLower, 0, "ethernet"

- HKR, Ndi\Interfaces, UpperRange, 0, "ndis3,ndis4,ndis5"

- HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"

- HKR, Ndi\Install, ndis3, 0, "RNDIS_Install_98"

- HKR, Ndi\Install, ndis4, 0, "RNDIS_Install_98"

- HKR, Ndi\Install, ndis5, 0, "RNDIS_Install_98"

- HKR, Ndi, DeviceId, 0, "USB\VID_0525&PID_a4a2"

- [RNDIS_Install_98]

- CopyFiles=RNDIS_CopyFiles_98

- [RNDIS_CopyFiles_98]

- usb8023.sys, usb8023w.sys, , 0

- rndismp.sys, rndismpw.sys, , 0

- ; Windows Millennium Edition specific sections --------------------

- [RNDIS.ME]

- DeviceID = usb8023

- MaxInstance = 512

- DriverVer = 03/30/2004,0.0.0.0

- AddReg = RNDIS_AddReg_ME, RNDIS_AddReg_Common

- Characteristics = 0x84 ; NCF_PHYSICAL + NCF_HAS_UI

- BusType = 15

- [RNDIS_AddReg_ME]

- HKR, , DevLoader, 0, *ndis

- HKR, , DeviceVxDs, 0, usb8023.sys

- HKR, NDIS, LogDriverName, 0, "usb8023"

- HKR, NDIS, MajorNdisVersion, 1, 5

- HKR, NDIS, MinorNdisVersion, 1, 0

- HKR, Ndi\Interfaces, DefUpper, 0, "ndis3,ndis4,ndis5"

- HKR, Ndi\Interfaces, DefLower, 0, "ethernet"

- HKR, Ndi\Interfaces, UpperRange, 0, "ndis3,ndis4,ndis5"

- HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"

- HKR, Ndi\Install, ndis3, 0, "RNDIS_Install_ME"

- HKR, Ndi\Install, ndis4, 0, "RNDIS_Install_ME"

- HKR, Ndi\Install, ndis5, 0, "RNDIS_Install_ME"

- HKR, Ndi, DeviceId, 0, "USB\VID_0525&PID_a4a2"

- [RNDIS_Install_ME]

- CopyFiles=RNDIS_CopyFiles_ME

- [RNDIS_CopyFiles_ME]

- usb8023.sys, usb8023m.sys, , 0

- rndismp.sys, rndismpm.sys, , 0

- ; Windows 2000 specific sections ---------------------------------

- [RNDIS.NT]

- Characteristics = 0x84 ; NCF_PHYSICAL + NCF_HAS_UI

- BusType = 15

- DriverVer = 03/30/2004,0.0.0.0

- AddReg = RNDIS_AddReg_NT, RNDIS_AddReg_Common

- CopyFiles = RNDIS_CopyFiles_NT

- [RNDIS.NT.Services]

- AddService = USB_RNDIS, 2, RNDIS_ServiceInst_NT, RNDIS_EventLog

- [RNDIS_CopyFiles_NT]

- ; no [rename](http://www.php.net/rename) of files on Windows 2000, use the 'k' names as is

- usb8023k.sys, , , 0

- rndismpk.sys, , , 0

- [RNDIS_ServiceInst_NT]

- DisplayName = %ServiceDisplayName%

- ServiceType = 1

- StartType = 3

- ErrorControl = 1

- ServiceBinary = %12%\usb8023k.sys

- LoadOrderGroup = NDIS

- AddReg = RNDIS_WMI_AddReg_NT

- [RNDIS_WMI_AddReg_NT]

- HKR, , MofImagePath, 0x00020000, "System32\drivers\rndismpk.sys"

- ; Windows XP specific sections -----------------------------------

- [RNDIS.NT.5.1]

- Characteristics = 0x84 ; NCF_PHYSICAL + NCF_HAS_UI

- BusType = 15

- DriverVer = 03/30/2004,0.0.0.0

- AddReg = RNDIS_AddReg_NT, RNDIS_AddReg_Common

- ; no copyfiles - the files are already in place

- [RNDIS.NT.5.1.Services]

- AddService = USB_RNDIS, 2, RNDIS_ServiceInst_51, RNDIS_EventLog

- [RNDIS_ServiceInst_51]

- DisplayName = %ServiceDisplayName%

- ServiceType = 1

- StartType = 3

- ErrorControl = 1

- ServiceBinary = %12%\usb8023.sys

- LoadOrderGroup = NDIS

- AddReg = RNDIS_WMI_AddReg_51

- [RNDIS_WMI_AddReg_51]

- HKR, , MofImagePath, 0x00020000, "System32\drivers\rndismp.sys"

- ; Windows 2000 and Windows XP common sections --------------------

- [RNDIS_AddReg_NT]

- HKR, Ndi, Service, 0, "USB_RNDIS"

- HKR, Ndi\Interfaces, UpperRange, 0, "ndis5"

- HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"

- [RNDIS_EventLog]

- AddReg = RNDIS_EventLog_AddReg

- [RNDIS_EventLog_AddReg]

- HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\netevent.dll"

- HKR, , TypesSupported, 0x00010001, 7

- ; Common Sections -------------------------------------------------

- [RNDIS_AddReg_Common]

- HKR, NDI\params\NetworkAddress, ParamDesc, 0, %NetworkAddress%

- HKR, NDI\params\NetworkAddress, type, 0, "edit"

- HKR, NDI\params\NetworkAddress, LimitText, 0, "12"

- HKR, NDI\params\NetworkAddress, UpperCase, 0, "1"

- HKR, NDI\params\NetworkAddress, default, 0, " "

- HKR, NDI\params\NetworkAddress, optional, 0, "1"

- [SourceDisksNames]

- 1=%SourceDisk%,,1

- [SourceDisksFiles]

- usb8023m.sys=1

- rndismpm.sys=1

- usb8023w.sys=1

- rndismpw.sys=1

- usb8023k.sys=1

- rndismpk.sys=1

- [DestinationDirs]

- RNDIS_CopyFiles_98 = 10, system32/drivers

- RNDIS_CopyFiles_ME = 10, system32/drivers

- RNDIS_CopyFiles_NT = 12

- [Strings]

- ServiceDisplayName = "USB Remote NDIS Network Device Driver"

- NetworkAddress = "Network Address"

- Linux = "Linux Developer Community"

- LinuxDevice = "Linux USB Ethernet/RNDIS Gadget"

- SourceDisk = "Ethernet/RNDIS Gadget Driver Install Disk"

Этот файл специфичен именно для Windows 7 (64 bit). Тут ключевое слово - это NTamd64.

Настраиваем IP-адрес для полученного соединения следующим образом (подробности опускаем):

![Получаем root-доступ к Kindle 4](http://storage.yvision.kz/images/user/pvnhome/jP9nfuv2b6eEypk60HtbY3CUl7fL7Z.png)

Следующий этап - это подбор пароля. Для этого нам потребуется серийный номер Kindle (ищется в настройках) и лучше всего доступ к Linux с Python. Это просто оказалось самым простым лично для меня. Другие варианты: установить Python для Windows, переписать для другого языка и т.п.

Под Linux все просто:

Вычисляем пароль

- victor@host:~$ python

- Python 2.5.2 (r252:60911, Oct 5 2008, 19:29:17)

- [GCC 4.3.2] on linux2

- Type "help", "copyright", "credits" or "license" for more information.

- >>> import hashlib

- >>> print("fiona%s"%hashlib.[md5](http://www.php.net/md5)("B00E150114043GLR\n".encode('utf-8')).hexdigest()[7:11])

- fiona8721

- >>>

Итак пароль для root-а fiona8721.

Далее просто соединяемся любым SSH-клиентом. Я использовал PuTTY:

![Получаем root-доступ к Kindle 4](http://im9.asset.yvimg.kz/userimages/pvnhome/344Du1N4AuzMWFXfRugKvAokfRbh1e.png)

Для загрузки файлов на устройство из под Windows удобно использовать Far c плагином WinSCP:

![Получаем root-доступ к Kindle 4](http://storage.yvision.kz/images/user/pvnhome/PL4S3tfTQP72JKZOdgudICOkaHu9TM.png)

Обратите внимание, что выбран SCP (по-умолчанию стоит SFTP) иначе работать не будет.

![Получаем root-доступ к Kindle 4](http://im9.asset.yvimg.kz/userimages/pvnhome/uQt87G63JZ2o65PeL300LCSG2cM36X.png)

Все. Дело сделано.

Далее в планах установка Cool Reader 3. Версия для Kindle имеется. Проблема в том, что запуск программы производится с помощью launchpad, который на Kindle 4 без клавиатуры использовать мягко говоря проблематично.

Думаю написать что-нибудь для запуска. Хорошо бы прямо из меню Kindle. Идеи есть.

Продолжение следует...

---

Source: [https://yvision.kz/post/poluchaem-root-dostup-k-kindle-4-217331](https://yvision.kz/post/poluchaem-root-dostup-k-kindle-4-217331)