место в рейтинге
  • 44972
  • 69
  • 4
Нравится блог?
Подписывайтесь!

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

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

Исходные данные: 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
  1. ; MS-Windows driver config matching some basic modes of the
  2. ; Linux-USB Ethernet/RNDIS gadget firmware:
  3. ;
  4. ; - RNDIS plus CDC Ethernet ... this may be familiar as a DOCSIS
  5. ; cable modem profile, and supports most non-Microsoft USB hosts
  6. ;
  7. ; - RNDIS plus CDC Subset ... used by hardware that incapable of
  8. ; full CDC Ethernet support.
  9. ;
  10. ; Microsoft only directly supports RNDIS drivers, and bundled them into XP.
  11. ; The Microsoft "Remote NDIS USB Driver Kit" is currently found at:
  12. ; http://www.microsoft.com/whdc/hwdev/resources/HWservices/rndis.mspx
  13. [Version]
  14. Signature = "$CHICAGO$"
  15. Class = Net
  16. ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318}
  17. Provider = %Linux%
  18. Compatible = 1
  19. MillenniumPreferred = .ME
  20. DriverVer = 03/30/2004,0.0.0.0
  21. ; catalog file would be used by WHQL
  22. ;CatalogFile = Linux.cat
  23. [Manufacturer]
  24. %Linux% = LinuxDevices,NTamd64
  25. [LinuxDevices]
  26. ; NetChip IDs, used by both firmware modes
  27. %LinuxDevice% = RNDIS, USB\VID_0525&PID_a4a2
  28. [LinuxDevices.NTamd64]
  29. %LinuxDevice% = RNDIS.NT.5.1, USB\VID_0525&PID_a4a2
  30. [ControlFlags]
  31. ExcludeFromSelect=*
  32. ; Windows 98, Windows 98 Second Edition specific sections --------
  33. [RNDIS]
  34. DeviceID = usb8023
  35. MaxInstance = 512
  36. DriverVer = 03/30/2004,0.0.0.0
  37. AddReg = RNDIS_AddReg_98, RNDIS_AddReg_Common
  38. [RNDIS_AddReg_98]
  39. HKR, , DevLoader, 0, *ndis
  40. HKR, , DeviceVxDs, 0, usb8023.sys
  41. HKR, NDIS, LogDriverName, 0, "usb8023"
  42. HKR, NDIS, MajorNdisVersion, 1, 5
  43. HKR, NDIS, MinorNdisVersion, 1, 0
  44. HKR, Ndi\Interfaces, DefUpper, 0, "ndis3,ndis4,ndis5"
  45. HKR, Ndi\Interfaces, DefLower, 0, "ethernet"
  46. HKR, Ndi\Interfaces, UpperRange, 0, "ndis3,ndis4,ndis5"
  47. HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"
  48. HKR, Ndi\Install, ndis3, 0, "RNDIS_Install_98"
  49. HKR, Ndi\Install, ndis4, 0, "RNDIS_Install_98"
  50. HKR, Ndi\Install, ndis5, 0, "RNDIS_Install_98"
  51. HKR, Ndi, DeviceId, 0, "USB\VID_0525&PID_a4a2"
  52. [RNDIS_Install_98]
  53. CopyFiles=RNDIS_CopyFiles_98
  54. [RNDIS_CopyFiles_98]
  55. usb8023.sys, usb8023w.sys, , 0
  56. rndismp.sys, rndismpw.sys, , 0
  57. ; Windows Millennium Edition specific sections --------------------
  58. [RNDIS.ME]
  59. DeviceID = usb8023
  60. MaxInstance = 512
  61. DriverVer = 03/30/2004,0.0.0.0
  62. AddReg = RNDIS_AddReg_ME, RNDIS_AddReg_Common
  63. Characteristics = 0x84 ; NCF_PHYSICAL + NCF_HAS_UI
  64. BusType = 15
  65. [RNDIS_AddReg_ME]
  66. HKR, , DevLoader, 0, *ndis
  67. HKR, , DeviceVxDs, 0, usb8023.sys
  68. HKR, NDIS, LogDriverName, 0, "usb8023"
  69. HKR, NDIS, MajorNdisVersion, 1, 5
  70. HKR, NDIS, MinorNdisVersion, 1, 0
  71. HKR, Ndi\Interfaces, DefUpper, 0, "ndis3,ndis4,ndis5"
  72. HKR, Ndi\Interfaces, DefLower, 0, "ethernet"
  73. HKR, Ndi\Interfaces, UpperRange, 0, "ndis3,ndis4,ndis5"
  74. HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"
  75. HKR, Ndi\Install, ndis3, 0, "RNDIS_Install_ME"
  76. HKR, Ndi\Install, ndis4, 0, "RNDIS_Install_ME"
  77. HKR, Ndi\Install, ndis5, 0, "RNDIS_Install_ME"
  78. HKR, Ndi, DeviceId, 0, "USB\VID_0525&PID_a4a2"
  79. [RNDIS_Install_ME]
  80. CopyFiles=RNDIS_CopyFiles_ME
  81. [RNDIS_CopyFiles_ME]
  82. usb8023.sys, usb8023m.sys, , 0
  83. rndismp.sys, rndismpm.sys, , 0
  84. ; Windows 2000 specific sections ---------------------------------
  85. [RNDIS.NT]
  86. Characteristics = 0x84 ; NCF_PHYSICAL + NCF_HAS_UI
  87. BusType = 15
  88. DriverVer = 03/30/2004,0.0.0.0
  89. AddReg = RNDIS_AddReg_NT, RNDIS_AddReg_Common
  90. CopyFiles = RNDIS_CopyFiles_NT
  91. [RNDIS.NT.Services]
  92. AddService = USB_RNDIS, 2, RNDIS_ServiceInst_NT, RNDIS_EventLog
  93. [RNDIS_CopyFiles_NT]
  94. ; no rename of files on Windows 2000, use the 'k' names as is
  95. usb8023k.sys, , , 0
  96. rndismpk.sys, , , 0
  97. [RNDIS_ServiceInst_NT]
  98. DisplayName = %ServiceDisplayName%
  99. ServiceType = 1
  100. StartType = 3
  101. ErrorControl = 1
  102. ServiceBinary = %12%\usb8023k.sys
  103. LoadOrderGroup = NDIS
  104. AddReg = RNDIS_WMI_AddReg_NT
  105. [RNDIS_WMI_AddReg_NT]
  106. HKR, , MofImagePath, 0x00020000, "System32\drivers\rndismpk.sys"
  107. ; Windows XP specific sections -----------------------------------
  108. [RNDIS.NT.5.1]
  109. Characteristics = 0x84 ; NCF_PHYSICAL + NCF_HAS_UI
  110. BusType = 15
  111. DriverVer = 03/30/2004,0.0.0.0
  112. AddReg = RNDIS_AddReg_NT, RNDIS_AddReg_Common
  113. ; no copyfiles - the files are already in place
  114. [RNDIS.NT.5.1.Services]
  115. AddService = USB_RNDIS, 2, RNDIS_ServiceInst_51, RNDIS_EventLog
  116. [RNDIS_ServiceInst_51]
  117. DisplayName = %ServiceDisplayName%
  118. ServiceType = 1
  119. StartType = 3
  120. ErrorControl = 1
  121. ServiceBinary = %12%\usb8023.sys
  122. LoadOrderGroup = NDIS
  123. AddReg = RNDIS_WMI_AddReg_51
  124. [RNDIS_WMI_AddReg_51]
  125. HKR, , MofImagePath, 0x00020000, "System32\drivers\rndismp.sys"
  126. ; Windows 2000 and Windows XP common sections --------------------
  127. [RNDIS_AddReg_NT]
  128. HKR, Ndi, Service, 0, "USB_RNDIS"
  129. HKR, Ndi\Interfaces, UpperRange, 0, "ndis5"
  130. HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"
  131. [RNDIS_EventLog]
  132. AddReg = RNDIS_EventLog_AddReg
  133. [RNDIS_EventLog_AddReg]
  134. HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\netevent.dll"
  135. HKR, , TypesSupported, 0x00010001, 7
  136. ; Common Sections -------------------------------------------------
  137. [RNDIS_AddReg_Common]
  138. HKR, NDI\params\NetworkAddress, ParamDesc, 0, %NetworkAddress%
  139. HKR, NDI\params\NetworkAddress, type, 0, "edit"
  140. HKR, NDI\params\NetworkAddress, LimitText, 0, "12"
  141. HKR, NDI\params\NetworkAddress, UpperCase, 0, "1"
  142. HKR, NDI\params\NetworkAddress, default, 0, " "
  143. HKR, NDI\params\NetworkAddress, optional, 0, "1"
  144. [SourceDisksNames]
  145. 1=%SourceDisk%,,1
  146. [SourceDisksFiles]
  147. usb8023m.sys=1
  148. rndismpm.sys=1
  149. usb8023w.sys=1
  150. rndismpw.sys=1
  151. usb8023k.sys=1
  152. rndismpk.sys=1
  153. [DestinationDirs]
  154. RNDIS_CopyFiles_98 = 10, system32/drivers
  155. RNDIS_CopyFiles_ME = 10, system32/drivers
  156. RNDIS_CopyFiles_NT = 12
  157. [Strings]
  158. ServiceDisplayName = "USB Remote NDIS Network Device Driver"
  159. NetworkAddress = "Network Address"
  160. Linux = "Linux Developer Community"
  161. LinuxDevice = "Linux USB Ethernet/RNDIS Gadget"
  162. SourceDisk = "Ethernet/RNDIS Gadget Driver Install Disk"

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

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

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

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

Вычисляем пароль
  1. victor@host:~$ python
  2. Python 2.5.2 (r252:60911, Oct 5 2008, 19:29:17)
  3. [GCC 4.3.2] on linux2
  4. Type "help", "copyright", "credits" or "license" for more information.
  5. >>> import hashlib
  6. >>> print("fiona%s"%hashlib.md5("B00E150114043GLR\n".encode('utf-8')).hexdigest()[7:11])
  7. fiona8721
  8. >>>

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

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

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

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

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

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

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

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

Rotvik Hitrson pvnhome
3 января 2012, 13:20
5017

Loading...

Комментарии

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

«До какой же еще степени унижения должен дойти народ?!»

«До какой же еще степени унижения должен дойти народ?!»

Министерство труда и соцзащиты провело через парламент очередной крайне неоднозначный закон, который может вызвать всплеск недовольства в стране.
openqazaqstan
15 нояб. 2017 / 11:17
  • 24936
  • 19
«Почему я не хочу встречаться с мужчинами-казахами»

«Почему я не хочу встречаться с мужчинами-казахами»

Заранее отпишусь, данный пост не является попыткой оскорбить собственную нацию) Как говорится о вкусах не спорят, каждому свое.
Bonittta
16 нояб. 2017 / 14:28
  • 12970
  • 349
