Updated Gibbed's tools: The Github
- April 12, 2016 at 9:28 pm #165992neamParticipant
There’s now a project on github with all the changes and updates I’ve made on the Rick Gibbed tools.
Feel free to contribute 🙂
Please also note that it was the first time I have ever opened visual studio (kdevelop ftw), and seen C# code of my life (C++ ftw). So I may have done some… huge mistakes.
The repository is here: https://github.com/tim42/gibbed-justcause3-tools-fork.
There’s also a new release of the tools that ships a HUGE speed improvement on everything that was slow. (GenerateNameList doesn’t take 12hours anymore, but a bare 30minutes on HDD, and very probably way less on a SSD — that program just parses every ADF and RTPC files, uncompressing every AAF archive on its way to gather every single HASH identifiers and strings to generate a namelist from all this 40Go+ of data).
ConvertStringLookup is now instant, even for HUGE files.
And I’m working on implementing a rbm <-> obj converter. Yay !April 13, 2016 at 1:47 pm #165993FINDarksideParticipant
So GenerateNameList makes a list of all hashes or what?
What is 00_generated.namelist? Most of it is just garbage so bruteforced hashes? It would probably be a good idea to filter the ones that are obviously not right.
I also brute forced hashes a long ago so I have 847 valid names from that.
E: Why does Pack.exe have System.Threading.Thread.Sleep(3000) at the end?April 13, 2016 at 3:06 pm #165995neamParticipant
GenerateNameList parses all RTPC files, collect all the different identifiers (that are 4 byte hash) and store them. It also collects strings from ADF, RTPC and AAF files (that makes million of files to search). It filter the strings and only keep those that matches identifiers. It has some garbage, yes, but most strings are corrects.
The garbage comes from a big file (that I didn’t include in the repo, if I recall correctly) that contain various dumps from JC3 binaries. It has the most interesting strings (all the data types, …) but that would take too long to filter by hand, and regexp may not help much. With this technique, I have 16% of valid and correct names (16.3% with garbage) on the total of all identifiers ever used in JC3 RTPC files. That’s quite good for a start. 😉 I should automatize the string extraction from the binaries of JC3, that should help a bit.
And that 00_generated.namelist is a failure. that’s not the correct file either.
Another point of this binary is that it serves as a test for an in-place loader (nothing to extract, nothing to write on your HDD).
The sleep… Well, you know the debug things that stay there, forgotten ? That’s it.
Thanks for the feed back ! I’ll fix everything right now.
- You must be logged in to reply to this topic.