上半年又是CTF赛事遍地,于是要把环境都搞起来,之前不小心把装有 RSAtools的ubuntu16.04给删了,又得重新配置一次环境了,为了防止之后再次东找西忙,于是记录一下。
这里的文章主要是记录gmpy2的安装,不过我的实际目的是安装RSAtools,所以在文章的最后,我也会写上RSAtools及其所需的其他东西的安装
可能在安装的时候少了很多东西,所以我们先在家目录建立一个文件夹,保存之后所有需要的东西,我将他命名为 Install
挺多人应该都没有m4,我们先检查一下
man m4
要是回答是
No manual entry for gmpy
那么我们就先安装m4
我们先进入到刚刚建立的 Install 文件夹下
wget http://ftp.gnu.org/gnu/m4/m4-1.4.18.tar.gz
tar -zxf m4-1.4.18.tar.gz
cd m4-1.4.18
./configure -prefix=/usr/local
make
make check
sudo make install
make check 有错的话,就不要install,先去找出错误解决了先
make install需要给root权限,不然会有错
man m4 测试一下
在Install中建立gmpy2的文件夹,在里面建两个文件夹保存之后的需要
cd Install
mkdir gmpy2
cd gmpy2
mkdir src
mkdir static
进入刚刚建立的src文件夹下
wget https://gmplib.org/download/gmp/gmp-6.1.2.tar.bz2
tar -jxf gmp-6.1.2.tar.bz2
cd gmp-6.1.2
./configure --prefix=$HOME/Install/gmpy2/static --enable-static --disable-shared --with-pic
make
make check
sudo make install
再次进入刚刚建立的src文件夹下
wget https://www.mpfr.org/mpfr-current/mpfr-4.0.2.tar.bz2
tar -jxf mpfr-4.0.2.tar.bz2
cd mpfr-4.0.2
./configure --prefix=$HOME/Install/gmpy2/static --enable-static --disable-shared --with-pic --with-gmp=$HOME/Install/gmpy2/static
make
make check
sudo make install
再次进入刚刚建立的src文件夹下
wget ftp://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz
tar -zxf mpc-1.1.0.tar.gz
cd mpc-1.1.0
./configure --prefix=$HOME/Install/gmpy2/static --enable-static --disable-shared --with-pic --with-gmp=$HOME/Install/gmpy2/static --with-mpfr=$HOME/Install/gmpy2/static
make
make check
sudo make install
在src文件夹中,下载gmpy2
最新版的有点问题,所以我选择的是这个版本
cd src
wget https://github.com/aleaxit/gmpy/releases/download/gmpy2-2.1.0a1/gmpy2-2.1.0a1.tar.gz
tar -zxf gmpy2-2.1.0a1.tar.gz
cd gmpy2-2.1.0a1
sudo python setup.py build_ext --static=$HOME/Install/gmpy2/static/ install
最后的安装也一定要用sudo!
尝试一下,import gmpy2,成功!
可以到这里去下载RSAtools https://github.com/3summer/CTF-RSA-tool
readme里面可以看到他的requirement
requirement:
requests
gmpy2
pycrypto
libnum
sagemath(optional)
gmpy2已经在上面安装了
git clone https://github.com/hellman/libnum.git
cd libnum
sudo python setup.py install
sudo pip install requests
sudo pip install pycrypto
sagemath是可选的,不管有没有,都是可以用RSAtools的,
可以直接下载,解压就可以用
wget http://mirror.hust.edu.cn/sagemath/linux/64bit/sage-8.6-Ubuntu_16.04-x86_64.tar.bz2
tar -jxf sage-8.6-Ubuntu_16.04-x86_64.tar.bz2
cd sage-8.6-Ubuntu_16.04-x86_64
./sage