I've been given a program that emulates the Windows API. I'm attempting to find flaws in this emulator where it either:
- Always returns a constant value, regardless of the host system (Useful for fingerprinting)
- For example, calls to get the username in this emulator return various random strings. But calls to get the free disk space always returns the same number, regardless of the actual value on the host system.
- Returns the real value from bare metal (Emulator leaking real information)
- For example, calls to get the MAC address return the value from the host system.
Instead of writing functions to test the return values from various functions in the Windows API, I'm looking for a way to automate code generation (preferably in C/C++) to query a large number of functions provided by the WinAPI . Is anything like this possible or has it been done for other projects that I could leverage?