I am currently trying to write a decryption routine, and one of the steps in the encryption routine is this:
xor eax,edx // xors eax(current character) and edx (the key)
Obviously I will know the key so any ideas how I can reverse this operation?
XOR is its own inverse. (Bitwise: XOR’ing with 0 will not change a bit. XOR’ing with 1 will flip it, and doing it again will flip it back.)
Just XOR the “encrypted” value and the key again: