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

时间: 2024-10-29 04:34:37

Python版本 msf pattern_create.rb的相关文章

Python 3版本pattern_create.rb工具

Python 3版本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

Metasploit 工具 pattern_create.rb pattern_offset.rb

pattern_create.rb pattern_offset.rb 使用 pattern_offset.rb 先让调试的程序溢出 知道 ESP 的值 $ (python -c 'print "A"*79+"\xfb\xd8\xff\xff"')

Mac下切换Python版本

Mac下有多个版本的Python时,需要进行版本切换.我使用的是anaconda,在终端下进行包安装时,默认Python版本是MacOS自带的Python,需要进行手动的版本切换. # 将anaconda的bin目录加入PATH,根据版本不同,也可能是~/anaconda3/bin echo 'export PATH="~/anaconda2/bin:$PATH"' >> ~/.bashrc # 更新bashrc以立即生效 source ~/.bashrc 以我主机为例,切

LInux升级Python版本2.7.11所遇问题汇总

首先请原谅我使用校园网络,基本上打不开谷歌,网络搜取得帮助均来自度娘. 对于我这个linux新手 IT 新手来说,自己升级点东西好担心,万一出错,可能都要重来.... 参照度娘内容和自己摸索,今天晚上的升级以成功结束 哈哈哈 一.我需要把升级Linux里Python版本为2.7.11,度娘一艘,都是各种直接弄好的下载链接,发现了各种复制来复制去的内容,找来找去没找到2.7.11,所以转到了官网www.python.org 首页就可以看到download里最新的2.7.11,点进去,需要的就是最上

更新centos系统的python版本

因今天安装一程序需要用到python高版本,所以升级来系统自带的python. 先查询下系统的python版本是多少. #python -V 显示出来的是2.4.3,太老了,现在升级到比较稳定的版本3.3.0,大家想升级到最新版本可以参考官方网站(https://www.python.org/downloads/). 温馨提示:更新python千万不要把老版本的删除!新老版本是可以共存的,很多基本的命令.软件包都要依赖预装的老版本python的,比如yum. 现在就开始升级操作,在此之前为了防止

在centos中部署多个python版本

使用pyenv+virtualenv方式部署python多版本 pyenv vs virtualenv pyenv 是针对 python 版本的管理,通过修改环境变量的方式实现: virtualenv 是针对python的包的多版本管理,通过将python包安装到一个模块来作为python的包虚拟环境,通过切换目录来实现不同包环境间的切换. pyenv 原理 pyenv 的美好之处在于,它并没有使用将不同的 $PATH 植入不同的 shell 这种高耦合的工作方式,而是简单地在 $PATH 的最

2.将python版本改为2.7的方法

1.首先查看当前python的版本 [[email protected] ~]# python -V Python 2.6.6 2.解压2.7版本的python源码包 tar xf Python-2.7.tar.bz2 cd Python-2.7 ./configure --prefix=/usr/local/python2.7 make && make install 3.检查安装结果 [[email protected] ~]# /usr/local/python2.7/bin/pyt

Linux下切换python版本

当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Python 版本,因此系统中会存在多个 Python 的可执行二进制文件.你可以按照以下方法使用 ls 命令来查看你的系统中都有那些 Python 的二进制文件可供使用. $ ls/usr/bin/python*/usr/bin/python /usr/bin/python2 /usr/bin/python2.7/usr/bin/python3 /usr/bin/python3.4/usr/bin/python3.4

centos系统python版本2.6升级到2.7

Centos 6.x上安装的python版本是2.6,不能满足我运行软件的要求,所以对python进行升级. Python的最新版本已经是3.3,但是Python3的兼容性可能还有一定的问题,所以还是升级到2.7较为保险.Python 2.7也能够满足绝大多数的软件需求了. 安装之前需要先安装以下软件: yum install zlib zlib-devel openssl openssl-devel -y 注意:后期安装pip时,如没安装以上软件,会报错,而且安装完上面软件还需要重新编译安装p