место в рейтинге
  • 42248
  • 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
4847

Загрузка...
Loading...

Комментарии

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

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

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

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

Прогноз эксперта: в Казахстане будут жить 5 миллионов китайцев

Прогноз эксперта: в Казахстане будут жить 5 миллионов китайцев

В ближайшие годы в Центральной Азии будут проживать восемь миллионов китайцев, считает заведующий отделением востоковедения национального исследовательского университета высшей школы экономики.
kurmanovainur
23 июня 2017 / 11:23
  • 41117
  • 47
Почему мы должны быть благодарны журналисту Джеймсу Палмеру за критику ЭКСПО

Почему мы должны быть благодарны журналисту Джеймсу Палмеру за критику ЭКСПО

Как одним критичным постом зарубежному журналисту Джеймсу Палмеру удалось вскрыть сразу несколько гнойников казахстанского общества.
anotherblogger
21 июня 2017 / 0:39
  • 7099
  • 64
Почему я больше не поеду отдыхать на северное побережье Алаколя

Почему я больше не поеду отдыхать на северное побережье Алаколя

Нам казалось, что на Алаколе мы сможем хорошо отдохнуть, расслабиться и набраться сил на весь следующий год. Вроде, и достаточно бюджетно, и не так далеко.
RisKaS
вчера / 18:05
  • 4182
  • 34
На каких улицах города Алматы вы точно попадете в «пробку»

На каких улицах города Алматы вы точно попадете в «пробку»

Строятся пешеходные и велосипедные дорожки, трамвайные пути "сносят", а главная традиция нашего мегаполиса - замена подземных коммуникаций и в этом году не была нарушена.
beoblod
вчера / 17:22
  • 3376
  • 3
Эксперимент. Два парня и девушка в поисках лучшего донера в Астане

Эксперимент. Два парня и девушка в поисках лучшего донера в Астане

Нас трое: девушка и двое парней. Мы обошли 7 заведений, где продают донеры. Оценивали по 10-бальной шкале только по вкусовым качествам донера. Никто нам за рекламу не платил, бесплатными донерами не кормил!
nargiz_15
сегодня / 10:08
  • 3540
  • 6
В каких случаях у вас могут изъять удостоверение личности?

В каких случаях у вас могут изъять удостоверение личности?

Недавно один знакомый задал вопрос: «Я сейчас выступаю как свидетель по одному делу. У меня забрали удостоверение личности (УЛ) в РУВД и не вернули обратно. Так можно?». Я сразу задалась вопросом...
asselsabekova
21 июня 2017 / 10:17
  • 3332
  • 20
Где отлично провести летние месяцы с пользой для здоровья и кошелька?

Где отлично провести летние месяцы с пользой для здоровья и кошелька?

Я обратил внимание, что в случае с уникальными природными зонами Павлодарской области применима поговорка: «что имеем – не ценим», а ведь они легко могли бы стать международными курортами.
Muzalevskiy
23 июня 2017 / 22:57
  • 3239
  • 11
Это «колхозное сооружение» вредит имиджу города. Я, как алматинка, против!

Это «колхозное сооружение» вредит имиджу города. Я, как алматинка, против!

Почему эту трубу не проложили под землей? Она обезображивает улицу, как дикий багровый шрам от раны, зашитой равнодушным, криворуким и ленивым хирургом, обезображивает лицо.
ValentinaVladimirska
23 июня 2017 / 12:10
  • 2647
  • 40
На Иссык-Куль через Юг. Не бойтесь ехать в Киргизию своим ходом!

На Иссык-Куль через Юг. Не бойтесь ехать в Киргизию своим ходом!

Очень живописная и бюджетная поездка вдоль всего берега по Иссык-Кулю! Мы, две обаятельные девушки, поехали вдвоем, подготовленные к совершенно автономной жизни в палатке, и ни разу ничего не...
yelenasergiyenko
22 июня 2017 / 13:20
  • 2836
  • 23