Advertisement
Guest User

pattern

a guest
Feb 4th, 2015
350
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.17 KB | None | 0 0
  1. # Base on Pattern_Creator.rb
  2. # Author : peternguyen
  3.  
  4. import sys
  5. import string
  6. from struct import *
  7.  
  8. lower = string.ascii_lowercase
  9. upper = string.ascii_uppercase
  10. digits = string.digits
  11.  
  12. def create_pattern(size):
  13.     pattern = ''
  14.     j = k = l = 0
  15.     for i in range(size):
  16.         if(l == len(digits)):
  17.             l = 0
  18.             k+=1
  19.             if(k == len(upper)):
  20.                 k = 0
  21.                 j+=1
  22.         pattern += upper[j]+lower[k]+digits[l]
  23.         l+=1
  24.     return pattern
  25.  
  26. def main():
  27.     if len(sys.argv) < 2:
  28.         print 'Usage : %s <length_pattern> ' % sys.argv[0]
  29.         print '\t - If You Want Calculate junk size use : '
  30.         print '\t\t %s 2000 0x68423768' % sys.argv[0]
  31.     else:
  32.         print '[+] Create pattern has length %s' % (sys.argv[1])
  33.         pattern = create_pattern(int(sys.argv[1]))
  34.         print pattern
  35.         try:
  36.             if(sys.argv[2]):
  37.                 key = pack('<I',int(sys.argv[2],16))
  38.                                             if key in pattern:
  39.                                                   print '[+] %s in Pattern => junk has length is %d' % (sys.argv[2],len(pattern[:pattern.rindex(key)]))
  40.                 else:
  41.                     print '[!] Not calculate junk size'
  42.         except IndexError:
  43.             pass #do nothing
  44. if __name__ == '__main__':
  45.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement