HDCTF2019_MFC

[HDCTF2019]MFC

打开是一个32位MFC

image-20221214212047241

提示说在控件里面,用xspy打开

可以发现在handle后面跟了一串16进制字符串

944c8d100f82f0c18b682f63e4dbaa207a2f1e72581c2f1b

而且还有个奇怪的消息函数

image-20221214212401752

写脚本触发消息函数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <Windows.h>

using namespace std;

int main(){
HWND h = FindWindowW(NULL, L"Flag就在控件里");
if(h) {
SendMessage(h, 0x0464, 0, 0);
}
else {
cout << "no" << endl;
}
}

成功获得key

image-20221214212707630

py解密

1
2
3
4
5
6
7
8
9
10
from Crypto.Cipher import DES
from Crypto.Util.number import long_to_bytes

# 注意DES加密的key是8的倍数位
key = b"{I am a Des Key}"[:8]
c = 0x944c8d100f82f0c18b682f63e4dbaa207a2f1e72581c2f1b

x = DES.new(key, DES.MODE_ECB)
ans = x.decrypt(long_to_bytes(c))
print(ans)
1
b'thIs_Is_real_kEy_hahaaa\x00'