Welcome guest, is this your first visit? Click the "Create Account" button now to join.
Page 1 of 14 12311 ... LastLast
Results 1 to 10 of 133
  1. #1
    Member
    Join Date
    Aug 2013
    Location
    A
    Posts
    24
    Rep Power
    68

    Default Convert garmin .img pseudo-NT to non-NT? I know it's possible, but how?(SOLVED!!!) (TUTORIAL)

    TUTORIAL for an "almost" automated solution:
    Use the third version of the program [Only registered and activated users can see links. ] created by r0cker (download link also at post [Only registered and activated users can see links. ] and r0cker's [Only registered and activated users can see links. ])

    1-Extract .gmp file from .img(pseudo-NT, single map) using GMapTool
    2-Use GarminGMPExtract003.exe with the .gmp file and obtain the subfiles (.LBL, .NET, .NOD, .RGN and .TRE) from it
    3-then join these five subfiles (.LBL, .NET, .NOD, .RGN and .TRE) with GMapTool as a non-NT img (short header in options) and get the converted non-NT .img file

    Now, for example, you can open it with any version of GPSMapEdit, edit and save it as a *.mp format or any other thing that you want to do.
    In fact, the non-NT .img file you obtain, CAN BE OPENED with OLD GARMIN UNITS (NT unaware) and with any map editing/decompiler program that opens non-NT mg's files.
    Another useful program is GPSmap0085 (specifically this version 0085) that let you extract house numbers from the .img.

    Note: The only version available on the web of [Only registered and activated users can see links. ] program is the FREE version (NOT the ROUTABLE), so you can get the map with house numbers, but you cannot get the routing info.
    Eventually, combining what you get from GPSMapEdit (here you get all map info, including routing, but NOT house numbers) and GPSmap0085 FREE (House numbers, but NOT routing) you could get a full map, but this need programming.

    Note 2: if anyone have GPSmap0085 ROUTABLE version, please share here
    END

    *********************************
    How it was worked out...

    See post [Only registered and activated users can see links. ]
    and posts [Only registered and activated users can see links. ] and [Only registered and activated users can see links. ]

    *********************************
    --Original Post:

    I'm trying to know how to convert pseudo-NT (by cgpsmapper) to non-NT garmin maps.
    I know it is possible because GPSmapedit version 1.0.66.7 can interpret and decode pseudo-NT created by cgpsmapped (which is not the real NT from garmin that can't be decoded by any program at hand)
    (this apparently was a bug in GPSmapedit, because neither earlier versions or newer version can decode pseudo-NT, only this 1.0.66.7 specific version)

    This is what i have:
    I use as source map one that came in cgpsmapper 0100d installation folder here:
    gdansk_routing\MP_source\gdansksopot.mp
    I named it example.mp

    What i did was, compile the img with and without NT enabled using cgpsmapper 0100d and get:
    example.img (non-NT compilation)
    exampleNT.img (Pseudo-NT compilation)

    so i can see the differences.

    Then, using GMapTool 0.8.143, splited both img to their respective subfiles (you can extract each subfile from the img directly, but to be sure...)

    So i get: .RGN; .TRE; .LBL from example.img
    and
    .GMP from exampleNT.img

    Let me explain: the idea is to convert pseudo-NT to NT maps. So if i happen to have a pseudo-NT map and if i could extract the RGN,TRE,LBL(NOD etc..) from its .GMP I'm DONE!!
    In this example i have both files pseudo-NT and non NT, so it should be easier comparing both.

    This is how GMP file is structured:
    GMP header
    TRE header
    RGN header
    LBL header
    TRE rest of TRE file
    RGN rest of RGN file
    LBL rest of LBL file
    (this is located in the GMP file as i put here, one segment after another)

    So i can create TRE,RGN,LBL files extracting the info from the GMP file. (i called them NT.TRE; NT.RGN; NT.LBL)
    (for the moment i can do this by previously knowing each file zise, because i have the non-NT version also!!, ... but keep this for later)

    If now, using GMapTool, i join these "from NT" subfiles i get an img garmin map. BUT these map fail to load in GPSmapedit.


    Comparing the files (pseuso-NT/non-NT subfiles) THERE IS A DIFFERENCE in the headers.

    SO the info inside the pseudo-NT and non-NT img is the same except for the headers of the subfiles.

    Here you can see the differences
    Spoiler: images
    [Only registered and activated users can see links. ]

    [Only registered and activated users can see links. ]

    [Only registered and activated users can see links. ]


    the rest is exactly the same, the same info, nothing changed.
    You can see in the last image, after the LBL header is the rest of the TRE file which is exactly the same as in the TRE file extracted from the non-NT version.
    The only thing that changes between pseudo-NT and non-NT is a few bytes in the headers of the subfiles (besides they are splited and re-ordered in the GMP file)

    Apparently the headers were encoded or something, Anyone can realize what are these tiny change that were made to the header?

    If we know that we can convert from pseudo-NT to non-NT

    I tried with ROT-13 encoding/decoding but it's not it.
    I really know nothing about this :P , so perhaps some hacker or something could help.


    Thanks in advance
    Last edited by testlelelala; 1st June 2015 at 06:25 AM.

  2.    Advertissements


  3. #2
    Alexander2010
    Guest

    Default

    cgpsmapper is dead. This util only for oldfags. All map creators use MPC

  4. #3
    Member
    Join Date
    Aug 2013
    Location
    A
    Posts
    24
    Rep Power
    68

    Default

    Ok it's dead.
    But the question is related to converting img pseudo-NT maps already created, to the non-NT format.
    If you can help i'll be grateful.
    thanks

  5. #4
    Navigation software expert Convert garmin .img pseudo-NT to non-NT? I know it's possible, but how?(SOLVED!!!)
    Convert garmin .img pseudo-NT to non-NT? I know it's possible, but how?(SOLVED!!!)
    Cnfhbr's Avatar
    Join Date
    Jan 2010
    Location
    CIS
    Posts
    1,033
    Rep Power
    507

    Default

    Quote Originally Posted by Alexander2010 View Post
    All map creators use MPC
    CarteBlanche maps are still created in pseudo-NT format by means of cGPSmapper. Probably, testlelelala is from Ukraine.

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

    Default

    That "header encoding" doesn't look like an encoding at all, as most of the bytes are zero and some header structure is retained.
    It should be something simple. Try guessing it
    Alternatively you can try to disassemble/debug Garmin for Android/Garmin for iOS/BaseCamp/MapSource. That apps shouldn't be too hard to understand, as they are not protected from reverse engineering and they should have real function names inside (except MapSource).
    Alternatively you can try to find someone skilled and interested, who can do this for you. But I think very few people actually need it And everyone is lazy nowadays. Not like it used to be in the golden age of Garmin-o-hacking.

  7. #6
    Navigation software expert Convert garmin .img pseudo-NT to non-NT? I know it's possible, but how?(SOLVED!!!)
    Convert garmin .img pseudo-NT to non-NT? I know it's possible, but how?(SOLVED!!!)
    Cnfhbr's Avatar
    Join Date
    Jan 2010
    Location
    CIS
    Posts
    1,033
    Rep Power
    507

    Default

    @testlelelala

    Try the [Only registered and activated users can see links. ] - Limited disassembling of pseudo-NT files.

  8. #7
    Member
    Join Date
    Aug 2013
    Location
    A
    Posts
    24
    Rep Power
    68

    Default

    Thanks to all.
    I already have MaptTK 3.3.0, thanks. Also GPSmapedit 1.0.66.7 has this capability and is much faster in decompiling the img.
    Converting pseudo-NT to non-NT is better as you can use the maps (img) in any non-nt "whatever" map program you wish or need!!.
    I also attach here the example files.
    Info of what is each file (this info is also in the zip)

    example.mp ##original .mp map from:"cgpsmapper 0100d installation folder"\gdansk_routing\MP_source\gdansksopot.mp

    example.img ##non-NT created with cgpsmapper 0100d

    exampleNT.img ##pseudo-NT created with cgpsmapper 0100d

    ##The subfiles splited from example.img using GMapTool 0.8.143
    48580011.LBL
    48580011.RGN
    48580011.TRE


    ##The subfile splited from exampleNT.img using GMapTool 0.8.143
    48580011.GMP

    ##The subfiles extracted from 48580011.GMP using a HEX editor
    NT.LBL
    NT.RGN
    NT.TRE


    PS:by the way, does anyone has the patch for cgpsmapper 0085. I have the program but i donīt have the patch, it is in demo mode.
    PS2:I attach it here if anyone want to take a look at it (GPSmap0085.zip) The last version that has the option to decompile non-nt img maps. It was later removed by the developer
    Attached Files Attached Files
    Last edited by testlelelala; 6th August 2013 at 08:18 AM.

  9. #8
    Member
    Join Date
    Aug 2013
    Location
    A
    Posts
    24
    Rep Power
    68

    Default

    I think i got it!!!
    It seems to be that what is changed are the offsets of each internal section of each sub-file.
    Which are changed simply because the header is displaced from the rest of the sub-file.
    working...

    PS: Now i need to learn how to interpret and change the offsets, which is probably very basic, but i don't have a clue

  10. #9
    Member
    Join Date
    Aug 2013
    Location
    A
    Posts
    24
    Rep Power
    68

    Default

    It worked!!!
    For the moment instead of changing offsets values in the header, i retain absolute offset position of the data just adding a bunch of zeros between the header and the "body" (real data).
    Gpsmapedit opened it without any problem!!!
    I'm not kidding.
    On the contrary cGPSmapper 0085 don't like it, failed, probably because it uses a different algorithm (to retrieve the data) and get confused about the zeros.

    So what i did, with a pseudo-NT file, i retrieve the gmp subfile and start extracting each subfile within it (TRE, RGN, LBL, NET, NOD).
    I can get them by knowing where RGN, NET, NOD starts using the 0x15 offset value in their respective header.
    Then i make some assumptions and extract each header and body subfile.
    Then i create individually the complete subfile stacking the header, then a bunch of zeros (to maintain the absolute position of the body data that was in the gmp), and then the body data.
    Then with gmaptool join them together and get the img.

    Things to do is
    +forget about adding zeros and change the offset values in the header, i think it is possible just need analysis.
    +analize where TRE and LBL points to the offset, as they are different to the others. To get a precise way to find all body starts position without doubts.

    EDIT: Joining the subfiles using GmapTool with the "short header" option enabled do the trick and NOW cgpsmapper 0085 get it right!!!!!!!!
    Last edited by testlelelala; 6th August 2013 at 08:36 AM.

  11. #10
    Kanopus
    Guest

    Default

    I don't think cgpsmapper correctly decompile house numbers. For example this is source:
    Code:
    Please Login or Register to see the links
    And this decompiled img:
    Code:
    Please Login or Register to see the links

 

 

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
  •