CTFcrackTools-V3 – 一款旨在帮助 CTFer 在 CTF 中发挥作用的一个框架
2017-08-22 15:17
375 查看
CTFcrackTools-V3
框架介绍
这大概是国内首个应用于CTF的工具框架。可以被应用于CTF中的Crypto,Misc…
内置目前主流密码(包括但不限于维吉利亚密码,凯撒密码,栅栏密码······)
用户可自主编写插件,但仅支持Python编写插件。编写方法也极为简单。
该项目一直在增强,这一次的重置只保留了部分核心代码,而将UI及优化代码重构,使这个框架支持更多功能。
项目地址:https://github.com/0Chencc/CTFCrackTools
插件编写
#-*- coding:utf-8 -*- ''' { title:程序标题 type:程序类型 author:作者昵称 dialog:变量 detail:插件详情 } ''' def main(a): return a
现在来具体讲下这些插件的用法,具体应该将下框架的调用方法。
编码类型当然是utf-8啦
Type:Crypto是一个硬性要求,因为我目前只写了Crypto的类,我打算在后期加上压缩包,图片的分类出来,慢慢完善。
main的方法中,至少有一个变量,至多有四个变量。
除了第一个变量以外的,都应该在Dialog后标明。
Example:我们团队的奶权写了一个维基利亚密码的插件
#!/usr/bin/env python # -*- coding: utf-8 -*- ''' { Title:VigenereDecrypto Author:naiquan Type:crypto Dialog:key Detail:维吉利亚密码解码 } ''' def vigenereDecrypto(ciphertext,key): ascii='ABCDEFGHIJKLMNOPQRSTUVWXYZ' keylen=len(key) ctlen=len(ciphertext) plaintext = '' i = 0 while i < ctlen: j = i % keylen k = ascii.index(key[j]) m = ascii.index(ciphertext) if m < k: m += 26 plaintext += ascii[m-k] i += 1 return plaintext def main(ciphertext,key): return vigenereDecrypto(ciphertext.replace(" ","").upper(),key.replace(" ","").upper())
这样写的话,框架就可以自行读取插件信息,然后会弹一个窗口请输入key。而ciphertext则是直接传入。
如图:
def vigenereDecrypto(ciphertext,key)
ciphertext即是输入的内容,key是由弹窗出来由用户填写的。
界面介绍
相关文章推荐
- CTFcrackTools-V3 - 一款旨在帮助 CTFer 在 CTF 中发挥作用的一个框架
- 一个问题---分步执行,却没有发挥作用的代码
- Cocoa框架是iOS应用程序的基础,了解Cocoa框架,对开发iOS应用有很大的帮助。 1、Cocoa是什么? Cocoa是OS X和 iOS操作系统的程序的运行环境。 是什么因素使一个程序成为Co
- 构建更加安全的 Web 应用程序-一个新的保护框架可帮助您防止操作和数据篡改
- 请求帮助:公司要做一个ASP.NET的项目管理网站,各位朋友有什么好的框架可以推荐?
- 一个封装Volley框架的帮助类
- 选一个ui框架,求帮助
- 一个简单的Servlet框架(帮助理解Servlet原理)
- ENode框架旨在帮助我们开发ddd,cqrs、eda和事件采购风格的应用程序。(netfocus 汤雪华)
- 扩展Html Helper类,ASP.NET MVC框架提供了一个帮助我们构造Html元素的类:TagBuilder
- 一个小型js框架myJSFrame附API使用帮助
- CTFCrackTools在Windows下显示A Java Exception has occurred的解决方案
- 开源框架iOS-Universal-Framework帮助快速建立一个共享的库
- 程序员是一个什么能力都可以发挥作用的平台
- 2015年3月26日 - Javascript MVC 框架DerbyJS DerbyJS 是一个 MVC 框架,帮助编写实时,交互的应用。
- iframe标签引用显示为空,ie下 【此内容不能显示在一个框架中, 为了帮助保护在此网站中输入的信息的安全……】
- 一个小型js框架myJSFrame附API使用帮助
- 程序员是一个什么能力都可以发挥作用的平台
- “回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求,帮助她寻找有多少种插入办法可以使新串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办法。
- 一个简单的基于EntityQuery的 PDF.NET SOD CURD 帮助类 CURDHelper.cs