All pastes #1614060 Raw Edit

TH_msg_ending.rb

public text v1 · immutable
#1614060 ·published 2009-10-12 01:37 UTC
rendered paste body
Dir['e*.msg'].each do |msg_filename|
  file_msg = File.new(msg_filename, "rb")
  file_output= File.new(msg_filename + ".txt", "wb")
  file_msg.pos = 0x4A
  byte = file_msg.getc
  while byte != nil
    if byte == 0x03
      len = file_msg.getc
      if len > 0
        text = ""
        cipher = file_msg.read(len)
        key = 0x77
        text << (cipher[0] ^ key)
        for i in 1..cipher.length-1
          key = (key + ((i-1)*0x10 + 0x7)) % 0x100
          if cipher[i] != key
            text << (cipher[i] ^ key)
          end
        end
        file_output.write(text + "\n")
      end
    end
    byte = file_msg.getc
  end
  file_msg.close
  file_output.close
end