首页 > 其他分享 >Excalibur维护日记

Excalibur维护日记

时间:2024-02-16 17:44:36浏览次数:16  
标签:__ Excalibur pypi toml 033 维护 日记 python3 Excalibur2

之前看一些大神都有自己写的pwn题写exp用的python库,想着自己也写一个自用,方便exp的编写

虽然不是什么好东西,也只有几行简单的代码,但本着开源分享的原则,今天研究了一下传到pypi上了

23年暑假写的时候正在狂刷fate,然后直接粉上吾王,于是给库其名为Excalibur。至于为什么有个2 ,传的时候发现重名了......

此博客记录一下这个库的上传和维护过程。

中文文档

Excalibur2

Description

一个打pwn的ctfer的简单集成库

本Python库收录了常见的PWN题函数,旨在简化pwn题中脚本编写的过程呢个,帮助广大pwner节约时间,提高解题效率

十分欢迎各位师傅使用Excalibur,同时欢迎对鄙人的代码提出意见和指导

Install

安装

pip3 install Excalibur2

检查是否有更新版本

python3 -m Excalibur2.__update__

更新

pip3 install Excalibur2 --upgrade

Help

Python内置帮助

python3 -m pydoc Excalibur2

查看帮助文档

import Excalibur2

help(Excalibur2)

查看函数帮助

from Excalibur2 import *

help(function)

more details Please visit https://lmarch2.top/posts/8c945bd4/

Release

2.2, Feb 8, 2024

修复了一些由包名称引起的问题

2.1, Feb 8, 2024

支持自定义调试终端,添加检查更新功能

2.0, Feb 8, 2024

本包诞 生之日

将Python库打包至pypi时遇到的坑

2FA验证

首先你需要在pypi上创建账户(testpypi上也是,两个网站服务器相互独立),接着使用TOTP APP身份验证,我选择的是FreeOTP,并且选择在f-droid上下载(安卓手机,没有谷歌商店,懒得编译源码)

image-20240209005231896

步骤

一种使用pyproject.toml,一种使用setup.py,这里跟着官方教程选择pyproject.toml

步骤官方文档里写的很清楚,这里不再赘述,简单来说就是创建如下目录和文件

packaging_tutorial/
├── LICENSE
├── pyproject.toml
├── README.md
├── src/
│ └── example_package_YOUR_USERNAME_HERE/
│ ├── __init__.py
│ └── example.py
└── tests/

强烈建议照着官方教程先在testpypi测试平台上检测上传是否无误,无误后再转战pypi

API令牌验证上传

创建API token(保存好)

执行命令python3 -m build python3 -m twine upload dist/*

提示输入用户名——__token__

输入密码——刚刚的API秘钥

版本管理

更新版本之后,可以build之后再dist文件夹下创建以版本号为名称的文件夹,把压缩包和whl放到对应文件夹下,上传的时候记得修改路径和pyproject.toml里的版本号

源码

源码有点冗长,不在此占用空间,详见GitHub

https://github.com/lmarch2/Excalibur2

Others

顺便记录一下颜色转义码

定义 ANSI 转义码

  • RED = '\033[91m'
  • GREEN = '\033[92m'
  • YELLOW = '\033[93m
  • BLUE = '\033[94m
  • MAGENTA = '\033[95m
  • CYAN = '\033[96m'
  • RESET = '\033[0m'

colored_text = Color.RED + text + Color.RESET

标签:__,Excalibur,pypi,toml,033,维护,日记,python3,Excalibur2
From: https://www.cnblogs.com/imarch22/p/18017321

相关文章

  • 【loj】维护全序集
    平衡树的题能不打平衡树尽量别打,除非你闭着眼都能打对。Describe:维护一个多重集S,初始为空,有以下几种操作:把\(x\)加入\(S\)删除\(S\)中的一个\(x\),保证删除的\(x\)一定存在求\(S\)中第\(k\)小求\(S\)中有多少个元素小于\(x\)求\(S\)中小于\(x\)的最......
  • (学习日记)一、Web框架-HTML标签-网页请求
    1.快速开发网站render_template是Flask框架的一个函数,用于渲染模板并生成动态的HTML文件app=Flask(name,template_floder(''路径''))构造一个Flask类赋给app,template_floder修改寻找模板的默认路径,默认是当前目录下的templates文件(没有则需要创建一个目录文件)fromflask......
  • (学习日记)三、BootSrap-JavaScript
    6.BootStrap6.1什么是bootstrap?-别人写好的css模板-Bootstrap中文网(bootcss.com)<!DOCTYPEhtml><html><head><title>BootStrap_Demo</title><metacharset="UTF-8"><linkrel="stylesheet"href=&quo......
  • (学习日记)六、Ajax请求
    15.Ajax请求浏览器向网站发送请求时:GETPOST特点:页面会刷新。也可以基于Ajax向后台发送请求(偷偷发送请求)依赖jQuery编写ajax$.ajax({url:"发送的地址",type:"post",data:{n1:123,n2:456,}success:function(res){co......
  • (学习日记)四、数据库MySQL
    1.初识网站默认编写的网站是静态的动态需要用到web框架的功能fromflaskimportFlask,render_templateapp=Flask(__name__)@app.route("/index")defindex():users={"Wu":"1","Liu":"2","Deng":"3"}#此处的数......
  • WPF新境界:MVVM设计模式解析与实战,构建清晰可维护的用户界面
     概述:MVVM是一种在WPF开发中广泛应用的设计模式,通过将应用程序分为模型、视图、和视图模型,实现了解耦、提高可维护性的目标。典型应用示例展示了如何通过XAML、ViewModel和数据绑定创建清晰、可测试的用户界面。什么是MVVM?MVVM(Model-View-ViewModel)是一种用于构建用户界面的......
  • Java学习日记 Day16 正月初五,学习回归正轨!
    年前把SSM和Linux学完了,过年期间简单的做了个ssm的项目,再理解理解SSM。今天继续学了radis,也是比较重要的一个技术。radis:简单来说就是把数据存到缓存里的技术,常常和关系数据库结合使用,我们可以把数据库拿出来的数据存到缓存里,这样减少了io的次数,大大提高了效率。radis的学习大......
  • 2024寒假年后集训日记
    2.14闲话做题纪要SP913QTREE2-QueryonatreeII\(LCA\)板子。点击查看代码structnode{ llnxt,to,w;}e[20002];llhead[20002],dep[20002],dis[20002],fa[20002][25],N,cnt=0;voidadd(llu,llv,llw){ cnt++; e[cnt].nxt=head[u]; e[cnt].to=v; e[cnt......
  • 2024寒假自主提升日记
    2.7闲话做题纪要SP26368PWRANDMOD-PowerandMod龟速乘板子。点击查看代码#definell__int128_tllread(){llx=0,f=1;charc=getchar();while(c>'9'||c<'0'){if(c=='-'){f=-1;......
  • netflix conductor 停止维护
    就在23年的12月底,netflixconductor团队停止了对于conductor社区版的维护,同时github项目只读了目前社区有一个fork的conductor-oss(orkes团队维护,团队成员来自netflix),orkes属于一个企业级的conductor平台参考资料https://github.com/Netflix/conductorhttps://github.com......