-
-
KCTF2019Q4 第四题 西部乐园
-
发表于: 2019-12-7 14:57 3516
-
1. sys
根据传入的pass, 解密传入的shellcode, 并执行
解密算法: 1400015A0
ida抠出来直接用void x_decrypt_shellcode(PBYTE buf, int len, int pass);
解密成功的条件
struct IOStuff { char *out_buf; void *fn_wrong; DWORD64 pid; DWORD64 pass; char shellcode[0xE7]; }; DWORD enc_size = InputBufferLength - (plain_size + 0x24); x_decrypt_shellcode(&io->shellcode[plain_size + 4], enc_size, pass); if ( *&io->shellcode[plain_size + 4] == enc_size )
struct IOStuff { char *out_buf; void *fn_wrong; DWORD64 pid; DWORD64 pass; char shellcode[0xE7]; }; DWORD enc_size = InputBufferLength - (plain_size + 0x24); x_decrypt_shellcode(&io->shellcode[plain_size + 4], enc_size, pass); if ( *&io->shellcode[plain_size + 4] == enc_size )
2. exe
shellcode起始: 1400060B0
shellcode大小: 231
shellcode加密部分起始: 140006151+4
shellcode加密部分大小: 0x42
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)
赞赏
他的文章
- KCTF2022春季赛 第三题 石像病毒 8855
- KCTF2022春季赛 第二题 末日邀请 16176
- KCTF2021秋季赛 第二题 迷失丛林 18803
- KCTF2020秋季赛 第十题 终焉之战 8862
- KCTF2020秋季赛 第九题 命悬一线 6462
看原图
赞赏
雪币:
留言: