Announcement

Collapse
No announcement yet.

Hacking Iguidance

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Hacking Iguidance

    At first this was an effort for a Skinbedder 2.0 plugin, it still is, however I do not want to take over that thread. Anybody who would like to help in the effort PM me.

    What is the project about?

    This project is an attempt to make Iguidance more car friendly.
    For anybody who has already used Iguidance, they know that many things on the screen are difficult to read while driving. Not only this, it is difficult to use all of the functionality of Iguidance while using a 7" touchscreen. So far the improvements have been editing the theme.ini (or utheme.ini and theme2.ini). With this you can change some of the display options such as the text size of the streets displayed on the screen and the colors of the roads and routes...etc
    However, theme.ini nore IGskinner will increase certain things such as your DEST distance or SPEED which are both located in a small box in the lower right corner. Also your current location located on the bottom of the screen is also too small to read, as well as the name of the next street you have to turn on. Other key things people might want to have more visible are the distance for the next up comming turn...and those who use iguidance...whatever you can think of


    How do we do this?


    To do this we are using memory process tools such as "GAME TRAINER " and AXE 3 Hex editor (click open special...choose open process) to try to locate key values in memory that are of use to us. Once we find these values I will create a standalone program, or a DLL which will display these values larger.

    be sure you have a tool that lists process IDs & handles while using "GAME TRAINER" because it lists process by ID and not name (dont ask me why). if you have VS.NETyou should have a tool called "Spy++" this is what I am using for this. otherwise download another program that can identify process IDs (the HEX address running iguidance).
    One of the tricks in tracking these memory values is that some of the addresses may jump around, so even though the speed may be shown at 1 address, it is not for sure that it will be there the next time you run iguidance, or even a minute later. Also, some values that you would expect to be stored as a float may only be stored as ASCII.

    If you guys know of any better tools for reading process memory and tracking changes please let me know.

    So, once you have some of the above tools its time trick iguidance into thinking your moving (this way you can change search for values and so on).

    The following i found on this board in a post from stevieg

    You need: http://www.lichtenheld-mch.de/GPSsim_E.htm - 'GPSSIM' and either a null-modem cable between two serial ports (One for GPSSIM to send the fake GPS down and one for the navigation program to use) or a trial for a virtual version such as 'VSPD' - download a trial from http://www.mks.zp.ua/vspdxp.php

    the virtual port is kindofapain to get working, but once you get it working GPSSIM is very nice...you can run log files that you recorded with your gps, this way you can be sure you have maps installed for the location the pseudo stream is giving you. Not only this, but you can pause the simulator, which will keep your speed static within iguidance.


    Just to help you guys out even more....i'll provide a short 5 minute log that I made while driving around maryland (so make sure you have MD maps installed if you plan on helping) here


    it takes a while to get the hang of it, but you will know you are doing it right when your brain really starts to hurt

    Current Status
    I have located a few of the memory values. Also I have written a program which basically "peeks" address 0x12FA68 (speed)

    you can download it here

    heres what i got so far
    addr - Value - Type
    0012FA68 - SPEED - BYTE
    0012EB78, 0012F528, 0012F244, 00A60701- Destination Distance (jumps around, ones in bold seem to be most reliable) - ASCII
    0012EFFC, 0012EFFD - Next Turn Distance - ASCII
    00BA1828 - GPS STREAM DATA (yes the actuall string comming from you reciever) - ASCII
    0012FAFC - CURRENT ADDRESS (ONLY AFTER SELECTING FILE AND SAVE CURRENT LOCATION. NOTE YOU DONT NOT HAVE TO SAVE CURRENT LOCATION, HOWEVER THIS VALUE IS ONLY IN MEMORY WHILE THAT WINDOW IS SHOWING, SO THE BELOW METHOD IS PERFERRED) - ASCII
    00B9FD60 - FULL CURRENT STREET NAME (ONLY IF YOU CLICK ON THE STREET) - ASCII

    Despite my best efforts I can't accomplish all of this on my own. For 1 I am only testing this on a winXP box, with Ig 2.0. For 2 I work over 40 hours a week and don't have a lot of time to work on this.
    PC Components:
    Lilliput; XPC/FLEX mobo; 1.7 ghz P4 Mobile;512 DDR; 160 gb HDD; opus 150; slot usb dvd-rw
    My work log

  • #2
    Also, if you are willing just to try the getspeed program on your carpc that would helps too! We need to know what versions of iguidance this works with. I've also been told that so far it seems this does not work in 2000 (we need to find ways around this)

    Note:if you dont see my program on the screen after running it.....make sure iguidance is running (my program runs invisible until it sees iguidance).
    PC Components:
    Lilliput; XPC/FLEX mobo; 1.7 ghz P4 Mobile;512 DDR; 160 gb HDD; opus 150; slot usb dvd-rw
    My work log

    Comment


    • #3
      Why don't you put this in the enporium???

      Very useful info!!!
      RexBruMet Skin for FrodoPlayer

      Nissan Aux-in MOD


      Originally posted by bgoodman
      We're an international forum, post in whatever langauge you like.

      Comment


      • #4
        well its more of a project not really faq....i need community help
        PC Components:
        Lilliput; XPC/FLEX mobo; 1.7 ghz P4 Mobile;512 DDR; 160 gb HDD; opus 150; slot usb dvd-rw
        My work log

        Comment


        • #5
          Nice! I'll be getting in on this as soon as I get some time next week.
          One of my all time favorite tools is that game trainer

          EDIT: actually that isn't the same game trianer. The one I used to use seemed like it had more stuff. I'll have to upload it sometime.
          AMD XP 2600+/512MB RAM/120GB hard drive
          Opus 150W/DVD/GPS/7" Lilliput TS/802.11g/Bluetooth
          Installed.


          -GPSSecure- - GPS Tracking
          -AltTabber2.2.2- - Handy touchscreen utility.

          Comment


          • #6
            i think i got the address for speed in 2k its 12FAB0

            peoples can you mod your prog and send it to me for testing or make a ini to change values possibly?
            .______
            | '_ |__\___
            [(o)|___(o)] XB
            ._________
            | I__I I_I|_\__I
            [(o)______(o)]b VanPimpin'

            LostReceptions Apps D/L Here

            GPSGasoline- Rewriting

            Draw- SkribblePad for Touchscreens

            iGQwerty-iG3.0 Qwerty Keyboard

            CarPCNetwork

            Comment


            • #7
              hmm after further investigating this value does change from the speed to another number from time to time mainly on mouse movement within Iguidance
              ALSO this value only seems to work when the GPS info screen is not visible if the gps info screen is visible this memory address will change to another value that is not the speed

              Test Machine
              IGuidance 2.0
              Windows 2K
              .______
              | '_ |__\___
              [(o)|___(o)] XB
              ._________
              | I__I I_I|_\__I
              [(o)______(o)]b VanPimpin'

              LostReceptions Apps D/L Here

              GPSGasoline- Rewriting

              Draw- SkribblePad for Touchscreens

              iGQwerty-iG3.0 Qwerty Keyboard

              CarPCNetwork

              Comment


              • #8
                interesting, the value changing based on mouse movement is the same in XP, however when the gps info screen is not visible the speed continues to feed


                currently i'm trying to port the C# program to VB.NET, however im not getting the right values right now...not sure why
                PC Components:
                Lilliput; XPC/FLEX mobo; 1.7 ghz P4 Mobile;512 DDR; 160 gb HDD; opus 150; slot usb dvd-rw
                My work log

                Comment


                • #9
                  How about approaching this problem of the small ETA box size differently ;-) How about just magnify that portion of the screen ;-) There are various freeware/shareware utilities that can enlarge a portion of the screen. Most will only enlarge an area near the mouse arrow, but some allow users to select (draw a rectangle around) an area that needs to be enlarged.

                  I know it's silly, but it is just a thought I was toying with on a couple of occasions in the past, but I failed to locate a magnify utility with which I'd be satisfied ;-)

                  But all this should really be not necessary. Many users have requested that the ETA box be enlarged. I really don't know why the developer of iGuidance hasn't done it yet.

                  Comment


                  • #10
                    i thought about this in the past too (01331 even mentioned this approach at one time), the only problem is when i attempted to have the magnifier directly on top of the "eta" box it basically magnified itself into an infinate loop....so if i cant put the display there, then where would i put it? In that case, if i want to magnify everything including the street your on, the ETA box the next turn distance, and the next turn street name.....and I cant put the boxes overtop of eachother, I think this will make the screen a little cluttered.
                    PC Components:
                    Lilliput; XPC/FLEX mobo; 1.7 ghz P4 Mobile;512 DDR; 160 gb HDD; opus 150; slot usb dvd-rw
                    My work log

                    Comment


                    • #11
                      another possible solution would be onscreen character recognition, which is definatly doable, recognizer packs are available all over the place, but this is a little resource intensive
                      PC Components:
                      Lilliput; XPC/FLEX mobo; 1.7 ghz P4 Mobile;512 DDR; 160 gb HDD; opus 150; slot usb dvd-rw
                      My work log

                      Comment


                      • #12
                        Originally posted by Peoples
                        i thought about this in the past too (01331 even mentioned this approach at one time), the only problem is when i attempted to have the magnifier directly on top of the "eta" box it basically magnified itself into an infinate loop....so if i cant put the display there, then where would i put it? In that case, if i want to magnify everything including the street your on, the ETA box the next turn distance, and the next turn street name.....and I cant put the boxes overtop of eachother, I think this will make the screen a little cluttered.
                        perhaps there a way to tell teh magnifier which window layer to magnify, and also which layer to display the magnification on top of..? or perhaps someone could write this magical app..
                        Dr. Ron Paul for President 2008

                        Hope for America - http://www.ronpaul2008.com

                        Who is Ron Paul? - Why do we need Ron Paul?

                        __________________
                        CarPC Newbs Start Here: All your questions answered, as if by E.S.P.

                        Comment


                        • #13
                          Yes, that would be cluttered. In my case I really just want the one item: the ETA box.

                          I think the reason why the developers of iGuidance are not responding to this user request is that the size of the ETA box is just fine on the PDA version. Laptop or carputer users are perhaps an insignificant portion of their overall customer base

                          Comment


                          • #14
                            Originally posted by Peoples
                            currently i'm trying to port the C# program to VB.NET
                            Now why would you do such a terrible thing like that?
                            AMD XP 2600+/512MB RAM/120GB hard drive
                            Opus 150W/DVD/GPS/7" Lilliput TS/802.11g/Bluetooth
                            Installed.


                            -GPSSecure- - GPS Tracking
                            -AltTabber2.2.2- - Handy touchscreen utility.

                            Comment


                            • #15
                              i've used c# a few times, but i'm not well versed in it......i figure learning to port it from C# to vb will allow me to learn more about c#. C# is pretty simple as it is....ill probably end up writing this whole app in it.
                              PC Components:
                              Lilliput; XPC/FLEX mobo; 1.7 ghz P4 Mobile;512 DDR; 160 gb HDD; opus 150; slot usb dvd-rw
                              My work log

                              Comment

                              Working...
                              X