Suppose you don't have the source of a contract, but have its bytecode. Can you theoretically interact with it somehow, or see what it does, by only looking at its bytecode?
Can functionality be obscured, or can you deduce everything that a contract does by its bytecode alone?