CoSMOS Gamehacking Tool

Page 1 of 1
Signup or Login to Post
[HELP] Learning CoSMOS and Spore
  • Current rank: 1 Star. Next Rank at 100 Posts.
    Send a message to BaylorBear24
    ELITE
    BaylorBear24 posted on Sep 09, 2016 1:19:55 AM - Report post
     
    Thought I would start learning CoSMOS and Spore was on sale, seemed like a good game to practice on. Creature Health, Ship Health, no problem. Currency in space phase, making me want to drive my head through a wall. Also, whomever all was involved in making CoSMOS, fantastic job, it is extremely user friendly.

    So, scan for currency, 8 addresses come back every time on second scan. 6 of the 8 are identical in pairs, 2 bytes and 4 bytes, then there are 2 different floats. I have tried every combo imaginable, freezing then editing, editing then freezing, changing just float, etc. The 2 byte addresses always go negative, 4 bytes all match to the float I edit, but the currency in game changes from a green text to red and won't update. After the currency changes back green, all 8 addresses are useless and I have to rescan for a new set of 8 and try again.

    Am I in over my head here, something I am missing, or a trick I don't know about? Health/Food/DNA was just 1 address, change it, freeze it, GG.

    P.S. why are there 2 and 4 byte versions of the same address on something like currency where 2 bytes caps out at 32,767? (presumably that's why it goes negative?) 🤔
  • Trainer Maker
    Send a message to 0x90
    STAFF
    0x90 posted on Sep 09, 2016 1:59:13 AM - Report post
     
    Because 2 bytes and 4 bytes are just sizes you can read from an address. 2 bytes takes 2 bytes in memory and 4 bytes takes 4 bytes in memory. An integer of 32767 takes the first 2 bytes. Reading it out gives the same value when reading the first 4 bytes because the last 2 bytes are zeros and will be ignored.

    In short: Both returning the same value from memory.

    The maximum range 2 bytes in memory can handle is -32,767 to (+)32,767 the next numbers will take at least 3 bytes. More information: Link
  • Current rank: 1 Star. Next Rank at 100 Posts.
    Send a message to BaylorBear24
    ELITE
    BaylorBear24 posted on Sep 09, 2016 3:02:50 AM - Report post
     
    Wow, I know nothing about programming but that actually made so much sense that I feel dumb now. So there's no need to mess with the 2-byte or float addresses, because they will always match up with the 4-byte value that I edit. So now it's just 3 possibilities versus 8.

    ...and it worked. First 2 addresses I changed made the currency turn red and do nothing, the 3rd worked and all the addresses changed to match it. I was over complicating it.

    Thanks for the info and link! Learn something new everyday; never even crossed my mind that it worked like that.

  • Trainer Maker
    Send a message to 0x90
    STAFF
    0x90 posted on Sep 09, 2016 4:31:30 AM - Report post
     
    Well float uses 4 bytes but because it is a floating number the value is not equal to 4 bytes (integer). But yes modifying a 4 byte will also modify the float at this address and vice versa.

    So it only matters how the game stores a value. For bar values like health or stamina, most games uses float as data type (otherwise double). For values you see on the screen, most games uses 4 bytes (integer).

    There are some exceptions like Asia games trying to use the smallest size like byte or the value is bigger than 255 then they choose 2 bytes.

    The more you play around the more you get a feeling of what data type a value could be stored in and what you need to look for.

    But for beginners that know nothing about data types we decided to choose scanning for ALL value types which takes longer and display more results, but it is more safe for them to find what they are looking for.
Page 1 of 1
Signup or Login to Post
All times are (GMT -06:00) Central Time (US & Canada). Current time is 12:45:43 AM