I'm going to use this time to browse the executable's bytes. I'll do a video tutorial on how to read the structures. I want to take the time to go ahead and take all the tag file definitions directly from guerilla.exe to compare them to what I've already done.
This should help anyone with prospects of doing the same:
1) Guerilla.exe (and Kornman's version of Guerilla) both load Read/Write/Execute starting at address 0x400000 by default. If you open it in Cheat Engine and look at the Memory Regions window, you'll see that. Pointer addresses in the assembly are all going to take into account the fact that the .exe is in memory starting at 0x400000 (by default). So subtract 0x400000 from all pointers when looking at guerilla.exe in a hex editor and converting from pointer to file data offset. You don't have to do this if you are simply viewing the virtual memory of the application in Cheat Engine.
2) Make a new tag in Guerilla and search for a label string. Then search for a pointer to that string. That will take you to the metadata (struct element) definition for that entry. Here is a struct for metadata entries:
enum datatypes type;
int32_t array_size; // size of array of bytes, or 0
where "enum datatypes" is something like, according to my observations and as shown in guerilla's data:
3) There are also block definitions and data definitions, somewhat similar in structure. Here is what a block definition struct looks like:
bool is_extended; // whether it contains sub-arrays, sub-data, or dependencies
A data definition struct is similar, except that where you had "maximum_chunks" in the above, you have the maximum bytes number.
You can find a chunk definition address by making a tag in Guerilla and saving it to disk, then looking at the structure address therein. It will be something around 0x9C0000. For example, the actv .actor_variant colors block definition is at address 0x9c944c.
That should get you started with looking through the guerilla.exe data.
edited for spelling mistakes :BEdited by sparky on Aug 3, 2018 at 02:37 AM
Add text fields to Guerilla:https://www.youtube.com/watch?v=wvh4HwWWZYMEdited by sparky on Aug 3, 2018 at 02:45 PM