Heh, oh, OK. I thought I remembered you having found a couple of inconsistencies in gsKit as well, but I guess I was mistaken.
Announcement
Collapse
No announcement yet.
Project Artemis
Collapse
This is a sticky topic.
X
X
-
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
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
-
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
-
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 PostI'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/
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
-
Just tested it on uLE from mass it looks great :-Phttp://bh-re-db.pcriot.com/ <- Biohazard / Resident Evil
Code Database
Comment
Comment