1.环境配置(以Kali Linux下python2.7为例)
环境参数如下
root@kali:~/桌面# python --versionPython 2.7.18root@kali:~/桌面# uname -aLinux kali 5.4.0-kali3-amd64 #1 SMP Debian 5.4.13-1kali1 (2020-01-20) x86_64 GNU/Linux
解密脚本:
#-*- coding:utf-8 -*-
import time
import gmpy2
import libnum
n=0xB0BEE5E3E9E5A7E8D00B493355C618FC8C7D7D03B82E409951C182F398DEE3104580E7BA70D383AE5311475656E8A964D380CB157F48C951ADFA65DB0B122CA40E42FA709189B719A4F0D746E2F6069BAF11CEBD650F14B93C977352FD13B1EEA6D6E1DA775502ABFF89D3A8B3615FD0DB49B88A976BC20568489284E181F6F11E270891C8EF80017BAD238E363039A458470F1749101BC29949D3A4F4038D463938851579C7525A69984F15B5667F34209B70EB261136947FA123E549DFFF00601883AFD936FE411E006E4E93D1A00B0FEA541BBFC8C5186CB6220503A94B2413110D640C77EA54BA3220FC8F4CC6CE77151E29B3E06578C478BD1BEBE04589EF9A197F6F806DB8B3ECD826CAD24F5324CCDEC6E8FEAD2C2150068602C8DCDC59402CCAC9424B790048CCDD9327068095EFA010B7F196C74BA8C37B128F9E1411751633F78B7B9E56F71F77A1B4DAAD3FC54B5E7EF935D9A72FB176759765522B4BBC02E314D5C06B64D5054B7B096C601236E6CCF45B5E611C805D335DBAB0C35D226CC208D8CE4736BA39A0354426FAE006C7FE52D5267DCFB9C3884F51FDDFDF4A9794BCFE0E1557113749E6C8EF421DBA263AFF68739CE00ED80FD0022EF92D3488F76DEB62BDEF7BEA6026F22A1D25AA2A92D124414A8021FE0C174B9803E6BB5FAD75E186A946A17280770F1243F4387446CCCEB2222A965CC30B3929
e=3
res=0
c=int(open('flag.enc','rb').read().encode('hex'),16)
print time.asctime()
for i in xrange(118000000,200000000):
if i % 1000000 ==0:
print str(i)+"time is run"
if gmpy2.iroot(c+n*i,3)[1]==1:
res=gmpy2.iroot(c+n*i,3)[0]
print i,res
print libnum.n2s(res)
print time.asctime()
break
需要的python 第三方库为:gmpy2,libnum,wheel
首先安装wheel
python -m pip install wheel
安装gmpy2
安装 libnum库
libnum不能直接安装,pip直接安装的无法运行脚本,需要到github上下载安装脚本:
注意:libnum库最近有改动,需要到tag里面下载libnum1.4进行安装:
如上图
git clone https://github.com/hellman/libnum
cd libnum/

python setup.py install
2.运行python解密脚本:
python aaaaa.py

PCTF{Sm4ll_3xpon3nt_i5_W3ak}

