Welcome guest, is this your first visit? Click the "Create Account" button now to join.
Page 6 of 8 FirstFirst ... 45678 LastLast
Results 51 to 60 of 74

Hybrid View

  1. #1
    haute
    Guest

    Default

    Patch etrex 20to30

    FIRMWARE 2.87 Beta (offset Fw_all.bin)

    OLD NEW
    10A546: 18 40
    10A547: 70 1C
    10A549: 78 70

    FIRMWARE 2.87 Beta (offset *.gcd)

    OLD NEW
    18C7F1: 18 40
    18C7F2: 70 1C
    18C7F4: 78 70

  2.    Advertissements


  3. #2
    haute
    Guest

    Default

    leave a link for you to try with the last two versions of firmware 2.87 Beta eTREX20-30
    - Patched version JNX
    - Patched version JNX + 20to30.

    [Only registered and activated users can see links. ]

    If someone can try to communicate results.
    A greeting.

  4. #3
    haute
    Guest

    Default

    hello.

    This is a comparison of the PCB of the two models of Garmin GPS Etrex 20 and 30.
    As you can see, the Model 20 has no more sensor if they are in version 30.
    That is why the 20to30 firmware does not work exactly like a etrex 30.

    In the images leave the 3 models of chips used, if anyone WANT add.
    Although I think only the barometric sensor is easy to solder.

    Furthermore you can see in the last picture the 3 main chips used in these models.

    CPU: STA8088EXG
    2GB Memory: Samsung KLM2G1DEHE-B101 This memory can have two configurable boot. ¿Region 5 - Boot Block? and ¿region 12- Boot.bin?
    256kb Memory: K5N5629ATA [NOR 256Mb] Could this be the NV?


    Combining KLM2G1DEHE-B101 + K5N5629ATA [NOR 256Mb] is widely used in some mobile phones, so maybe you could read and write these memories with some software used in phones, to repair firmwares (boots corrupt).

    Someone can provide more info?

    [Only registered and activated users can see links. ]
    Last edited by haute; 15th October 2012 at 01:56 PM.

  5. #4
    haute
    Guest

    Default

    Code:
    Please Login or Register to see the links
    I thank Kunix, assistance

  6. #5
    Navigation software Moderator kunix's Avatar
    Join Date
    Sep 2011
    Location
    Belarus
    Posts
    908
    Rep Power
    439

    Default

    I've written a new disasm script. I think it's better than the previous one I posted in this topic. It works by treating all the 4-bytes aligned 4-byte integers as pointers and judging if each one points to a function. Also smart_disasm requires that the firmware entry point is named "fw_base".

    Code:
    Please Login or Register to see the links
    Last edited by kunix; 22nd November 2012 at 09:38 AM.

  7. #6
    Member
    Join Date
    May 2010
    Location
    None
    Posts
    16
    Rep Power
    0

    Default

    Quote Originally Posted by kunix View Post
    I've written a new disasm script. I think it's better than the previous one I posted in this topic. It works by treating all the 4-bytes aligned 4-byte integers as pointers and judging if each one points to a function. Also smart_disasm requires that the firmware entry point is named "fw_base".

    Code:
    Please Login or Register to see the links
    I think that this row have to be changed as
    if((ptr % 2) == 0 && ...........

    and also
    addr = Dword(p);

    i think that return program code at address p, not the address in p, as seems used in script ...
    Last edited by ataro1; 2nd May 2015 at 04:47 PM.

  8. #7
    haute
    Guest

    Default

    you are going to upgrade too, the ida pro loader?

  9. #8
    Navigation software Moderator kunix's Avatar
    Join Date
    Sep 2011
    Location
    Belarus
    Posts
    908
    Rep Power
    439

    Default

    Do you think I should incorporate the script into the loader? Hm, I don't know... It's much easier to keep them separated. Also starting disassembling right after loading the firmware is a bad idea, so disassembling should be called by a separate function, and I don't know how to add a new function from a plugin.
    Last edited by kunix; 22nd November 2012 at 11:30 AM.

  10. #9
    haute
    Guest

    Default

    Do not quite understand that improving this script (IDC), I tested with a firmware without using the (IDA Pro loader).
    smart_disasm_region (0x80100000, 0x803C0000), and located only a few functions, very few.
    I do not know if this script is a complement (IDA Pro loader).
    I mean, what is the procedure?
    Loading a firmware with (IDA Pro loader) and then apply this script?.

    Honestly, the (IDA Pro loader) does a very good job, just need a script to look and put some names of important functions.

    Do not really understand the function of this script you have posted, if we have the (IDA Pro loader)

  11. #10
    Navigation software Moderator kunix's Avatar
    Join Date
    Sep 2011
    Location
    Belarus
    Posts
    908
    Rep Power
    439

    Default

    What firmware did you use?
    The procedure is the following: name the entry point as "fw_base" and the run smart_disasm(), it will calculate the disasm region bounds and call smart_disasm_region().
    Calling smart_disasm_region for a small part of the firmware is a bad idea, as pointers may be very distant from the corresponding functions.
    This script is better than the previous because it has a very small amount of false positives. And false positives frequently make IDA disassemble data, not code, and then the disasm looks awful. The old script is especially awful for nuvis 34xx, 24x5 (when the firmware uses Thumb2 instructions).

    UPD
    Yeah, it does miss functions, can't yet explain why.
    I thought that any function is either called indirectly (and then its address is stored as integer), or it's called directly by some function and then we can proceed recursively with the caller. By this reasoning the new script should disassemble all functions.
    I'm aware that this reasoning is false sometimes (the italic part), as some functions are first copied to another location and only after they are called, also there is infinite amount of perverted ways to call a function (but only small amount of them is used by the compiler). But I'm hoping that it's false for not too many functions.

    So, in conclusion, the new script is better because the disasm is clearer (no images/other data is disassembled!), while almost all usable functions are found.
    Last edited by kunix; 22nd November 2012 at 01:31 PM.

 

 

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •