题目大致意图是:解密CTF.ctf文件,然后再从中找到flag。

由于.ctf文件损坏,并且解密程序可以判断.ctf文件损坏,因此首先选择逆向这个判断条件。

由于有打开文件的操作,所以可以ollydbg打开,找到CreateFile函数下断点

F9在CreateFile函数停止,发现下面有一串Readfile函数,这个函数被多次调用。显然是在读取文件中的信息。

找到离我们最近的一个ReadFile函数进行查看。

读完这个文件的头四个数据之后就直接开始判断文件是否符合条件了。从上图很容易看到解密程序判断.ctf文件的条件是看前4个字节是否为0x33465443,所以我们把这四个字节补进文件头部即可。注意一下小端序

补全文件头之后,用ida打开找到相应的地方。发现一共有这几个ReadFile函数

大致流程是:
1.读4个字节,这四个字节当作文件头(即刚才我们补进去的四个字节)

2.读4个字节,得到一个数a。

3.读a个字节,得到一串东西不知道干嘛的。

4.读16个字节,作为key进行校验。

5.读4个字节,当作读取文件数据的字节数b。

6.读b个字节,为文件数据,猜测和对文件的解密有关。

16进制编辑器将.ctf文件打开

知道数据总长度为0x61C0,而上图中有一个0x619C很接近数据的总长度,比较可疑。

计算发现0x619C之后的文件数据长度刚好为0x619C字节,因此可以知道0x619C为读取的文件字节数b。

那么说明0x619C前面6个字节的就是16个字节的key的后六位,我们查看一下和校验有关的函数

可以搜常数,发现是一个md5,并且对我们输入的加密密码执行了md5加密两次,然后再和.ctf文件中的key进行逐位验证。

题目中说明了是8位纯数字,因此我们跑脚本即可,算出来解密密码为20160610,然后我们把文件补全。

注意从文件开始的第5个字节,因为后面的长度都已知,因此可以推断出第二次Readfile得到的值为0x11

输入正确的key之后可以进行解密文件了,但是会弹出错误窗口,仔细看发现CTF\之后的路径没有名字,而我们文件的头部正好还有一块是没填充的,所以有理由相信这一块是解密后文件的名称,所以我们再修改一下文件头。

比如我在后面填上99,那么文件就会被解密到名为99的文件中,查看发现99文件是PK,所以加后缀名.rar,打开之后某个文件夹中会有一个图片格式的文件,点开就能有flag

