Not sure how I can write this question better, so I will provide an example.
I have a C++ program for static analayis of files. I need to, for example, check if these files are packed (e.g. UPX) and, if they are, unpack them automatically.
There’s apparently no library that does what I need (e.g. unpacking a file that may be packed with different packers). So based on the packer, I could just have multiple .exes that already exist and that unpack executables packed with some given packers, and then just run them through my C++ program (e.g. through std::system
calls).
For example:
- First, check which packer is used.
- Then, call the appropriate .exe targeted specifically to that packer.
Is there any other sane way to do what I’m trying to do, if I can’t find a public available library?
I think another way would be to modify the existing source code of these .exes (e.g. UPX) so that I can “transform” them into DLLs for my usage, but that sounds so much time consuming to obtain the same result (except that I’d have more control)
To put it more clearly I would just like to know whether this is something that is actually done in practice or not at all when a library does not exist.