首页 > 其他分享 >【MISC】[MoeCTF 2022]cccrrc --crc32爆破

【MISC】[MoeCTF 2022]cccrrc --crc32爆破

时间:2023-10-28 15:55:24浏览次数:42  
标签:__ crc -- res chars MISC char CRC32 crc32

附件下载下来为压缩包,需要密码,查看该压缩包的内容

此处发现里面四个txt文件均已被加密,但是每个txt的内容都只有四个字节,符合crc32爆破条件,直接上脚本:

import binascii import string
def crack_crc():     print('-------------Start Crack CRC-------------')     crc_list = [0x67b2d3df, 0x628abed2, 0x6b073427, 0x08c8da10]#文件的CRC32值列表,注意顺序     comment = ''     chars = string.printable     for crc_value in crc_list:         for char1 in chars:             for char2 in chars:                 for char3 in chars:                     for char4 in chars:                         res_char = char1 + char2 + char3 + char4#获取遍历的任意4Byte字符                         char_crc = binascii.crc32(res_char.encode())#获取遍历字符的CRC32值                         calc_crc = char_crc & 0xffffffff#将遍历的字符的CRC32值与0xffffffff进行与运算                         if calc_crc == crc_value:#将获取字符的CRC32值与每个文件的CRC32值进行匹配                             print('[+] {}: {}'.format(hex(crc_value),res_char))                             comment += res_char     print('-----------CRC Crack Completed-----------')     print('Result: {}'.format(comment))
if __name__ == '__main__':     crack_crc()   结果如下: moectf{qwq_crc!}

标签:__,crc,--,res,chars,MISC,char,CRC32,crc32
From: https://www.cnblogs.com/GGbomb/p/17794179.html

相关文章

  • 每日随笔——使用 Spark Shell 编写代码
    安装完spark之后,学习使用SparkShell编写代码默认spark已经安装成功,且环境变量已经配置完成启动SparkShellcd/export/server/sparkbin/spark-shell 加载文本文件valtextFile=sc.textFile("file://export/server/spark/README.md")退出SparkShellquit ......
  • 2023Fal-操作系统-Chapter3-处理机调度与死锁
    本文为笔者的课程学习记录,用于复习与查阅,如有错误,烦请指正。01处理机调度的层次和调度算法的目标1.1何为调度?在多道程序系统中,调度的实质是一种资源分配,处理机调度是对处理机资源进行分配。1.2何为调度算法?处理机调度算法是指根据处理机分配策略所规定的处理机分配算法。......
  • 21.10 Python 使用CRC32校验文件
    CRC文件校验是一种用于验证文件完整性的方法,通过计算文件的CRC值并与预先计算的CRC校验值进行比较,来判断文件是否发生变化,此类功能可以用于验证一个目录中是否有文件发生变化,如果发生变化则我们可以将变化打印输出,该功能可用于实现对特定目录的验证。首先实现文件与目录的遍历功......
  • 每日随笔——Spark
    今天学习如何使用Spark技术。一、下载spark下载spark-3.4.0-bin-without-hadoop.tgz文件,百度网盘链接:https://pan.baidu.com/s/181shkgg-i0WEytQMqeeqxA(提取码:9ekc)二、安装hadoop和Javajdk(这些在之前博客中已经发布,默认已经安装成功)三、安装sparksudotar-zxf/export/ser......
  • CSP2023好
    好,CSP好呀Beforecsp考前最后一次联考(信心赛)自信以为ak提前出教室结果挂在了一道出锅的题对,没错,真的不理解为什么没有人想到很容易的hack然后良心的出题人就把题目改回原题了对然后\(luogu\)冲了一个智者的强迫症A题数量然后就去吃了一顿牛状元然后\(mi\)哥点了一个......
  • 做点数学题。
    \(\mathit1\)题意:给定长度为\(n\)的序列\(a\),\(m\)次询问,每次给定\(l,r\)和\(k\),求\(\sum\limits_{i=l}^ra_i\left(\begin{matrix}i-l\\k\end{matrix}\right)\)的值。\(1\len,m,\sumk\le10^5\)。模数为素数。我们先思考\(\sumk\le10^5\)这个限制。容易让人联想......
  • javaweb--JDBC入门
    packagecom.avb.jdbc;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.Statement;publicclassjdbcdemo{publicstaticvoidmain(String[]args)throwsException{//注册驱动Class.forName("com.mysql.jdbc.D......
  • 第一篇文章
    Markdown学习标题三级标题四级标题1.#+空格为一级标题,以此类推###+空格为三级标题字体Hello.World!Hello.World!Hello.World!Hello.World!引用大于号为引用选择分割线---或***为分割线图片 !+[图片名字]+()+图片路径为插入图片超链接点击跳转到我的博......
  • Linux中设置NTP时间同步服务器的方法
    概括:在Linux中设置NTP时间同步服务器是确保多台主机之间时间同步的重要步骤。本文将从四个方面详细阐述Linux中设置NTP时间同步服务器的方法,包括安装NTP、配置NTP客户端、配置NTP服务器以及常见问题及其解决方法。1、安装NTP安装NTP是为了确保Linux主机能够正常运行时间同......
  • 手撕Vuex-实现共享数据
    经过上一篇章介绍,完成了添加全局$store,接下来就是实现共享数据的功能。在Vuex中,共享数据是通过state来实现的,所以我们需要在Nuex.js文件中实现state的功能。在Vuex中,state是一个对象,这个对象中存放的就是我们的共享数据,所以我们需要在Nuex.js文件中定义一个state......