Skip to content

Instantly share code, notes, and snippets.

@lkraider
Created June 14, 2020 21:25
Show Gist options
  • Save lkraider/9530798a695586fc1580d0728966f6f0 to your computer and use it in GitHub Desktop.
Save lkraider/9530798a695586fc1580d0728966f6f0 to your computer and use it in GitHub Desktop.
X-OVH-SPAMCAUSE decoder
def decode(msg):
text = []
for i in range(0, len(msg), 2):
text.append(unrot(msg[i: i + 2]))
return str.join('', text)
def unrot(pair, key=ord('x')):
offset = 0
for c in 'cdefgh':
if c in pair:
offset = (ord('g') - ord(c)) * 16
break
return chr(sum(ord(c) for c in pair) - key - offset)
if __name__ == '__main__':
import sys
print(decode(sys.argv[1]))
@plegrand1
Copy link

Just to know, is it normal that the result is truncated
Thanks again

@DoubleYouEl
Copy link

Can you provide an example? In principle, the entire spamcause string is parsed and decoded.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment