Is that meaningfully different from reverse engineering? You can't use individual functions without knowing the data structures they operate on, and info about data structures is usually not present in the final binary*.
* (excluding languages that compile to an IL like C# of course, but decompiling C# is trivial)
* (excluding languages that compile to an IL like C# of course, but decompiling C# is trivial)