Bezpieczne sprawdzanie "obcego" firmware na playerach HD

Kirek50

Moderator
Bez reklam
Ponieważ jest duże zainteresowanie forumowiczów zarówno moddingiem firmware, jak i flashowaniem playerów obcym firmware, co często kończy się najgorszym efektem, czyli padem urządzenia, poniżej instrukcja jak bez znajomości Linuxa i hardware bezpiecznie i odwracalnie sprawdzić, czy obcy firmware, który chcemy wgrać na naszego playera będzie działał i co nam da.

Autorem tego sposobu i testerem jest peterk2005 z AVForums, jest bardzo uczynny, więc jeżeli ktoś będzie mial jakieś pytania i wątpliwości warto się do niego zwrócić. Zresztą rozgryzł też sporo innych rzeczy w firmware playerów, m.in. sposoby ich reanimacji po różnych chybionych eksperyemntach, więc warto pośledzić jego wpisy na różnych forach.

Ale do rzeczy.

1. Ściągamy firmware, które chcemy wrzucić do naszego playera (powinno pochodzić od urządzenia na takim samym chipsecie), rozpakowujemy i otrzymujemy plik install.img.

2. Ponieważ jest to skompresowany plik .tar, więc zmieniamy jego nazwę na dowolną z rozszerzeniem.tar u rozpakowujemy do nowego katalogu. Posłużyć się można np. 7Zip lub dowolną inną aplikacją dekompresująca pliki .tar.

3. W katalogu, gdzie znalazła się zawartość rozpakowanego pliku, mamy pliki i katalogi, w tym jeden package2. Wchodzimy do niego i wyszukujemy kolejne archiwum, nazywa się yaffs2_1.img i jest skompresowane w formacie Yaffs2.

4. Do jego dekompresji będziemy potrzebowali programu unyaffs2.exe, który możemy ściągnąć stąd

5. Po ściągnięciu i rozpakowaniu aplikacji otrzymamy plik wykonywalny i jedną bibliotekę DLL. Zakładamy nowy katalog, kopiujemy tam obydwa pliki oraz wcześniej znaleziony (pkt. 3) plik yaffs2_1.img.

6. Przechodzimy do tegoż katalogu i z linii poleceń wpisujemy komendę: unyaffs.exe yaffs2_1.img, co powoduje rozpakowanie pliku yaffs2_1.img i w efekcie otrzymujemy kilka katalogów.

7. Wchodzimy do katalogu :usr, następnie local, następnie bin, w którym znajduje się kilka katalogów i plików (m.in. jeden z najważniejszych dla nas DvdPlayer). Całą zawartość tegoż katalogu bin kopiujemy do katalogu głównego przygotowanego wcześniej pendrive (czysty, sformatowany na FAT 32). Pendrive'a wkładamy następnie do złącza USB playera i włączamy go.

8. Teraz będziemy musieli połączyć się z naszym playerem przy pomocy telnetu. Robimy to (mowa o Windowsach) z linii poleceń, wpisując komendę "telnet 192.168.x.x", zamiast x.x wstawiając resztę adresu IP playera. W Windowsie 7 nie ma Telnetu, podobnie również może być w wersji XP Home, więc doinstalowujemy HyperTerrminal, albo inny. Tutaj mamy Realterm, tu z kolei Teraterm, tutaj Absolute Telnet, tutaj PuTTY.

9. Gdy jesteśmy już zalogowani do naszego playera przechodzimy do katalogu /usr/local/etc i wykonujemy kopię znajdującego się tam katalogu DvdPlayer. Polecenie do zrealizowania tej czynności to: cp -r dvdplayer dvdplayer_backup. Po tym mamy kopię bezpieczeństwa katalogu DvdPlayer o nazwie dvdplayer_backup.

10. Kolejny krok to zatrzymanie wszystkich aplikacji uruchomionych na playerze. Robimy to przechodząc do katalogu /usr/bin, gdzie wpisujemy polecenie stopall.

11. Kolejna czynność to uruchomienie obcego firmware, który mamy na pendrive. W tym celu wpisujemy polecenie /tmp/usbmounts/sda1/DvdPlayer i... firmware zaczyna się uruchamiać albo nie.

12. Jeżeli firmware nie działa, a chcemy wypróbować kolejny, to musimy skasować katalog dvdplayer w /usr/local/etc/dvdplayer (delete /usr/local/etc/dvdplayer) i zacząć wszystko od początku.

13. Gdy już znudzą się nam testy, musimy pamiętać o przywróceniu pierwotnego firmware playera. Robimy to wchodząc do katalogu delete /usr/local/etc i kasując katalog dvdplayer (można poleceniem delete /usr/local/etc/dvdplayer), a następnie przywracając z wcześniej wykonanej kopii bezpieczeństwa oryginalny katalog dvdplayer poleceniem "cp dvdplayer_backup dvdplayer"

14. Jeżeli firmware nam odpali to z pewnością będziemy chcieli wykonać kilka testów, a do tego przydadzą nam się kody pilota. Niestety, tu może być różnie, dlatego trzeba poeksperymentować z klawiaturą.

Autor opisywanego wyżej sposobu testowania uruchamiał firmware XTreamera, Playon i Mede8era na Ausie O!Play i metodą prób i błędów uzyskał takie kody - mam nadzieję, że tłumaczenie jest zbędne. Oczywiście klawiszy używamy będąc cały czas w aktywnym oknie terminala.

a - audio button
b - takes you into the recording setup screen
f - reverse play <<
j - reverse zoom (starts at max zoom and goes back to 1)
l - slow play reverse
m - mute on/off
n - skip to next title (not chapter)
o - Shut down quickly
p - skip to prior title (not chapter)
q - go back 10 SECONDS
r - start recording / switch to av
s - subtitle toggle
v - volume -
z - normal zoom

A - left
B - 30 Second Skip
D - right
E - Delete
F - Fast forward >>
H - report some kind of status
L - slow play forward
M - Menu
N - Next chapter
O - shut down normally
P - Prior chapter
Q - Stop
S - Play
T- AV input screen
V - volume +
W - up
X - down
Z - Step / pause

- - goto
= - repeat a/b
+ - repeat button

# - go to USB screen
$ - go to REC directory
0-9 - same as entering 0-9. Jumps to title.

[ - source button
{ - home button
, - return button
/ - go to setup menu
\ - switch tv system
: - switch tv system (not sure how it is different from \)

ESC - Go to setup menu
SPACE - OK/SELECT
 
Do góry