Jump to content
Sign in to follow this  
ThE_-_BliZZarD

Tool for checking mods used in map against whitelist

Recommended Posts

I am creating a tool (in C++) which reads a mission (from SQF or PBO), parses the required mods (in the addons[] array) and compares those against a whitelist.

This part works well, what I have trouble with is creating the whitelist automatically from the mods installed.

 

My plan is: Crawl the directory for PBOs, read their config.cpp/config.bin to get the CfgPatches and collect all sub-classes therein, as those should be the names on the whitelist (is this correct? Am I getting this wrong?).

This works reasonably well (my PBO parser works, my parser for binarized and non-binarized SQF works perfectly) for all but a rare few mods. One of my problems is Isla Duala (https://steamcommunity.com/sharedfiles/filedetails/?id=714149065), which seems to use some kind of "obfuscation" on the config.bin file, i.e. its not the default raP format.

For example, the first bytes of the mentioned config.bin are "5F 00 72 61 50 00 01 00 08 05 00 FB F4 BB 0A 00 08 00 43 66 67 FF 50 61 74 63 68 65 73", from which we can plainly see the rap header is shifted by one byte and the rest of the header is mangled as well.

 

Does anyone know

 - how to de-obfuscate this? (SERIOUSLY: I am not "stealing" something, I _need_ to know the name of the damn mod; how else would I get that; I understand people hiding their scripts/assets, but the main mod info, wth)

- where the raP parser in Arma3 is located (location in the binaries), since I would love to replicate its behavior, since it seems to accept this ill-formatted file...

 

If anyone has any pointers or insight, I'd be grateful.

 

Once this is done, it will be published open-source on GitHub.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×