Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Darkly)
  • No Skin
Collapse

Chebucto Regional Softball Club

  1. Home
  2. Uncategorized
  3. tandy put their sound chip on the 1A interrupt?
A forum for discussing and organizing recreational softball and baseball games and leagues in the greater Halifax area.

tandy put their sound chip on the 1A interrupt?

Scheduled Pinned Locked Moved Uncategorized
325 Posts 1 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Foone🏳️‍⚧️F Foone🏳️‍⚧️

    stretch goal: hack in at least on enby criminal with appropriate pronouns. maybe I'll just put myself in the game as one of the criminals you can apprehend

    Foone🏳️‍⚧️F This user is from outside of this forum
    Foone🏳️‍⚧️F This user is from outside of this forum
    Foone🏳️‍⚧️
    wrote on last edited by
    #7

    I faked this screenshot but this is what I mean

    Link Preview Image
    Foone🏳️‍⚧️F 1 Reply Last reply
    0
    • Foone🏳️‍⚧️F Foone🏳️‍⚧️

      I faked this screenshot but this is what I mean

      Link Preview Image
      Foone🏳️‍⚧️F This user is from outside of this forum
      Foone🏳️‍⚧️F This user is from outside of this forum
      Foone🏳️‍⚧️
      wrote on last edited by
      #8

      I think I might be able to do the hack I want by changing one byte.

      I'm trying to change it so it has "daily challenges", and I think I can fix that by just switching a INT 1A from subfunction 00 to 04, making it seed the random function with the date instead of the ticks-since-midnight

      Foone🏳️‍⚧️F 1 Reply Last reply
      0
      • Foone🏳️‍⚧️F Foone🏳️‍⚧️

        I think I might be able to do the hack I want by changing one byte.

        I'm trying to change it so it has "daily challenges", and I think I can fix that by just switching a INT 1A from subfunction 00 to 04, making it seed the random function with the date instead of the ticks-since-midnight

        Foone🏳️‍⚧️F This user is from outside of this forum
        Foone🏳️‍⚧️F This user is from outside of this forum
        Foone🏳️‍⚧️
        wrote on last edited by
        #9

        eh, I used 5 bytes. I don't need to impress anyone

        Foone🏳️‍⚧️F 1 Reply Last reply
        0
        • Foone🏳️‍⚧️F Foone🏳️‍⚧️

          eh, I used 5 bytes. I don't need to impress anyone

          Foone🏳️‍⚧️F This user is from outside of this forum
          Foone🏳️‍⚧️F This user is from outside of this forum
          Foone🏳️‍⚧️
          wrote on last edited by
          #10

          NORMAL CODE

          random(*(byte *)*(undefined2 *)
          (*(int *)(*(int *)0x39a6 * 0xe + local_c * 2 + 0x1d02) * 2 +
          *(int *)(local_c * 2 + 0x24b)) - 1);

          Foone🏳️‍⚧️F 1 Reply Last reply
          0
          • Foone🏳️‍⚧️F Foone🏳️‍⚧️

            NORMAL CODE

            random(*(byte *)*(undefined2 *)
            (*(int *)(*(int *)0x39a6 * 0xe + local_c * 2 + 0x1d02) * 2 +
            *(int *)(local_c * 2 + 0x24b)) - 1);

            Foone🏳️‍⚧️F This user is from outside of this forum
            Foone🏳️‍⚧️F This user is from outside of this forum
            Foone🏳️‍⚧️
            wrote on last edited by
            #11

            I found another set of pronouns!

            Foone🏳️‍⚧️F 1 Reply Last reply
            0
            • Foone🏳️‍⚧️F Foone🏳️‍⚧️

              I found another set of pronouns!

              Foone🏳️‍⚧️F This user is from outside of this forum
              Foone🏳️‍⚧️F This user is from outside of this forum
              Foone🏳️‍⚧️
              wrote on last edited by
              #12

              I haven't figured out how this game stores gender, but I'm gonna go out on a limb and say it's like this:
              male: 0
              female: 4

              Foone🏳️‍⚧️F 1 Reply Last reply
              0
              • Foone🏳️‍⚧️F Foone🏳️‍⚧️

                I haven't figured out how this game stores gender, but I'm gonna go out on a limb and say it's like this:
                male: 0
                female: 4

                Foone🏳️‍⚧️F This user is from outside of this forum
                Foone🏳️‍⚧️F This user is from outside of this forum
                Foone🏳️‍⚧️
                wrote on last edited by
                #13

                why? because they have strings like:
                char* HE="He\0\0She\0"
                char* HIS="His\0Hers\0";
                char* HIM="Him\0Her\0";

                so they can do like:

                printf("Follow %s to %s lair, and capture %s alive!", badguy->name, HIS+badguy->gender, HIM+badguy->gender);

                Foone🏳️‍⚧️F 1 Reply Last reply
                0
                • Foone🏳️‍⚧️F Foone🏳️‍⚧️

                  why? because they have strings like:
                  char* HE="He\0\0She\0"
                  char* HIS="His\0Hers\0";
                  char* HIM="Him\0Her\0";

                  so they can do like:

                  printf("Follow %s to %s lair, and capture %s alive!", badguy->name, HIS+badguy->gender, HIM+badguy->gender);

                  Foone🏳️‍⚧️F This user is from outside of this forum
                  Foone🏳️‍⚧️F This user is from outside of this forum
                  Foone🏳️‍⚧️
                  wrote on last edited by
                  #14

                  I like how the game only asks your name, not your gender.
                  Player's don't have genders. Only thieves have genders.

                  Foone🏳️‍⚧️F 1 Reply Last reply
                  0
                  • Foone🏳️‍⚧️F Foone🏳️‍⚧️

                    I like how the game only asks your name, not your gender.
                    Player's don't have genders. Only thieves have genders.

                    Foone🏳️‍⚧️F This user is from outside of this forum
                    Foone🏳️‍⚧️F This user is from outside of this forum
                    Foone🏳️‍⚧️
                    wrote on last edited by
                    #15

                    It's a prequel to Disco Elysium, and your gender is set to COP

                    Foone🏳️‍⚧️F 1 Reply Last reply
                    0
                    • Foone🏳️‍⚧️F Foone🏳️‍⚧️

                      It's a prequel to Disco Elysium, and your gender is set to COP

                      Foone🏳️‍⚧️F This user is from outside of this forum
                      Foone🏳️‍⚧️F This user is from outside of this forum
                      Foone🏳️‍⚧️
                      wrote on last edited by
                      #16

                      why does ghidra's "search by instruction pattern" default to BINARY?
                      what kind of a freak remembers the machine code for INT 21 on x86 in BINARY?
                      it's CD21h, not 1100110100100001!

                      what are you, some kind of nerd?

                      Foone🏳️‍⚧️F 1 Reply Last reply
                      0
                      • Foone🏳️‍⚧️F Foone🏳️‍⚧️

                        why does ghidra's "search by instruction pattern" default to BINARY?
                        what kind of a freak remembers the machine code for INT 21 on x86 in BINARY?
                        it's CD21h, not 1100110100100001!

                        what are you, some kind of nerd?

                        Foone🏳️‍⚧️F This user is from outside of this forum
                        Foone🏳️‍⚧️F This user is from outside of this forum
                        Foone🏳️‍⚧️
                        wrote on last edited by
                        #17

                        I love reversing a string and it's:

                        void printString(char* str, int length);

                        and I go look what calls it, reverse that function, and it's:

                        void printStringSimple(char *str){
                        printString(str, strlen(str));
                        }

                        Foone🏳️‍⚧️F 1 Reply Last reply
                        0
                        • Foone🏳️‍⚧️F Foone🏳️‍⚧️

                          I love reversing a string and it's:

                          void printString(char* str, int length);

                          and I go look what calls it, reverse that function, and it's:

                          void printStringSimple(char *str){
                          printString(str, strlen(str));
                          }

                          Foone🏳️‍⚧️F This user is from outside of this forum
                          Foone🏳️‍⚧️F This user is from outside of this forum
                          Foone🏳️‍⚧️
                          wrote on last edited by
                          #18

                          it's like "aww, did someone have second thoughts about making PRINT always take a length, and got tired of having to manually calculate lengths so you just wrapped it?

                          and your compiler didn't inline SHIT?

                          Foone🏳️‍⚧️F 1 Reply Last reply
                          0
                          • Foone🏳️‍⚧️F Foone🏳️‍⚧️

                            it's like "aww, did someone have second thoughts about making PRINT always take a length, and got tired of having to manually calculate lengths so you just wrapped it?

                            and your compiler didn't inline SHIT?

                            Foone🏳️‍⚧️F This user is from outside of this forum
                            Foone🏳️‍⚧️F This user is from outside of this forum
                            Foone🏳️‍⚧️
                            wrote on last edited by
                            #19

                            oh those poor people of Bamako! Someone stole their.

                            Link Preview Image
                            Foone🏳️‍⚧️F 1 Reply Last reply
                            0
                            • Foone🏳️‍⚧️F Foone🏳️‍⚧️

                              oh those poor people of Bamako! Someone stole their.

                              Link Preview Image
                              Foone🏳️‍⚧️F This user is from outside of this forum
                              Foone🏳️‍⚧️F This user is from outside of this forum
                              Foone🏳️‍⚧️
                              wrote on last edited by
                              #20

                              okay so when you start a game (well, technically when you restart), the game rolls 3 dice:
                              0-31: where the shit was stolen from
                              0-2: which item it is from that location
                              0-8: whodunnit

                              Foone🏳️‍⚧️F 1 Reply Last reply
                              0
                              • Foone🏳️‍⚧️F Foone🏳️‍⚧️

                                okay so when you start a game (well, technically when you restart), the game rolls 3 dice:
                                0-31: where the shit was stolen from
                                0-2: which item it is from that location
                                0-8: whodunnit

                                Foone🏳️‍⚧️F This user is from outside of this forum
                                Foone🏳️‍⚧️F This user is from outside of this forum
                                Foone🏳️‍⚧️
                                wrote on last edited by
                                #21

                                like if you roll 0 on the first, you get Athens.
                                For the second one, it's:
                                0: mask of Priam
                                1: Achilles's heel
                                2: sibyl's secret.

                                Foone🏳️‍⚧️F 1 Reply Last reply
                                0
                                • Foone🏳️‍⚧️F Foone🏳️‍⚧️

                                  like if you roll 0 on the first, you get Athens.
                                  For the second one, it's:
                                  0: mask of Priam
                                  1: Achilles's heel
                                  2: sibyl's secret.

                                  Foone🏳️‍⚧️F This user is from outside of this forum
                                  Foone🏳️‍⚧️F This user is from outside of this forum
                                  Foone🏳️‍⚧️
                                  wrote on last edited by
                                  #22

                                  The last die is used as a lookup table into the dossier's list.
                                  It's got 1 added to it so you won't get Carmen Sandiego, as a rookie at least.

                                  Link Preview Image
                                  Foone🏳️‍⚧️F 1 Reply Last reply
                                  0
                                  • Foone🏳️‍⚧️F Foone🏳️‍⚧️

                                    The last die is used as a lookup table into the dossier's list.
                                    It's got 1 added to it so you won't get Carmen Sandiego, as a rookie at least.

                                    Link Preview Image
                                    Foone🏳️‍⚧️F This user is from outside of this forum
                                    Foone🏳️‍⚧️F This user is from outside of this forum
                                    Foone🏳️‍⚧️
                                    wrote on last edited by
                                    #23

                                    so the game uses a pattern like this:
                                    char * RANKS="Rookie\0Sleuth\0Private Eye\0Investigator\0Ace Detective\0"

                                    and then latter they do:

                                    char* your_rank = select_string(RANKS, player->rank);

                                    and select_string is a confusing function to reverse engineer, but knowing the name I gave it gives it away: it advances through the list until it's on the nth string and returns it

                                    Foone🏳️‍⚧️F 1 Reply Last reply
                                    0
                                    • Foone🏳️‍⚧️F Foone🏳️‍⚧️

                                      so the game uses a pattern like this:
                                      char * RANKS="Rookie\0Sleuth\0Private Eye\0Investigator\0Ace Detective\0"

                                      and then latter they do:

                                      char* your_rank = select_string(RANKS, player->rank);

                                      and select_string is a confusing function to reverse engineer, but knowing the name I gave it gives it away: it advances through the list until it's on the nth string and returns it

                                      Foone🏳️‍⚧️F This user is from outside of this forum
                                      Foone🏳️‍⚧️F This user is from outside of this forum
                                      Foone🏳️‍⚧️
                                      wrote on last edited by
                                      #24

                                      there is no check for going past the end.

                                      Foone🏳️‍⚧️F 1 Reply Last reply
                                      0
                                      • Foone🏳️‍⚧️F Foone🏳️‍⚧️

                                        there is no check for going past the end.

                                        Foone🏳️‍⚧️F This user is from outside of this forum
                                        Foone🏳️‍⚧️F This user is from outside of this forum
                                        Foone🏳️‍⚧️
                                        wrote on last edited by
                                        #25

                                        so probably it uses the same trick for pronouns. The string I'm seeing is probably like: "He\0Him\0She\0Her\0"

                                        Foone🏳️‍⚧️F 1 Reply Last reply
                                        0
                                        • Foone🏳️‍⚧️F Foone🏳️‍⚧️

                                          so probably it uses the same trick for pronouns. The string I'm seeing is probably like: "He\0Him\0She\0Her\0"

                                          Foone🏳️‍⚧️F This user is from outside of this forum
                                          Foone🏳️‍⚧️F This user is from outside of this forum
                                          Foone🏳️‍⚧️
                                          wrote on last edited by
                                          #26

                                          Ghidra is officially sexist. It'll automatically detect the word "Female" and mark it as a string, but not the word "Male"!

                                          Why? SEXISM!

                                          or the fact the default minimum length for strings is 5 characters, so "female" is long enough but "male" isn't.

                                          Foone🏳️‍⚧️F 1 Reply Last reply
                                          0

                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • 1
                                          • 2
                                          • 8
                                          • 9
                                          • 10
                                          • 11
                                          • 12
                                          • 16
                                          • 17
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          Powered by NodeBB Contributors
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups