Announcement
Collapse
No announcement yet.
Project Artemis
Collapse
This is a sticky topic.
X
X
-
You mean an application that would allow us to launch an ELF, then stay resident, and merely allow us to upload and execute other pieces of code at will?
-
My lack of experience with code hunting shows.
How about a more generic approach, then? Make a very small layer that allows you to upload binary code pieces at runtime. You could minimize memory usage and defer development of the meatier parts until after the loader is finished.
Leave a comment:
-
noobwithboobs: It was made specifically for one of the Socom games, I believe, and it's merely a proof-of-concept, and isn't ready to be used yet (it crashes instead of dumping, though I do believe it can be used a cheat system, assuming you have the exact version of whatever game it was made for, heh).
Oopo: In this case, we're willing to sacrifice speed for functionality, if it comes to that. There are many cases in which we'll need to search for things that haven't changed, and so forth. After the initial dump, we will be operating only on specific memory addresses, but there will still be a time in which we have to dump the entire memory.
Leave a comment:
-
Well, ps2link already uses udp for some parts of the protocol, but you're going to find that the PS2 is very very slow when it comes to sending large amounts of data like that.
Perhaps a smarter approach would be better than brute force. How about a command that sends you only the memory values that change over the next X seconds? Send the command, do something, see what changes.
Leave a comment:
-
hmm,i compiled the dumper.elf, driver made,will it dump any games memory? I tried a couple games but it wouldnt load the game.
Or else the data in systemhooks.s specific to a certain game?Last edited by noobwithboobs; 08-13-2008, 10:23:02 AM.
Leave a comment:
-
No, I haven't. If I finally get around installing Ubuntu on my laptop, I'll give it another try (I want to reinstall my whole system).
Leave a comment:
-
It doesn't have to be written in .NET (it's fairly counter to the open source goal of Artemis, after all, heh), but it might be conducive of a quickly-written Windows GUI, especially if it's to be merged with Majestic Porter.
Ah; I stashed that text file somewhere some time ago, and never got to reading it. I'll take a detailed look later
Thanks.
misfire: Have you tested your PS2SDK since then? You could also take a look at the fixed, pre-built MinGW/msys build I've provided...
Leave a comment:
-
Adapting ps2link would be very difficult. One issue is that its code already has a big footprint. But we have to reduce the size as much as possible to make it fit into EE RAM without affecting games... we can do this, for example, by moving the whole network communication code to IOP, and by calling the existing Sif* functions (e.g., SifLoadModule) of the actual game we want to hack.
I was able to send data from the PS2 to the PC over network while running a game. This was the first and, unfortunately, also last milestone I achieved. There's much left to be done. I wasn't able to receive any data on the PS2. And after switching to Linux and the latest PS2SDK (I was using an old Cygwin build before), neither sending nor receiving worked for me... I didn't investigate it carefully though.
ps2link's protocol is indeed very simple and straightforward, but we'll need an adequate replacement for the slow TCP (in order to find cheat codes, we have to dump lots of memory). Until now, I've been using a proprietary UDP protocol for reliable packet delivery. That way, I was able to achieve about 1 MB/s. But I never liked my implementation. I recommend using Reliable UDP Protocol (RUDP) or something similar as a reliable and fast data transport service.
Leave a comment:
-
Its a fairly simple protocol, take a look:
http://www.oopo.net/users/danpeori/r...k-protocol.txt
I'm allergic to vb.net, but I could help you add support if you want.
Leave a comment:
-
I should definitely take a look at the source for some of the apps that already interact via network connection with the PS2.
Yes; I'd like to make a user-friendly GUI app (probably in VB.NET), and eventually merge it with Majestic Porter (hence the two names being anagrams of each other).
Leave a comment:
-
Have you considered adding the meaty PS2-side parts (memory dumping, etc) as extra commands to ps2link? It already does a lot of what you want and there's already clients with source you could modify to support the new commands.
You'd still want some sort of simple front end for applying the codes for ordinary users...
Leave a comment:
-
Heh, I agree. Emulation is getting better, but I do believe that a PS2-side hacking system would be even better.
If you have any ideas/input at any point of the project (especially once some more source is made public), feel free to throw them/it in; we can use all the help and expertise we can get.
Leave a comment:
-
There's been a few clever hacks using Gameshark-style codes that allow arbitrary memory dumping to a memory card. The idea is pretty straightforward: modify parameters to the I/O APIs. The same thing could be done with minor modifications to that sample code in this thread. Or even static patching again.
As far as debugging on the PS2 hardware ... the need is dwindling while emulation becomes more capable. Emulation is not perfect but, having seen a game filled with truly horrible anti-reversing code run ok with only a bit of a hack, I'm sure it will improve. (I spent several days last year reversing a crypto key that was miscomputed by just 4 bits though!
)
Leave a comment:
-
Apologies for vagueness: project specifications will be released shortly. For now, suffice it to say:
Project Artemis is an endeavor to create a PS2 application, using the PS2Dev.org unofficial PS2SDK (a pre-built version of which can be found in this forum), that will allow a user to dump PS2 memory repeatedly during game play (either to a USB flash drive, or remotely via a network cable to a PC), so as to compare these dumps (either on the PS2 itself, or remotely via a network cable to a PC, using a compare utility), and the ability to force specific memory addresses to hold specific values (in order to test results of searches). At least, these are the goals for version 1.0.
Version 2.0 will likely be a full-fledged hacking system, with breakpoints, as well as a cheat system, similar to the GameShark Pro for the PSX.
As for your site, it looks quite interesting
I'll have to take a more detailed (and translated) look a little later.
Leave a comment:
Leave a comment: