在CTF Crypto方向上,总是会遇到很多sage脚本,有很多很熟悉的python库想调用却成了个难题,或者说大佬写的wp会因为用了python的第三方库而运行不了,这本来是不应该的,sage本身就是基于python写的,内部都有python环境,本来想着是要用pycharm来运行sage程序,但是发现这个在windows上实现是比较困难的,建议在liunx上尝试。本文主要介绍在windows环境下,如何流畅的运行含有python第三方库的sage程序。
方法一:pip大法好
具体来说就是sage console内部其实是支持pip命令的,或者换句话说,这个console只不过是提前import了一堆sage库的普通python console罢了,那么想装什么库就直接像平常用python一样装就行了,之后再打开Notebook的时候也照样能用,就免得在pycharm上运行sage代码那么麻烦了。
方法二:复制自己的python库到目标文件
刚刚的办法虽好,但是安装的库确实有点差异,就比如我上面安装的这个Crypto库,并不是我想要的那个,pycharm的快捷安装太香了,怎么给sage快捷安装呢?
以sagemath9.2为例,其内置python的第三方库目录其实就是SageMath 9.2\runtime\opt\sagemath-9.2\local\lib\python3.7\site-packages 各位大佬可以自己找找这个,把自己想用的库复制一份粘贴到这个目录下,就可以正常在Notebook里运行啦。
至此,Notebook已经像自家pycharm一样好用了,只是不能调试比较头疼,后续还会继续更新关于调试sage程序的相关内容。