Hiding messages in x86 binaries using semantic duals