Advertisement
t_a_w

ringzer0 challenge 46

Feb 10th, 2017
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.66 KB | None | 0 0
  1. #!/usr/bin/env ruby
  2.  
  3. # FAILED
  4.  
  5. @func = "\x2B\x09\x4A\x03\x49\x0F\x0E\x14\x15\x1A\x00\x10\x3F\x1A\x71\x5C\x5B\x5B\x00\x1A\x16\x38\x06\x46\x66\x5A\x55\x30\x0A\x03\x1D\x08\x50\x5F\x51\x15\x6B\x4F\x19\x56\x00\x54\x1B\x50\x58\x21\x1A\x0F\x13\x07\x46\x1D\x58\x58\x21\x0E\x16\x1F\x06\x5C\x1D\x5C\x45\x27\x09\x4C\x1F\x07\x56\x56\x4C\x78\x24\x47\x40\x49\x19\x0F\x11\x1D\x17\x7F\x52\x42\x5B\x58\x1B\x13\x4F\x17\x26\x00\x01\x03\x04\x57\x5D\x40\x19\x2E\x00\x01\x17\x1D\x5B\x5C\x5A\x17\x7F\x4F\x06\x19\x0A\x47\x5E\x51\x59\x36\x41\x0E\x19\x0A\x53\x47\x5D\x58\x2C\x41\x0A\x04\x0C\x54\x13\x1F\x17\x60\x50\x12\x4B\x4B\x12\x18\x14\x42\x79\x4F\x1F\x56\x14\x12\x56\x58\x44\x27\x4F\x19\x56\x49\x16\x1B\x16\x14\x21\x1D\x07\x05\x19\x5D\x5D\x47\x52\x60\x46\x4C\x1E\x1D\x5F\x5F\x1C\x15\x7E\x0B\x0B\x00\x49\x51\x5F\x55\x44\x31\x52\x45\x13\x1B\x40\x5C\x46\x10\x7C\x38\x10\x19\x07\x55\x13\x44\x56\x31\x1C\x15\x19\x1B\x56\x13\x47\x58\x30\x1D\x1B\x58\x55\x1D\x57\x5D\x41\x7C\x4D\x4B\x4D\x49\x4F".unpack("C*")
  6.  
  7. def search_key(i)
  8.   ct = @func.each_slice(9).map{|slice| slice[i]}.compact
  9.   decodings = []
  10.   (0..255).each do |k|
  11.     pt = ct.map{|c| c^k}
  12.     next if pt.any?{|c| c >= 127}
  13.     next if pt.any?{|c| c < 32 and c != "\n".ord}
  14.     # Possible but unlikely
  15.     # next if pt.any?{|c| c.chr =~ /[`~?#]/ }
  16.     p [i, k.chr, pt.map(&:chr).join]
  17.     decodings << [i, k.chr, pt.map(&:chr).join, pt]
  18.   end
  19.   decodings
  20. end
  21.  
  22. decodings = []
  23. (0..8).each do |i|
  24.   puts "Searching #{i}:"
  25.   decodings << search_key(i)
  26. end
  27.  
  28. puts "Random solutions"
  29. 100000.times do
  30.   d = decodings.map(&:sample)
  31.   pt = (0...@func.size).map{|i|
  32.     ki = i % 9
  33.     d[ki][3][i/9].chr
  34.   }.join
  35.   next unless pt =~ /eval/
  36. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement