Announcement

Collapse
No announcement yet.

Project Artemis

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Heh, oh, OK. I thought I remembered you having found a couple of inconsistencies in gsKit as well, but I guess I was mistaken.
    I may be lazy, but I can...zzzZZZzzzZZZzzzZZZ...

    Comment


    • Lazy Bastard told me to post my apparently brilliant ideas for more code searching features.

      I come up with these pretty easily when and if I'm actually doing a code search; now that I actually have access to my account again, I might start pouring ideas in here.

      Except I don't really mess with hacking anymore, sadface.

      Anyway:

      (12:21:50 PM) Hector of Chad: Search for initial value
      (12:21:52 PM) Hector of Chad: love this one
      (12:21:55 PM) Hector of Chad: you search for a value
      (12:22:00 PM) Hector of Chad: you change it, search for changed
      (12:22:03 PM) Hector of Chad: you change it BACK
      (12:22:08 PM) Hector of Chad: the initial value is unknown
      (12:22:16 PM) Hector of Chad: but it's definitely whatever it was the first time
      (12:22:19 PM) Hector of Chad: search for initial value
      (12:22:21 PM) Lazy Bastard: Oh, right!
      (12:22:25 PM) Lazy Bastard: Nice function!
      (12:22:31 PM) Hector of Chad: Cheat Engine has it
      (12:22:33 PM) Hector of Chad: it's wonderful
      (12:22:34 PM) Hector of Chad: but get this
      (12:22:44 PM) Hector of Chad: what if the second value you're changing something to is always the same too?
      (12:22:46 PM) Hector of Chad: Search for second value
      (12:22:54 PM) Hector of Chad: CE doesn't have this and it'd be sweet if it did
      (12:22:55 PM) Lazy Bastard: We could even expand that to include something that factors in several different unknown values.
      (12:23:04 PM) Lazy Bastard: Exactly!
      (12:23:04 PM) Hector of Chad: Yes
      (12:23:11 PM) Hector of Chad: "Same as x scans ago"
      (12:23:14 PM) Lazy Bastard: Well, post these in the Artemis thread.
      (12:23:17 PM) Hector of Chad: increase the buffer size accordingly
      (12:23:24 PM) Lazy Bastard: We need activity in there, anyway.
      (12:23:28 PM) Hector of Chad: On KW I hope
      (12:23:37 PM) Lazy Bastard: To let misfire and the other developers know that there's still interest in the project.
      (12:23:40 PM) Lazy Bastard: No, damn it
      (12:23:42 PM) Lazy Bastard: GSHI.
      (12:23:50 PM) Hector of Chad: I suppose I can see if my account works
      (12:23:54 PM) Hector of Chad: anyway
      (12:23:56 PM) Lazy Bastard: If not, I can always fix it.
      (12:23:59 PM) Hector of Chad: I was hacking flash games the other day
      (12:24:04 PM) Hector of Chad: and while this feature wasn't necessary
      (12:24:11 PM) Hector of Chad: I got this idea for a search type
      (12:24:17 PM) Hector of Chad: where the value changes by a multiple
      (12:24:31 PM) Hector of Chad: for example, suppose your currency in a flash game changes by 5 on screen
      (12:24:35 PM) Hector of Chad: but flash games are gay
      (12:24:50 PM) Hector of Chad: and might change it by 30 or 40, storing the value as a multiple of 6 or 8
      (12:25:07 PM) Hector of Chad: instead of searching for changes of 5, search for changes of 5, 10, 15, etc.
      (12:25:50 PM) Lazy Bastard: Hmm, so search by multiples.
      (12:25:53 PM) Lazy Bastard: Good idea as well.
      (12:26:06 PM) Lazy Bastard: "Value has doubled", etc, but with the ability for the user to change the multiple.
      (12:26:20 PM) Hector of Chad: i.o.w. if (newVal - oldVal) % 5 == 0 && (newVal - oldVal) / 5 == -1 or something
      (12:26:27 PM) Hector of Chad: no see
      (12:26:34 PM) Hector of Chad: if you use modulus you can probably do ALL multiples
      (12:26:39 PM) Hector of Chad: but it may help to be more specific
      (12:26:52 PM) Hector of Chad: or to be able to specify a list of possible multiples
      (12:26:56 PM) Hector of Chad: Also it'd be nice if
      (12:27:08 PM) Hector of Chad: you don't know whether the value is a float or an int or a double
      (12:27:17 PM) Hector of Chad: so you do an unknown initial value search for all data types
      (12:27:57 PM) Hector of Chad: if ((float) newVal - (float) oldVal) == 5.0f || ((int) newVal - (int) oldVal) == 5
      (12:27:57 PM) Hector of Chad: etc.
      (12:28:08 PM) Hector of Chad: Actually, that'd be hella sweet
      (12:28:26 PM) Hector of Chad: Call it a union search
      (12:28:28 PM) Hector of Chad: for the data type
      (12:28:31 PM) Hector of Chad: you know how you have
      (12:28:33 PM) Hector of Chad: type to search for
      (12:28:37 PM) Hector of Chad: and search method?
      (12:28:44 PM) Hector of Chad: in the type to search for dropdown, pick "union"
      (12:28:57 PM) Hector of Chad: yay, it does an || of all the different data type matching methods
      (12:29:22 PM) Hector of Chad: no more having to do searches of all kinds of different types when you don't know the data's format
      One of the main forums I post on would ban me for using the word "gay" in that context, so let me just assure you that if you have a problem with it, you're misinterpreting its use for the sake of being a jerk and need to cut it out. Actual homosexuals would probably agree.

      Anyway, to summarize:

      "Initial/second/Nth value/Nth searches ago" search - search for values same as what they were during the 1st, 2nd, nth, or k-nth search

      "Changed by multiple" search - Instead of searching for values increased or decreased by a specific value, search for values that have changed by a multiple of that value

      "Union" type - When searching for values that meet the search criteria of this data type, consider the value as a possible candidate if it meets ANY of the requirements for the current search method for other possible types.
      Last edited by Hextator; 04-20-2009, 12:46:12 PM.

      Comment


      • I've spoken with the owner of BountySource, and it would seem he's fixed the issue we've been having.

        I'm going to take a look at detecting syscalls, so we can write code that will work for any game, if I get a chance in the next few days...
        I may be lazy, but I can...zzzZZZzzzZZZzzzZZZ...

        Comment


        • You don't have to "detect" a syscall. You can use the GetSyscall() function declared in kernel.h to get a certain syscall vector and SetSyscall() to patch it.

          I've recently posted a patch which moves all syscall numbers to a separate header file allowing you to do something like this:

          Code:
          void *vector = GetSyscall(__NR_ExecPS2);
          SetSyscall(__NR_ExecPS2, my_handler);

          Comment


          • Oh, cool.
            I may be lazy, but I can...zzzZZZzzzZZZzzzZZZ...

            Comment


            • I've done a little work on the Artemis GUI. It's coming along nicely, and I'll release a quick demo once I fix a bug I'm tracking down...
              I may be lazy, but I can...zzzZZZzzzZZZzzzZZZ...

              Comment


              • I think I've solved the bug, but I need to implement the fix to be sure.

                [Edit: Yep, I figured it out. I'll finish creating a single-layer GUI skeleton, then post it here]
                I may be lazy, but I can...zzzZZZzzzZZZzzzZZZ...

                Comment


                • I've put together a skeleton GUI for Artemis, the source and binaries to which can be found here: https://svn.bountysource.com/artemis/trunk/AGUI/

                  ...or you could just download the ELF here: http://GSHI.org/downloads/AGUI.zip

                  Screenshots can be found on the BountySource page: https://artemis.bountysource.com/
                  I may be lazy, but I can...zzzZZZzzzZZZzzzZZZ...

                  Comment


                  • Originally posted by Lazy Bastard View Post
                    I've put together a skeleton GUI for Artemis, the source and binaries to which can be found here: https://svn.bountysource.com/artemis/trunk/AGUI/

                    ...or you could just download the ELF here: http://GSHI.org/downloads/AGUI.zip

                    Screenshots can be found on the BountySource page: https://artemis.bountysource.com/
                    I'm so glad that you included screenshots, because I have to leave in couple of minutes...


                    The GUI looks awesome!


                    EDIT: This is just the GUI, right? I mean... does it have any functions?
                    Last edited by Dastan; 04-27-2009, 04:01:35 AM.

                    Comment


                    • No, it's a skeleton; it doesn't actually do anything yet.
                      I may be lazy, but I can...zzzZZZzzzZZZzzzZZZ...

                      Comment


                      • Just tested it on uLE from mass it looks great :-P
                        http://bh-re-db.pcriot.com/ <- Biohazard / Resident Evil
                        Code Database

                        Comment


                        • Thanks. Now to implement font support, build a list box with scrolling capabilities, and make it read codes from a text file
                          I may be lazy, but I can...zzzZZZzzzZZZzzzZZZ...

                          Comment


                          • only thing i dont like about the gui aer the buttons, the background though is fantastic

                            Comment


                            • If you can design some better buttons with transparent backgrounds (so they can be easily tossed onto a background), please do
                              I may be lazy, but I can...zzzZZZzzzZZZzzzZZZ...

                              Comment


                              • Originally posted by cYs Driver View Post
                                only thing i dont like about the gui aer the buttons, the background though is fantastic
                                wow your still alive lol............hit me up on aim TJ2002LS

                                glad to see you guys are almost there

                                Comment

                                Working...
                                X