首页 > 代码库 > Python版本 msf pattern_create.rb
Python版本 msf pattern_create.rb
Python(2.7.x)版本pattern_create.rb工具,计算溢出发生时被覆盖元素偏移地址:
#!/usr/bin/env python # Replicates msf pattern_create.rb import sys try:length=int(sys.argv[1]) except:print "[+] Usage: %s <length> [set a] [set b] [set c]" % sys.argv[0]; sys.exit(1) try:seta=sys.argv[2] except:seta="ABCDEFGHIJKLMNOPQRSTUVWXYZ" try:setb=sys.argv[3] except:setb="abcdefghijklmnopqrstuvwxyz" try:setc=sys.argv[4] except:setc="0123456789" string="" ; a=0 ; b=0 ; c=0 while len(string) < length: if len(sys.argv) == 2: string += seta[a] + setb[b] + setc[c] c+=1 if c == len(setc):c=0;b+=1 if b == len(setb):b=0;a+=1 if a == len(seta):a=0 elif len(sys.argv) == 3: print "[!] Error, cannot work with just one set!" print "[+] Usage: %s <length> [set a] [set b] [set c]" % sys.argv[0]; sys.exit(1) sys.exit(1) elif len(sys.argv) == 4: string += seta[a] + setb[b] b+=1 if b == len(setb):b=0;a+=1 if a == len(seta):a=0 elif len(sys.argv) == 5: string += seta[a] + setb[b] + setc[c] c+=1 if c == len(setc):c=0;b+=1 if b == len(setb):b=0;a+=1 if a == len(seta):a=0 else: print "[+] Usage: %s <length> [set a] [set b] [set c]" % sys.argv[0]; sys.exit(1) print "-------------------------------------------------------------------------" print string[:length] print "-------------------------------------------------------------------------" print "Length: %i" % length print "[+] SetA: ‘%s‘" % seta print "[+] SetB: ‘%s‘" % setb if len(sys.argv) != 4: print "[+] SetC: ‘%s‘" % setc print "-------------------------------------------------------------------------"
C:\>python pattern_create.py 100
Python版本 msf pattern_create.rb
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。