I'm trying to figure out how a given executable works. I know it's using AES-128 to encrypt and decrypt, but the specifics of the code are unknown. I can get the executable to encrypt and decrypt any data, as many times as I want. How can I go about determining the key and method used by this executable?
For example, I've noticed that hashing the same data repeatedly only differs in the very last 16 bytes of the 64 bytes of output. What else can I try that will help me obtain the key used?