Skocz do zawartości

Iriver_t10_strings


mgr.inż.Player

Rekomendowane odpowiedzi

Zaczynałem tak: Semi-polski Firmware T10 Pure

 

A doszedłem do tego:

small_iriver_strings.png

cały obraz

 

Program mojego autorstwa można pobrać z:

http://www.iriver_foreign_firmware.republika.pl/iriver_t10_strings_nowe.zip

 

Przykładowy firmware dla T10 PURE ( testy przeszedł pomyślnie ):

http://www.iriver_foreign_firmware.republika.pl/T10_PURE_v2.rar

 

 

Opis programu w menu "Pomoc".

Wymagane biblioteki Microsoft.NET

 

Edit:

 

1) W obecnym stanie program ma wpisane na stałe stringi BigEndianUnicode występujące w T10blue, T10E, T10, T20, T20P T10blue, T10E, T10, T10P, T20, T20P, T30, T30P, T50, T60.

2) Nie mam możliwości sprawdzić czy zmodyfikowane przez nas firmware jest poprawne - mam tylko T10P. Testy dla innych modeli przeprowadzone przeze mnie polegały na porównywaniu pliku oryginalnego( decrypted ) oraz zmodyfikowanego ( decrypted ) w programie HexWorkshop. Potrzeba więcej testów.

3) W przyszłości planuję dodać doczytywanie stringów z pliku ( modyfikowanego przez użytkownika ).

T10_PURE_v2.rar

iriver_t10_strings_nowe.zip

Odnośnik do komentarza
Udostępnij na innych stronach

fajne :) a mógłbyś wstawić te pliki jako załączniki do postu? bo z innego serwera mogą zniknąć, a z forumowego przepadną tylko razem z całym forum ;)

 

jak to właściwie działa? wyszukuje ciągi z jakiejś listy, czy po prostu wyszukuje ciągi w zdekodowanym pliku firmware'u? bo w tym drugim przypadku, działało by to ze wszystkimi odtwarzaczami serii iFP, T i U10 (o ile dobrze pamiętam te wszystkie miały firmware szyfrowany w ten sam sposób, jeden z naszych forumowiczów napisał dawno temu dekoder dla iFP-ków, który jest używany do dziś nawet przez twórców rockboksa)

Odnośnik do komentarza
Udostępnij na innych stronach

Programem wczytujemy pliki ".hex" lub pliki ".decrypted.bin" ( otrzymane np. z H3Mod ).

 

Garść informacji.

Działanie programu trochę podobne jest do działania H3Mod, którym między innymi podmieniamy obrazki.

W przypadku obrazków - ograniczeniem są m.in. wymiary ( szer. i wys. ) oraz ilość kolorów ( gif ).

W przypadku stringów (łańcuchów znaków) - ilość znaków oraz (jak się później okazało) szerokość ( w pikselach ).

 

Zauważyłem, że stringi w firmware są w formacie BigEndianUnicode. Pierwsze próby podmiany stringów przeprowadzane były w "edytorze heksadecymalnym" na plikach ".decrypted.bin". Problem pierwszy - zmieścić się w z góry ustalonej ilości znaków wymyślając nowy string (np. polski odpowiednik) . Kolejny problem to szerokość - czasami wpisany przeze mnie string, który miał tyle samo znaków co oryginalny, nie był wyświetlany poprawnie (ucinana była końcówka). Później zauważyłem, że przed każdym stringiem w firmware występują dwa bajty przedstawiające wartość większą przy dłuższych stringach oraz mniejszą przy krótszych - szerokość.

Informacje te pozwoliły mi na przykład to ("USB Connect"):

ss1m.jpg

zmienić w to ("USB Podpięte"):

ss2m.jpg

 

Może zauważyliście, że string "USB Connect" ma 11 znaków, a "USB Podpięte" ma 12 znaków ?

Tak, pierwsze ograniczenie dotyczące stringów zostało "nagięte" o 1 znak (przynajmniej na T10).

Drugie ograniczenie przestało być problemem, szerokość wystarczyło policzyć (zsumować szerokości poszczególnych znaków).

 

W moim programie mamy możliwość wydłużenia o 1 znak. Szerokości stringów liczone są automatycznie. Nie jest tego dużo, ale zawsze coś.

Chętnie odpowiem na kolejne pytania.

Odnośnik do komentarza
Udostępnij na innych stronach

zamiast "repeat" będziesz miał "powtó." a zamiast "equalizer" np. "ekłalizer"... o ile ktoś chce mieć polskie menu w odtwarzaczu

 

Polskie, niemieckie. Jakie chce. Można zmienić np. "Timer" na "T1m3r", "Date" na "дата" . Ważne, że może być dłuższe tylko 1 znak od oryginału.

 

Ja mam takie tłumaczenie (na dowód, że tak źle nie jest) :

Settings -> Ustaw...
Sound -> Dźwięk
Display -> Ekran
Recording -> Dyktafon
Timer -> Zegar
Advanced -> Zaawans.
SRS Setting -> Ustaw SRS
User EQ -> Ustaw EQ
Backlight Timer -> Czas Wygaszenia
Screen Saver -> Wyb. Animacji
Scroll Speed -> Ustaw Tagi ( propozycje ?? )
Tag Info. -> (zostawiłem oryginał)
Language -> Język
Battery Select -> Rodzaj Baterii
Name -> Imię
LCD Contrast -> Kontrast LCD
Voice Setting -> Jakość Nagr.
Voice Detect -> Detekcja Dźw.
Power Off Timer -> Czas Wyłączenia
Sleep Timer -> Czas Uśpien ( ktoś z tym pomoże ?? )
Date & Time -> Data i Czas
Select Alarm -> Wł/wył Alarm
Set Alarm -> Ust. Alarm
Resume -> Wznów
System Info -> Informacje
Scan Speed -> Prędk.Przew
Playback Speed -> Prędk.Odtwarz.
Study Mode -> Studiowanie
Load Default -> Ust.Domyślne
Format -> (zostawiłem oryginał)
Are You Sure? -> Jesteś pewny ?
Firmware Upgrade -> Aktualizacja F/W
Low Battery -> Rozładowana  ( propozycje ?? z obrazkiem w tle nawet pasuje)
Beep Volume -> (mam T10P więc zostawiłem)
F/W Upgrade -> F/W Aktualka
Hold -> ( zostawiłem )
USB Connect -> USB Podpięte ( USB Podpięty )
Transferring Data... -> Przesyłam Dane .....
EQ Select -> Wybór EQ
Play Mode Select -> Tryb Odtwarzania

Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Zarejestruj się aby mieć większy dostęp do zasobów forum. Przeczytaj regulamin Warunki użytkowania i warunki prywatności związane z plikami cookie Polityka prywatności