{"id":20884733,"url":"https://github.com/aabysszg/crc32-tools","last_synced_at":"2025-05-12T18:31:33.730Z","repository":{"id":59613955,"uuid":"538097416","full_name":"AabyssZG/CRC32-Tools","owner":"AabyssZG","description":"Easy CRC32 Tools，so easy！！！","archived":false,"fork":false,"pushed_at":"2023-11-10T02:46:09.000Z","size":620,"stargazers_count":164,"open_issues_count":1,"forks_count":15,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-01T10:04:12.916Z","etag":null,"topics":["crc","crc32"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AabyssZG.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-18T12:09:14.000Z","updated_at":"2025-03-29T14:12:53.000Z","dependencies_parsed_at":"2024-11-18T08:11:16.390Z","dependency_job_id":"6f565b3b-8abc-431c-ba42-24a34c11a096","html_url":"https://github.com/AabyssZG/CRC32-Tools","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AabyssZG%2FCRC32-Tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AabyssZG%2FCRC32-Tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AabyssZG%2FCRC32-Tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AabyssZG%2FCRC32-Tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AabyssZG","download_url":"https://codeload.github.com/AabyssZG/CRC32-Tools/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253798103,"owners_count":21966008,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["crc","crc32"],"created_at":"2024-11-18T08:11:03.631Z","updated_at":"2025-05-12T18:31:33.207Z","avatar_url":"https://github.com/AabyssZG.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CRC32-Tools_整合版\n## 一款CTFer专属的CRC碰撞全自动化脚本（单脚本整合版）\n\n## 1#关于该项目\n在我们日常的CTF比赛中，通常会遇到压缩包破解的问题。其中重要的一个操作就是通过CRC碰撞来获取压缩包内小文件的内容，从而尝试解密压缩包\n而我在实际的CTF比赛中，发现常用的CRC的爆破脚本并不好用（主要是还需要一些人工操作，如果压缩包内的文件较多，非常麻烦），就萌生了自己写一个自动化CRC碰撞脚本出来的想法\n\n本项目的特点：\n- 适配性高，能方便运行于Python3环境\n- 操作简单，适合CTFer上手，可自动化通过CRC碰撞获取内容\n- 傻瓜式操作，只需要输入同目录下的压缩包文件名即可\n- 更新了整合版，支持Tab补全文件名，更加方便操作\n- 更新了文件检测，对于不存在的文件或者无法解读的压缩包进行函数跳出并输出错误\n\n## 2#使用方式\n在大部分的CTF比赛中，考题一般都会考察内容为1Byte/2Byte/3Byte/4Byte的CRC碰撞，所以目前我就写了这四个版本，如果后面有需求，我会优化或者写其他的版本\n\n**目前，该项目已经更新至2.3版本，分为单文件版和整合版**\n\n### 单文件版\n单文件版在本项目/SingleFile_Version文件夹中，包含5个Python脚本：\n```\nReadZip.py：自动读取压缩包内各个文件的CRC值并导出（下面几个脚本均内置了该功能，只是拿出来方便看罢了）\n1Byte-CRC.py：自动读取目标压缩包文件，并自动进行1Byte的CRC碰撞并输出文件内容\n2Byte-CRC.py：自动读取目标压缩包文件，并自动进行2Byte的CRC碰撞并输出文件内容\n3Byte-CRC.py：自动读取目标压缩包文件，并自动进行3Byte的CRC碰撞并输出文件内容\n4Byte-CRC.py：自动读取目标压缩包文件，并自动进行4Byte的CRC碰撞并输出文件内容\n```\n单文件版的使用，请看/SingleFile_Version/README.md说明文档\n\n### 整合版\n整合版即本项目的CRC32-Tools.py，将多个功能整合到一个Python脚本中\n\n整合版参数如下：\n```\n\u003epython3 CRC32-Tools.py -h\nusage: CRC32-Tools.py [-h] [-z READZIP] [-1 ONEBYTE] [-2 TWOBYTE] [-3 THREEBYTE] [-4 FOURBYTE]\n\noptional arguments:\n  -h, --help    show this help message and exit\n  -z READZIP    读取对应压缩包，输出各个文件CRC值列表\n  -1 ONEBYTE    对1Byte的压缩包自动进行CRC碰撞并输出文件内容\n  -2 TWOBYTE    对2Byte的压缩包自动进行CRC碰撞并输出文件内容\n  -3 THREEBYTE  对3Byte的压缩包自动进行CRC碰撞并输出文件内容\n  -4 FOURBYTE   对4Byte的压缩包自动进行CRC碰撞并输出文件内容\n```\n**使用场景：当你拿到一道压缩包题目，发现压缩包内有多个同样大小的小文件，基本就可以确定为CRC碰撞了**\n![DemoZip](./DemoZip.png)\n**根据压缩包内文件的大小，选用CRC32-Tools.py的-4参数进行运行即可**\n\n![Demo](./Demo-4Byte-Run.png)\n**如果各位师傅觉得这个工具好用，麻烦给个Star，万分感谢！！！**\n\n## 3#注明\n- 本项目仅用作CTF学习交流，本人一概不负任何责任\n- 这是我参加某次比赛时候，遇到CRC碰撞题目临时做的脚本，本身并没有做多线程或者优化，碰撞速度并不是很快（后面版本考虑优化速度）\n- 本人CTF实力挺菜的（真的），所以别找我帮你们看题目，哈哈\n- 感谢各位师傅的关注和支持，对本项目的Demo.zip解密有惊喜哦，哈哈\n- **如果各位师傅觉得这个工具好用，麻烦给个Star，万分感谢！！！**\n- 如果在使用过程中有问题，欢迎各位师傅提issues给我哈\n\n## 项目 Star 数量统计趋势图\n\n[![Star History Chart](https://api.star-history.com/svg?repos=AabyssZG/CRC32-Tools\u0026type=Date)](https://star-history.com/#AabyssZG/CRC32-Tools\u0026Date)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faabysszg%2Fcrc32-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faabysszg%2Fcrc32-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faabysszg%2Fcrc32-tools/lists"}