Web手,想要拓展下知识面,整理分享以下近期工具安装记录,转载还请注明来源
换源建议先换源
配置python2.7版本在做pwn相关工作时,我们最常用的Python版本就是2.7版。
安装Python尽量使用aptitude,他相对apt的优势在于能够更好的处理依赖问题。
sudo apt-get install aptitude sudo aptitude install python2.7
补充:相对apt,此工具还可以进行install, remove, reinstall,并可以自动的处理依赖。
使用update-alternatives切换Python版本
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 100 update-alternatives --install /usr/bin/python python /usr/bin/python3.8 200 update-alternatives --config python 1安装对应版本的pip和setuptools
get-pip.py是一个引导脚本,允许用户安装pip、setuptools,并在Python环境中使用这些工具。
原理是:get-pip.py捆绑了一个带有少量粘合代码的PIP副本,且自动识别Python版本。这个粘合代码来自templates/目录。
// 下载get-pip脚本[直接下载有时会失败],建议访问网址手动复制粘贴 curl https://bootstrap.pypa.io/2.7/get-pip.py -o get-pip.py // 使用get-pip安装特定版本的pip,注意,需要使用对应版本的python运行,如安装python2.7要先修改python为2.7版本。 python get-pip.py安装Pwntools
# 可能出现缺包情况,可尝试自行pip安装补全 pip install pwntools # 备选方案,仅在pip完,出现缺包以外情况时使用。 git clone https://github.com/Gallopsled/pwntools.git cd pwntools sudo python setup.py install验证安装效果
# 成功引入即可,可以找题跑一跑 import pwn安装LibcSearcher
libc库版本辅助库
git clone https://github.com/lieanu/LibcSearcher.git cd LibcSearcher python setup.py install扩展GDB的插件和切换(pwndbg/peda/gef)
GDB 是GNU提供的一款命令行调试器,有用强大的调试功能,并且对于含有调试符号的程序支持源码级调试,同时支持使用Python语言编写拓展,一般用到的扩展插件为gdb-peda、gef或pwndbg。
GDB有几种常用的插件,但是不兼容,需要切换使用。
pwndbg适合调试堆。peda适合查看字符串。
pwndbg
### pwndbg $ git clone https://github.com/pwndbg/pwndbg ~/peda $ cd pwndbg $ sudo ./setup.sh # 因为peda和pwndbg不相互兼容,如果为自动写入.gdbinit,要手动添加,并在需要时注释切换 $ vim ~/.gdbinit source ~/pwndbg/gdbinit.py # 调用验证 gdb pwndbg>
peda
### peda $ git clone https://github.com/longld/peda.git ~/peda $ echo "source ~/peda/peda.py" >> ~/.gdbinit # 注释~/.gdbinit的pwndbg,调用验证 $ gdb gdb-peda>
gef
### gef,请保证网络连接正常,否则文件可能为空 $ wget -O ~/.gdbinit-gef.py -q http://gef.blah.cat/py $ echo source ~/.gdbinit-gef.py >> ~/.gdbinit # 调用验证 source ~/.gdbinit-gef.py gdb gef >安装定理证明器Z3
z3是由微软公司开发的一个优秀的SMT求解器(也就定理证明器),它能够检查逻辑表达式的可满足性。
# 为Python安装
pip install z3-solver
# 验证
from z3 import *
x = Int('x')
y = Int('y')
s = Solver()
s.add(x + y > 3, x > 1, y > 1)
print(s.check())
print(s.model())
-------------------------------------------------其他待探索-----------------------------------------------


![[环境配置/PWN]Pwn相关工具安装记录 [环境配置/PWN]Pwn相关工具安装记录](http://www.mshxw.com/aiimages/31/357217.png)
