Post: [Release]GSC Retriever
02-21-2016, 03:44 AM #1
SyGnUs
Give a F*** About Your Lifestyle
(adsbygoogle = window.adsbygoogle || []).push({});
You must login or register to view this content.


Here is a tool I had made sometime back for BO2 to dump the GSCs from memory and figured I might as well release it.

Now I wasn't able to test it right now as I have my PS3 put away, but it worked the last time I used it -

You must login or register to view this content.

I just finished adding XBOX support so it should still be working.

Download:

You must login or register to view this content.

Virus Scan:

You must login or register to view this content.

Note: This will dump any GSC file, whether it be custom or not.

Credits:
CodResearch
Last edited by SyGnUs ; 02-21-2016 at 05:04 AM.

The following 29 users say thank you to SyGnUs for this useful post:

-Numb, /SneakerStreet/, AndresKid, DF_AUS, Sabotage, DoozyXGod, DoraTheKiller97, EternalHabit, FRINZ, Frosty, gοd, GFM, HiddenHour, iCreative, Im_YouViolateMe, iRnZ, itsSorrow, Kryptus, Loz, John, OfficialCoolJay, Patrick, Rezqaazify, TehMerkMods, Terrorize 420, VenoxCoding, xexDELL, xTiibo Modz

The following user groaned SyGnUs for this awful post:

oCmKs_4_LiFe
02-22-2016, 06:48 AM #20
luxyalf
Save Point
how to read conpiled gsc's?
02-22-2016, 09:09 AM #21
SyGnUs
Give a F*** About Your Lifestyle
Originally posted by YouViolateMe View Post
I made something like this for PC just to test stuff :p Anyways nice tool/post. Sure this will help lots of people. Have you thought about releasing the source as well?


Like John said it's not really something people should need the source for, but I don't encrypt my tools so if anyone wants to look at the source they can reflect it or whatever.

But anyway, for people who don't want to look through the source all I am doing is iterating through the ScriptParseTree and since it's a simple struct:

    
struct ScriptParseTree
{
const char *name;
int len;
char *buffer;
};


I just read the buffer which contains the pointer to where the GSC is located in memory and also the the len so I can have the size of the GSC so then when I have those 2 things I can just use a GetMemory function and put it into a buffer so that I can save it.

Though if you do that you won't really be able to dump custom GSCs, seeing as no tool I have seen updates the len in the struct when they inject a GSC. So to get the right size of a custom GSC you have to get it from the compiled GSC itself as every GSC contains the size in the binary of the file which you can see in HxD, I made a custom function for this which is just the buffer address + 0x24 and that will get the correct size of any GSC.

Originally posted by John View Post
People shouldn't need the source, this is something that's really easy to make. I'm surprised it took this long for someone to release one.
All that you need to make something like this is public information


Yeah I had surprised no one had released one by now, but seeing as how the GSC people are it is not really surprising after all lol. Though I did hear people were just dumping the whole PS3s memory for a GSC XD.
02-22-2016, 09:16 AM #22
SyGnUs
Give a F*** About Your Lifestyle
Originally posted by luxyalf View Post
how to read conpiled gsc's?


I am not assisting anyone in decompiling GSCs, this is just for retrieving compiled GSCs from memory incase you don't want to use someones custom GSC injector or don't want to use a GSCr file, if you want a decompiler than all the info you need for making one is already available.

So I would appreciate it if people would stop messaging me about decompiling GSCs.

The following 2 users say thank you to SyGnUs for this useful post:

DoraTheKiller97, Im_YouViolateMe
02-22-2016, 03:04 PM #23
Im_YouViolateMe
NextGenUpdate Elite
Originally posted by SyGnUs View Post
Like John said it's not really something people should need the source for, but I don't encrypt my tools so if anyone wants to look at the source they can reflect it or whatever.

But anyway, for people who don't want to look through the source all I am doing is iterating through the ScriptParseTree and since it's a simple struct:

    
struct ScriptParseTree
{
const char *name;
int len;
char *buffer;
};


I just read the buffer which contains the pointer to where the GSC is located in memory and also the the len so I can have the size of the GSC so then when I have those 2 things I can just use a GetMemory function and put it into a buffer so that I can save it.

Though if you do that you won't really be able to dump custom GSCs, seeing as no tool I have seen updates the len in the struct when they inject a GSC. So to get the right size of a custom GSC you have to get it from the compiled GSC itself as every GSC contains the size in the binary of the file which you can see in HxD, I made a custom function for this which is just the buffer address + 0x24 and that will get the correct size of any GSC.



Yeah I had surprised no one had released one by now, but seeing as how the GSC people are it is not really surprising after all lol. Though I did hear people were just dumping the whole PS3s memory for a GSC XD.


In my program I had it set to look for the pointer to the GSC, and then get all bytes until there was a sequence of 8 zeroes or the end of memory was reached. That could probably work for custom gsc's right?
02-22-2016, 04:16 PM #24
DoraTheKiller97
Treasure hunter
Originally posted by SyGnUs View Post
I am not assisting anyone in decompiling GSCs, this is just for retrieving compiled GSCs from memory incase you don't want to use someones custom GSC injector or don't want to use a GSCr file, if you want a decompiler than all the info you need for making one is already available.

So I would appreciate it if people would stop messaging me about decompiling GSCs.

Good. If something like that gets released, that'll hurt the community pretty bad. And then as Chris said, kids will literally have everything handed to them. We dont need that.
02-22-2016, 11:40 PM #25
SyGnUs
Give a F*** About Your Lifestyle
Originally posted by YouViolateMe View Post
In my program I had it set to look for the pointer to the GSC, and then get all bytes until there was a sequence of 8 zeroes or the end of memory was reached. That could probably work for custom gsc's right?


Yeah could work, but I wouldn't really consider it a proper way as you could just get the size from the len if it's not a custom GSC, but the way I said pointer + 0x24 will get the correct size either way.
06-10-2016, 06:59 PM #26
So if i injected cmks menu wich is compiled i can retrive it uncompiled?
06-10-2016, 07:02 PM #27
itsSorrow
In my man cave
Originally posted by FilthyFrank View Post
So if i injected cmks menu wich is compiled i can retrive it uncompiled?


who knows? Try it
06-10-2016, 07:13 PM #28
Originally posted by GentleSlugger View Post
who knows? Try it


Nah didnt work. Might just try my hand at making a decompiler then release on here.

Copyright © 2024, NextGenUpdate.
All Rights Reserved.

Gray NextGenUpdate Logo