Make a table of all the possible XORs of legal ASCII characters in your plain text and this will tell you, for each position in your text, what are the possible pairs of letters from the two messages. This makes the task much easier since many 8-bit sequences don't correspond to any legal ASCII character at all. It's much more fun to do this yourself.ĮDIT: in the comments you're mentioning that it's indeed ASCII encoding. Having said all that, I don't know where you can find a tool to do it for you, and if you find one it'll be very sensitive to the particular encoding. Such matches are more likely to be a pair of E's or a pair of Spaces than a pair of Q's or X's. Also, the ciphertext will likely have numerous 0 values corresponding to places where both messages have the same letter.
You can try some common words and letter combinations and look for places where XORing the word with the ciphertext yields an English-looking string (which would then be the corresponding word or letter combination at the other text). Any spare spaces are filled with nulls or left blank or placed by a character (Example: ). Deciphering this just requires patience and a good understanding of the encoding (what exactly is being XORed - the ASCII values of the letters? Some other binary encoding? Are spaces retained?). Obtaining the key length of a columnar transposition, given a known plaintext word.
You'll get the XOR of the two original, unencrypted messages since the identical keys cancel out. Take the two encrypted messages and XOR them with each other.