Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Edycja firmware w DVD Philips - jak ? (np. DVD700, DVDR75)

23 Sty 2005 22:13 3977 4
  • Poziom 10  
    To nie opis usterki a raczej pomysł i zaproszenie do dyskusji hackerów w dobrym znaczeniu tego słowa.

    Czy wie ktoś jak można poddać edycji firmware z odtwarzacza DVD Philips DVD700 lub podobnego albo nagrywarki Philips DVDR70/75 ?

    Po co ? Przykładowo aby zmienić graficzne tło lub wyświetlane komunikaty.

    Trochę boję się edytować je wprost edytorem plików binarnych (np. Hexedit) ponieważ obawiam się, iż dane są chronione jakąś sumą kontrolną i przy flashowaniu może spotkać mnie niespodzianka.

    Wiem, że takie możliwości jak wymiana obrazu tła jest możliwa w niektórych stacjonarnych odtwarzaczach DVD i są do tego specjalne programy. Obraz tła to z pewnością klatka skompresowana w MPEG albo nawet nieskompresowana.

    Firmware odtwarzacza DVD700 to tylko 1MB, ale nagrywarka DVDR75 ma już kilkadziesiąt MB i wygląda na to, że firmware pisane jest w języku C++. Jak by się do tego dobrać i zrobić jakiś reverse engineering w celach edukacyjno-poznawczych oczywiście :)

    Czy komuś zdarzyło się wgrać zły firmware ? Czy jest to do "odkręcenia" w przypadku wspomnianych Philipsów bez ingerowania we wnętrze ?
  • Użytkownik usunął konto  
  • Specjalista techniki DVD
    Chętnie podyskutowałbym na ten temat ale nie ma chyba o czym. Napisanie nowego softu to temat dla twardogłowych. A tak swoją drogą to skąd wiesz że soft jest pisany w C++ ?
  • Poziom 13  
    nie znalazlem nigdzie opisu DVD700, ale popatrz na stronke http://personal.inet.fi/koti/mabreaker/mabreaker/mediatek/index.html
    jest tam program do edycji pewnych fragmentów firmware dla sprzetu robionego na procesorach mediateku (MTK13*9) , jeli uda ci sie tym otworzyć firmware to bedziesz się mógł trochę pobawić w "tuningowanie" sprzetu ;)
    Osobiście odradzam jakiekolwiek zmiany plików firmware jakimkolwiek edytorem robionych na zasadzie prob i bledów, zazwyczaj koncza sie one fatalnie. Co do sumy kontrolnej to twoje firmware na 99% je posiada (ostanie pare bajtów) prawdopodobnie przy braku jej poprawnosci DVD nie pozwoli nawet na wgranie firmware.
    Co do jezyka w jakim bylo pisane firmware to masz racje tylko po czesci, czesci odtwarzaczy ma tworzone firmware w jezyku dedykowanym dla konkretnego procesora podobnym do C (MEDIATEK wykorzystuje do tego jezyk ARM)
  • Poziom 10  
    Skąd wiem, że C++ ? Po prostu podglądając firmware zauważyłem tam ścieżki do plików źródłowych z rozszerzeniem CPP. Oczywiście mam świadomość, iż całość nie może być tylko w C++, bo zawsze gdzieś niżej będzie język procesora.

    Próbowałem przejrzeć najnowszy firmware dla DVD700 i znalazłem tam 6 bloków:

    PLAY: 00.0000 - 0D.FFFF - czyli 896KB
    DIAG: 0E.0000 - 0E.FFFF - czyli 64KB
    OEMD: 0F.0000 - 0F.7FFF - czyli 32KB
    DOWN: 0F.8000 - 0F.BFFF - czyli 16KB
    BOOT: 0F.C000 - 0F.FFFF - czyli 16KB
    LOAD: 10.0000 - 10.3FFF - czyli 16KB

    przy czym wszystkie z wyjątkiem OEMD kończą się specyficzną zmienną sekwencją 32 bajtów (tak mi się wydaje) i zapewne w nim jest suma kontrolna.

    Wiem, że próby na zasadzie eksperymentów mogą przynieść katastrofę i totalnie rozłożyć odtwarzacz, ale na początek można by się było pobawić jedynie w zmianę wyświetlanych napisów, co raczej nie powinno mieć wpływu na działanie odtwarzacza. A te widać wyraźnie w pliku firmware. Kolejnym etapem mogło by być dobranie się do tapety, jeśli w ogóle tam jest. Podejrzewam za to obecność fontów i ikonek w pliku firmware.

    Próbowałem wgrać firmware z jednym zmienionym napisem, ale się nie dało: po przeskanowaniu płyty Error na wyświetlaczu i brak zmian.

    Co do programików dla MTK, badałem je przed rozpoczęciem tego wątku. Nie działają z tymi firmware'ami.

    Póki co, dorobiłem sobie RS-232C do odtwarzacza i mogę uruchomić tryb diagnostyczny. Co ciekawe umożliwia on wgranie programu do głównego procesora (to chyba ST20 w chipie OMEGA-DVD) i uruchomienie go. No, ale tu już trzeba być mocno w temacie. Ale ponieważ kod trybu diagnostycznego zawarty jest w firmware (sekcja DIAG), to trochę słabo, bo jak wgramy wadliwy firmware, to nawet ten tryb diagnostyczny nie pomoże.