CTF-RE-文件数据修复相关推荐

  1. 效率源技术视界I最新:视频文件数据修复方法

    你了解视频文件吗? 视频(Video)泛指 将一系列静态影像以电信号的方式 加以捕捉.记录.处理. 储存.传送与重现的各种技术. 连续的图像变化每秒 超过24帧(frame)画面以上时, 根据视觉暂留 ...

  2. 服务器的表格修复原来的内容,数据恢复 数据修复 远程数据恢复 EXCEL文件修复 XLS表格修复 WORD文档修复 DOC档案修复 - 慧龙软件服务中心...

    深圳市慧龙软件服务中心数据恢复服务项目 一.照片数据恢复,找回丢失的照片文件 可恢复的照片文件格式包括JPG.CR2.NEF.DNG.ARW.ORF.PEF.RAW.SR2.RAF.X3F等. 二.视 ...

  3. origin修复中_从Word文档中的Origin图恢复误删的Origin文件数据的方法

    在平时工作中,由于不小心将原始的Origin文件删掉了或找不到了,万幸的是Word文件中还有一份图,如何恢复数据呢?本文就教大家一种从Word文档中的Origin图恢复误删的Origin文件数据的方法 ...

  4. aac文件损坏修复软件_SysTools Outlook Recovery Tool : 修复损坏的Outlook PST文件的先进的软件...

    SysTools Outlook Recovery Tool 修复损坏的Outlook PST文件的先进的软件&恢复丢失的Outlook电子邮件.联系人.日历.笔记.任务.日记.附件--邮箱数 ...

  5. 引导修复 不是活动的_河南省视频数据修复中心

    河南省视频数据修复中心 lk6afds 河南省视频数据修复中心 文件预览我找到了我要恢复文件,可是,这个文件能能正确恢复呢.没有用的文件不可以删掉吗.我们先来看看盘文件夹都是什么吧.(以下仅限于~系统 ...

  6. 从微盟删库事件谈数据修复的技术原理与时效挑战

    作者 | 赵榛 封图 | CSDN付费下载于视觉中国 微盟删库事件至今发生已快1周时间,根据微盟公告介绍,官方正在紧锣密鼓的进行着数据恢复工作.本篇文章,联想数据恢复中心专家赵榛为这次的数据恢复工作做 ...

  7. linux打包文件恢复,修复损坏的gz或tar.gz压缩文件之原理篇

    引言:UNIX/LINUX下大多数都是用gzip格式来做文件的压缩方案的,而gzip文件损坏的情况也屡见不鲜,常见的有遇到坏扇区.压缩进程io阻塞,或恢复后的压缩文件被破坏等.因近期有做关于gzip文 ...

  8. SONY索尼PXW-X280摄像机断电MXF/RSV视频文件损坏修复技术

    MXF视频文件简介 MXF是素材交换格式Material eXchange Format的首字母缩写.MXF是美国电影与电视工程师学会组织(SMPTE)定义的一种专业音视频媒体文件格式.MXF格式视频 ...

  9. Android工具修复属性,Broken Android Data Extraction(安卓数据修复工具) V3.0.20 官方版

    其他相关 Broken,Android,Data,Extraction_百度搜索if(window.bds&&bds.util&&bds.util.setContain ...

  10. 一种通过篡改特定代码数据修复嵌入式产品BUG的方法

    一.前言 在嵌入式产品开发中,难以避免地会因为各种原因导致最后出货的产品存在各种各样的BUG,通常会给产品进行固件升级来解决问题.记得之前在公司维护一款BLE产品的时候,由于前期平台预研不足,OTA参 ...

最新文章

  1. 巧用close_trace命令释放误删trace文件
  2. matlab 斐波那契数列Fibonacci Sequence
  3. (原创)惠州市惠阳区房价偏低的原因深入分析
  4. 02_Weblogic课程之安装篇:RedHat下JDK安装,RedHat下Weblogic安装,目录结构,环境变量设置
  5. PHP中exec()函数执行系统命令失败
  6. kotlin学习笔记——泛型及reified函数
  7. stylus之插值(Interpolation)
  8. 工欲善其事必先利其器(一)
  9. python自动生成表格_Python自动整理 Excel 表格
  10. 一起学习C语言:数组(二)
  11. C++---static关键字
  12. 盒模型bug的解决方法
  13. 使用eclipse新建一个SWT工程
  14. POJ2806 Square
  15. java中的gc是什么意思的缩写_gc是什么意思(gc是什么意思的缩写)
  16. 别人总结归纳很全的三方库
  17. 辐角原理判断点和多边形的关系
  18. 双复合摆的动力学【牛顿法---拉格朗日法】两种方式
  19. the system can not open the device or file specified解决方案
  20. ISP芯片:如何让数字之眼“看清”真实世界?

热门文章

  1. 最好的苹果清理软件之CleanMyMac
  2. 购买华为云的学生服务器对于学生是否有用?
  3. 抗击冠状病毒疫情,开发者在行动
  4. ecu故障现象_电喷发动机常见故障表现,电喷发动机ECU的常见故障有哪些
  5. Ubuntu系统下主板GPU温控pwm风扇
  6. 2021年R2移动式压力容器充装考试及R2移动式压力容器充装考试资料
  7. drawboard pdf拆分文件_Surface学术指南-Drawboard PDF篇
  8. LeetCode刷题记录---腾讯精选练习 50 题
  9. Hexo + NexT 通过自定义样式添加 Bilibili 图标
  10. 【PTA】jmu-ds-集合的并交差运算-一道神奇的题目