当前位置: 首页 > article >正文

re学习(15)BUUCTF 2019红帽杯easyRe

参考视频:

【BUUCTF】每天一个CTF11“2019红帽杯easyRe”_哔哩哔哩_bilibili

(本人觉得看视频比看博客效率能提高十倍,呜呜呜,还是视频香~~~与君共勉)

下载地址:

BUUCTF在线评测

前言:虽然带有easy,但是并不是那么easy。CTF偏向于算法,实战偏向于程序逻辑,执行的流程

刷题所得:

AB键将转伪代码,与空格键配合使用

0→字符串的结束标志,查看字符串结尾

Shift+e:导出数据,提取数据

X;交叉引用,寻找哪个函数用了这段数据

*号键:可以创建数组,规定数组大小

题解:
1.ida64打开

                                                  (建议多看汇编,少看伪代码 )

                                       (CTF解题大概就在这个函数里面了)

 

   (推测flag可能在off_6CC090中)

 进入off_6CC090,进行base64解密

 

import base64

encData='Vm0wd2VHUXhTWGhpUm1SWVYwZDRWVll3Wkc5WFJsbDNXa1pPVlUxV2NIcFhhMk0xVmpKS1NHVkdXbFpOYmtKVVZtcEtTMUl5VGtsaVJtUk9ZV3hhZVZadGVHdFRNVTVYVW01T2FGSnRVbGhhVjNoaFZWWmtWMXBFVWxSTmJFcElWbTAxVDJGV1NuTlhia0pXWWxob1dGUnJXbXRXTVZaeVdrWm9hVlpyV1hwV1IzaGhXVmRHVjFOdVVsWmlhMHBZV1ZSR1lWZEdVbFZTYlhSWFRWWndNRlZ0TVc5VWJGcFZWbXR3VjJKSFVYZFdha1pXWlZaT2NtRkhhRk5pVjJoWVYxZDBhMVV3TlhOalJscFlZbGhTY1ZsclduZGxiR1J5VmxSR1ZXSlZjRWhaTUZKaFZqSktWVkZZYUZkV1JWcFlWV3BHYTFkWFRrZFRiV3hvVFVoQ1dsWXhaRFJpTWtsM1RVaG9hbEpYYUhOVmJUVkRZekZhY1ZKcmRGTk5Wa3A2VjJ0U1ExWlhTbFpqUldoYVRVWndkbFpxUmtwbGJVWklZVVprYUdFeGNHOVhXSEJIWkRGS2RGSnJhR2hTYXpWdlZGVm9RMlJzV25STldHUlZUVlpXTlZadE5VOVdiVXBJVld4c1dtSllUWGhXTUZwell6RmFkRkpzVWxOaVNFSktWa1phVTFFeFduUlRhMlJxVWxad1YxWnRlRXRXTVZaSFVsUnNVVlZVTURrPQ== '
for i in range(10):
    encData=base64.b64decode(encData)
print(encData)

然后怎么办呢?遇到了困难,请教别人,别人根据经验.........

 

 

                           (从flag开始 两次异或)

key='flag'
encKey=[0x40, 0x35, 0x20, 0x56]
for i in range(len(encKey)):
    encKey[i]^=ord(key[i%4])
encData=[
  0x40, 0x35, 0x20, 0x56, 0x5D, 0x18, 0x22, 0x45, 0x17, 0x2F,
  0x24, 0x6E, 0x62, 0x3C, 0x27, 0x54, 0x48, 0x6C, 0x24, 0x6E,
  0x72, 0x3C, 0x32, 0x45, 0x5B
]
for i in range(len(encData)):
    print(chr(encData[i]^encKey[i%4]),end='')
#flag{Act1ve_Defen5e_Test}

 

 


http://www.kler.cn/a/37286.html

相关文章:

  • 常用化合物谱图数据库查询系统-40个软件免费查!
  • 四、评估已建立的模型
  • 如何系统学习分布式?
  • Flink实时任务性能调优
  • 复习java基础
  • 中国移动光猫设置桥接
  • C++结合EasyX写扫雷(new)
  • window.getComputedStyle
  • 【Linux后端服务器开发】管道设计
  • 2023大数据面试总结
  • 【C#】并行编程实战:同步原语(1)
  • jquery html特殊字符反转义,JS - 实现HTML标签的转义、反转义的几种方法
  • Boundless Hackathon @Stanford 主题黑客松活动闭幕,一文回顾
  • 解决小程序 scroll-view 里面的image有间距、小程序里面的图片之间有空隙的问题。
  • 自然语言处理从入门到应用——LangChain:快速入门-[链(Chains)、代理(Agent:)和内存(Memory)]
  • 二维码识别 OCR 原理及如何应用于物流和仓储管理中
  • “简单易懂的排序:深入了解直接选择排序“
  • msvcp140.dll是什么文件?如何修复丢失的msvcp140.dll文件
  • 【C++】STL之string功能及模拟实现
  • vue中给数字新增四舍五入属性