Почему катастрофический отток интеллектуальной элиты не тревожит Астану?

Почему катастрофический отток интеллектуальной элиты не тревожит Астану?

Как сообщает телеканал КТК, только за последние девять месяцев Казахстан покинули 28200 человек, из них почти пять тысяч инженеров, около 2700 экономистов и 1700 учителей.
openqazaqstan
17 нояб. 2017 / 11:00
  • 8492
  • 48
Задержан казахстанец, продававший детей в сексуальное рабство в ОАЭ и Бахрейн

Задержан казахстанец, продававший детей в сексуальное рабство в ОАЭ и Бахрейн

Подтверждаются худшие предположения, циркулирующие в соцсетях. Периодические исчезновения детей в разных регионах Казахстана объясняются не только семейными проблемами и «синими китами».
openqazaqstan
16 нояб. 2017 / 15:46
  • 6474
  • 54
«Думай как британец»: 8 вещей, которым я научилась в Великобритании

«Думай как британец»: 8 вещей, которым я научилась в Великобритании

Как два года в Великобритании изменили мою жизнь. Несколько простых вещей, которые могли бы сделать нашу жизнь лучше.
goribaldi
13 нояб. 2017 / 16:51
  • 4145
  • 28
Мой личный рейтинг женщин: от пуританки до содержанки

Мой личный рейтинг женщин: от пуританки до содержанки

Сегодня предлагаю вашему вниманию мой личный рейтинг женщин. А вот я хочу быть домохозяйкой, правда, не пахать дома, а хозяйничать.
Mysli_v_Sluh
13 нояб. 2017 / 15:00
Самый большой мошенник в стране: об эффективной схеме развода «Казахтелеком»

Самый большой мошенник в стране: об эффективной схеме развода «Казахтелеком»

История о том, как Народный провайдер наваривается на своих клиентах, намерено не отключая услуги, и беря лишние деньги за ненужные и не оказываемые услуги.
ligaspravedlivosti
17 нояб. 2017 / 19:12
  • 5809
  • 21
Российским женщинам нужны казахстанские мужчины?

Российским женщинам нужны казахстанские мужчины?

Отдельные инициативы некоторых российских чиновников вызывают в Казнете приступы просто-таки гомерического ржача. Женщин в регионе – пруд пруди, а вот мужчин, с которыми они могли бы создать семьи, не хватает.
openqazaqstan
14 нояб. 2017 / 15:55
  • 2671
  • 18
«Men in black» по-казахски: «сотрудники» плевать хотели на Закон о СМИ

«Men in black» по-казахски: «сотрудники» плевать хотели на Закон о СМИ

Бесцеремонные попытки силовиков помешать работе журналистов демонстрируют, в каком правовом государстве мы живём. Разбить телефон, угрожать, бить – всё это для «сотрудников» в порядке вещей.
openqazaqstan
13 нояб. 2017 / 19:02
  • 2487
  • 33