早上打MR去了,然后一上午怀疑人生,又花了两个小时调整心态,之后来DAS做了个re,顺便记录一下。

Crackme

一个32位的MFC:

随便输了点东西,确定,然后 MessageBox 弹了个 Wrong !!! 。

之后就顺着这个 wrong 在IDA里面摸到了对应的函数:

下面就是要把key先找出来,可以看到下面有用 memcmp 进行密文比较,将对应的hash值提取到在线网站(https://www.somd5.com/)进行还原。


解的key为:NocTuRne。
然后再把key扔回去,以同样的方式获取flag的密文:

最后就是参照 flag 的加密方式写一个解密就好了:

#include<Windows.h>
#include<iostream>
#include<wincrypt.h>int main() {BOOL v6; // [esp+4h] [ebp-18h]HCRYPTKEY phKey; // [esp+Ch] [ebp-10h] BYREFHCRYPTPROV phProv; // [esp+10h] [ebp-Ch] BYREFHCRYPTHASH phHash; // [esp+14h] [ebp-8h] BYREFBYTE key[] = "\x5c\x53\xa4\xa4\x1d\x52\x43\x7a\x9f\xa1\xe9\xc2\x6c\xa5\x90\x90";BYTE flag[100] = { 0x5B,0x9C,0xEE,0xB2,0x3B,0xB7,0xD7,0x34,0xF3,0x1B,0x75,0x14,0xC6,0xB2,0x1F,0xE8,0xDE,0x33,0x44,0x74,0x75,0x1B,0x47,0x6A,0xD4,0x37,0x51,0x88,0xFC,0x67,0xE6,0x60,0xDA,0x0D,0x58,0x07,0x81,0x43,0x53,0xEA,0x7B,0x52,0x85,0x6C,0x86,0x65,0xAF,0xB4};DWORD var_16 = 16;DWORD flag_len = 0x30;DWORD var_260 = 260;phProv = 0;phHash = 0;phKey = 0;v6 = CryptAcquireContextA(&phProv, 0, 0, 0x18u, 0xF0000000);if (v6){v6 = CryptCreateHash(phProv, 0x8003u, 0, 0, &phHash);if (v6){v6 = CryptHashData(phHash, key, var_16, 0);if (v6){v6 = CryptDeriveKey(phProv, 0x660Eu, phHash, 1u, &phKey);if (v6)v6 = CryptDecrypt(phKey, 0, 1, 0, flag, &flag_len);}}}if (phKey)CryptDestroyKey(phKey);if (phHash)CryptDestroyHash(phHash);if (phProv)CryptReleaseContext(phProv, 0);flag[32] = 0;cout << "flag : " << flag << endl;char xx = getchar();return EXIT_SUCCESS;
}

[Re]2022DASCTF Apr X FATE 防疫挑战赛相关推荐

  1. 2022DASCTF Apr X FATE 防疫挑战赛 部分web复现

    warmup-php 一个PHP代码审计审计题,给的代码量有点大,第一眼看下去容易劝退,分别有四个文件. Base.php<?phpclass Base {public function __g ...

  2. 2022DASCTF Apr X FATE 防疫挑战赛复现

    misc 第二题: wireshark打开直接搜字符串flag,发现4个字段含有flag,其中一个发现是zip文件,想把它提取出来, 将他数据导入一个新的zip文件,打开 在50段找到密码加密字段,找 ...

  3. 2022DASCTF Apr X FATE 防疫挑战赛

    2022DASCTF Apr X FATE 防疫挑战赛 easy_real import random import hashlib from gmpy2 import * from libnum i ...

  4. 2022DASCTF Apr X FATE 防疫挑战赛 good_luck

    这道题最开始的附件,代码是随机生成一个0~199的数,然后0触发格式化字符串漏洞,1触发栈溢出漏洞,修改后的附件随机数是0或者1 下面是脚本,脚本逻辑:通过栈溢出返回到格式化字符串漏洞函数,泄露lib ...

  5. 2022DASCTF Apr X FATE 防疫挑战赛WP

    NEFU-NSILAB下Maple战队分队于4月23日10:00 - 18:00所产 您也可以点击此处观看 文章目录 队伍信息 解题情况 Crypto special_rsa 题目 总代码 easy_ ...

  6. [MISC]2022DASCTF Apr X FATE 防疫挑战赛

    1.SimpleFlow; 2.熟悉的猫; 3.冰墩墩: 1.SimpleFlow: 下载得到SimpleFlow的压缩包,解压得到SimpleFlow.pcapng,流量分析题目.查找 flag. ...

  7. 2022DASCTF X SU 三月春季挑战赛 checkin 各种脚本学习分析

    只能溢出0x10个字节,刚好能够覆盖返回地址,所以得利用栈迁移来做 第一种:利用magic_gadget修改got表中setvbuf的值 在64位程序的_do_global_dtors_aux中有这么 ...

  8. 2022DASCTF X SU 三月春季挑战赛 web复现

    目录 ezpop Calc: Upgdstore: ezpop <?phpclass crow {public $v1;public $v2;function eval() {echo new ...

  9. 西湖论剑2022部分misc

    文章目录 签到题喵 take_the_zip_easy mp3 机你太美 签到题喵 把文件尾的16进制复制出来,再转换字符串 私信后台即可获得flag take_the_zip_easy 明文攻击 e ...

最新文章

  1. 包装类数据类型,以及数据类型之间的转换
  2. 技术开发频道一周精选2007-8-24
  3. JS中URL编码参数(UrlEncode)
  4. Windows7自带桌面截图不小心删了怎么办?
  5. ORA-28001: the password has expired
  6. 含有运算符的STRING得到计算结果,类似JS的EVAL
  7. php 实现防盗链,php中如何实现防盗链的示例
  8. 【HighCharts系列教程】一、认识Highcharts
  9. clean-css 安装 使用
  10. CAD2020操作手册
  11. 589页22万字城市智慧应急指挥中心大数据信息化系统整体设计方案
  12. 【数据结构与算法分析】——java语言描述(1)
  13. Python 时间序列数据平滑去噪 Savitzky-Golay滤波器
  14. JAVA权重计算(根据自己理解计算的,不喜勿喷)
  15. WITH TIES语句(SQL)
  16. 十分钟了解耳机的种类和优缺点
  17. 圣思园-----Java SE Lesson 7
  18. NOI的1.5.39与7无关的数
  19. JAVA之父----James Gosling(詹姆斯·高斯林)
  20. javascript百炼成仙 第一章 掌握JavaScript基础1.5基础考核

热门文章

  1. 一文搞定pandas的数据合并
  2. 牛客 古老的牛市,遗迹的天梯 dp
  3. vpb在VS2008下的配置编译
  4. 查找新式BADI的方法
  5. 股票学习大盘走势影响因素,股票学习怎么登记b股?
  6. excel减法函数_发现EXCEL隐藏功能,SUMIFS函数居然可以多条件求差值看了不后悔...
  7. 关于华三WLAN调试空口利用率居高不下的调试心得
  8. 史无前例!肝了30天,终于整出这份[分布式宝典:限流+缓存+通讯]
  9. 十二、基于多源数据建成区提取——Landsat数据多光谱、全色数据融合
  10. [CodeForces877 E. Danil and a Part-time Job]dfs序+线段树