haute
Here are a few hints for you. All info below is for valid eTrex 20 firmware version 2.80.
eTrex is a multi-language device, so localizable strings won't be referenced directly from the firmware. Instead, some code will be used when referencing strings. And indeed there is a function for loading localizable strings which takes an integer as a string index:
There is a default English locale, which is the only locale contained in the firmware. The string of interest at 0x 80845EF8 is a part of the English locale.Code:Please Login or Register to see the links
Also there is a list of tags used for loading localizable strings from localization XML files:Code:Please Login or Register to see the links
The tag of interest is the followingCode:Please Login or Register to see the links
The corresponding string index is (0x80841834-0x808413BC)/4 = 0x11E.Code:Please Login or Register to see the links
Then I suggest disassembling the firmware by issuing disasm(0x80100000,0x803C0000), which is defined in the following script: [Only registered and activated users can see links. ].
After that I suggest searching for text "0x11E" (Alt-T). Then we can find where integer constant 0x11E is used for loading strings:
So it looks like this is the code that displays the message of interest. Good luckCode:Please Login or Register to see the links
P.S.
Also I think this way of searching for particular peace of code isn't universal, as some localizable strings may be referenced by data structures defining complex windows, and not the firmware code itself. Even worse, these data structures may be constructed dynamically.
I don't know how complex windows are displayed in tourist devices, so maybe AlexWhiter will shed some light on it.



Likes: 



Reply With Quote

Bookmarks