一.无壳,拖入ida,静态编译一下



整体逻辑还是很清晰,这里我的盲区是那个加密函数,是md5,没看出来,内存地址看错了,之前用黑盒动调一下,发现猜不出来,看某位wp发现有的老哥,直接sha1爆破的,狠人,hash加密,其实容易去想到md5,所以拿字符串去解密一下,发现得到了第一个空的答案,



接下来分析出现了下一个md5爆破不出来,这应该是出题人设置的坑了,这时候继续看下来,有个关键函数,发现只要把这个函数逆向一下,不就出来了吗,点击进去

FindResourceA:找到模块中的资源,这句话是找到AAA类型的叫0x65的资源
SizeRecource:根据名字也容易知道函数返回的是字节数
LockResource:返回资源地址

发现还有一个函数,点击再进去。



发现是异或,同时在联系上面的if语句,能知道资源和输入的字符串异或后,为了创建RTF文件,将资源再输入进去,为了保证创建成功所以,必须符合格式,所以RTF文件的文件头是个关键,再异或回去就是,因为我们只需要6位,所以取前六位就好了。

这是rtf的文件格式



写个脚本就出来了:

res=[0x05,0x7D,0x41,0x15,0x26]
rtft = '{\\rtf1'
flag=""
for i in range(len(res)):
flag+=chr(res[i]^ord(rtft[i]))
print(flag)

第一个空是123123

第二个空是~!3a@

本地会生成rtf文件,里面是flag。

buu crackRTF的更多相关文章

  1. Buu刷题

    前言 希望自己能够更加的努力,希望通过多刷大赛题来提高自己的知识面.(ง •_•)ง easy_tornado 进入题目 看到render就感觉可能是模板注入的东西 hints.txt给出提示,可以看 ...

  2. BUU刷题01

    [安洵杯 2019]easy_serialize_php 直接给了源代码 <?php $function = @$_GET['f']; function filter($img){ $filte ...

  3. buu学习记录(上)

    前言:菜鸡误入buu,差点被打吐.不过学到了好多东西. 题目名称: (1)随便注 (2)高明的黑客 (3)CheckIn (4)Hack World (5)SSRF Me (6)piapiapia ( ...

  4. [BUUCTF]REVERSE——CrackRTF

    CrackRTF 附件 步骤: 例行查壳儿,32位程序,无壳儿 32位ida载入,main函数开始分析程序 破解第一个密码 sub_40100A()是一个加密函数,具体的写的算法没去分析,但是Cryp ...

  5. BUU XSS COURSE 1 & [CISCN2019 华东北赛区]Web2

    BUU XSS COURSE 1 & [CISCN2019 华东北赛区]Web2 XSS的题目没怎么做过,比赛基本上也没有(=_=),总结下今天做的两题 都是看赵总视频现学现做的,这里附上学习 ...

  6. BUU [GKCTF 2021]签到

    BUU [GKCTF 2021]签到 1.题目概述 2.解题过程 追踪HTTP流 在下面发现了一串可疑字符 Base16转base64 放到010里看看 复制下来,去转字符 好像不是,再回去找找其他的 ...

  7. Buuctf | BUU LFI COURSE 1

    跟着赵师傅学CTF,这里是我的学习记录 ?file=/flag ?file=/var/log/nginx/access.log :包含ngnix的日志记录 在user-agent里面插入 :bbbbb ...

  8. buu Crypto 刷题记录

    1.MD5 直接解. 2.url编码 直接解. 3.一眼就解密 base64. 4.看我回旋踢 对文本内容全部CaesarDecode. 5.摩丝 直接MorseDecode. 6.Quoted-pr ...

  9. BUU re xor

    从13行和18行的0x21(c规定十六进制必须用0x**表示)可以知道这个字符串就是33个字符 shift+e来提取出数组中的字符: 设这个数组是global数组 global[] = { 102, ...

随机推荐

  1. 使用Apache Pulsar + Hudi构建Lakehouse方案了解下?

    1. 动机 Lakehouse最早由Databricks公司提出,其可作为低成本.直接访问云存储并提供传统DBMS管系统性能和ACID事务.版本.审计.索引.缓存.查询优化的数据管理系统,Lakeho ...

  2. Qt 圆角按钮,面版自动布局

    一.前言 在部分界面开发中,有时需要动态添加控件或按钮到面板中,在不需要时又需要删除该控件,故模仿视频开发中的设置屏蔽词,通过自己绘制的按钮与排布面板控件实现. 实现效果如下: 说明: 1.输入框可设 ...

  3. SQL进阶总结(二)

    2.第二个特性----以集合为单位进行操作 在我们以往面向过程语言不同,SQL是一门面向集合的一门语言.由于习惯了面向过程的思考方式,导致我们在使用SQL时往往也陷入之前的思维定式. 我们现在分别创建 ...

  4. 【NX二次开发】获取面的类型 UF_MODL_ask_face_type

    源码: extern DllExport void ufsta(char *param, int *returnCode, int rlen) { UF_initialize(); int face_ ...

  5. .NET平台系列31:.NET团队送给.NET开发人员的云原生学习资源汇总

    系列目录     [已更新最新开发文章,点击查看详细] .NET Core 启动于2016年,跟K8S同年诞生,既拥有着悠久的历史积累,又集成了当下最新的设计理念,加上.NET团队持续对容器技术的官方 ...

  6. 01 . Varnish简介,原理,配置缓存

    简介 Varnish是高性能开源的反向代理服务器和HTTP缓存服务器,其功能与Squid服务器相似,都可以用来做HTTP缓存.可以安装 varnish 在任何web前端,同时配置它缓存内容.与传统的 ...

  7. 十亿级流量下,我与Redis时延小突刺的战斗史

    一.背景 某一日收到上游调用方的反馈,提供的某一个Dubbo接口,每天在固定的时间点被短时间熔断,抛出的异常信息为提供方dubbo线程池被耗尽.当前dubbo接口日请求量18亿次,报错请求94W/天, ...

  8. 「模拟8.23」阴阳 DP

    对于此题的性质我们考虑DP 分四种情况 黑色块在右侧单调降,单调升 还有在左侧 另外我们这样可能会记重,所以还要将重复记过的也就是边界线是横的和竖的 然后还要将全白全黑加上 1 #include< ...

  9. Android开发问题之Installation failed due to invalid URI!

    真机调试遇到以下问题: [2017-07-20 13:43:53 - VCL02PANEL] Installation failed due to invalid URI![2017-07-20 13 ...

  10. 从0到1用react+antd+redux搭建一个开箱即用的企业级管理后台系列(基础篇)

    背景 ​ 最近因为要做一个新的管理后台项目,新公司大部分是用vue写的,技术栈这块也是想切到react上面来,所以,这次从0到1重新搭建一个react项目架子,需要考虑的东西的很多,包括目录结构.代码 ...