-
-
[原创][2021][KCTF]第八题 众叛亲离wp
-
发表于: 2021-5-23 14:01 3530
-
定位输入:
00402E75 PUSH 蓝色窗帘.004253CC ; ASCII " name:" 00402E7A CALL 蓝色窗帘.0041C33F 00402E7F PUSH 蓝色窗帘.00425490 00402E84 LEA EAX,DWORD PTR SS:[ESP+478] 00402E8B PUSH 11 00402E8D PUSH EAX 00402E8E CALL 蓝色窗帘.0041C22F ;读取name 00402E93 PUSH 蓝色窗帘.00425490 00402E98 CALL 蓝色窗帘.0041C122 00402E9D PUSH 蓝色窗帘.004253C0 ; ASCII " serial:" 00402EA2 CALL 蓝色窗帘.0041C33F 00402EA7 PUSH 蓝色窗帘.00425490 00402EAC LEA ECX,DWORD PTR SS:[ESP+4AC] 00402EB3 PUSH 28 00402EB5 PUSH ECX 00402EB6 CALL 蓝色窗帘.0041C22F ; 读取serial 00402EBB PUSH 蓝色窗帘.00425490 00402EC0 CALL 蓝色窗帘.0041C122 00402EC5 LEA EDI,DWORD PTR SS:[ESP+4B8] 00402ECC OR ECX,FFFFFFFF 00402ECF XOR EAX,EAX 00402ED1 ADD ESP,28 00402ED4 REPNE SCAS BYTE PTR ES:[EDI] 00402ED6 NOT ECX 00402ED8 DEC ECX 00402ED9 CMP ECX,20 ; serial长度判断 00402EDC JGE SHORT 蓝色窗帘.00402F14
定位结果判别:
0041A99C XOR EAX,EAX 0041A99E LEA ECX,DWORD PTR DS:[EDI+2011] 0041A9A4 POP EBP 0041A9A5 XOR EDX,EDX 0041A9A7 MOV DH,BYTE PTR DS:[ECX-1] ; 当16字节结果是{0,0,0,1,0,2,0,3,0,4,0,5,0,6,0,7}就成功了 0041A9AA MOV WORD PTR DS:[42803E],DX 0041A9B1 MOVZX SI,BYTE PTR DS:[ECX] 0041A9B5 OR DX,SI 0041A9B8 MOV WORD PTR DS:[42803C],AX 0041A9BE CMP DX,AX 0041A9C1 MOV WORD PTR DS:[42803E],DX 0041A9C8 JNZ SHORT 蓝色窗帘.0041AA04 0041A9CA INC EAX 0041A9CB ADD ECX,2 0041A9CE CMP EAX,8 0041A9D1 JL SHORT 蓝色窗帘.0041A9A5 0041A9D3 PUSH 蓝色窗帘.00425030 ; ASCII " right " 0041A9D8 CALL 蓝色窗帘.0041C33F
看起来像个虚拟机的,先试试有没有捷径
输入32个字符,16进制转成16个字节
首先测试一下相关性,改掉一个输入字节,发现最后结果也只改变一个字节,而且位置向对应
这就好办了,明显可以单字节逐个穷举,而且可以16个字节同时进行,最多256次循环搞定
最后得到:
85A4A5E45B3B9227E3FD715E80BC999B
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2021-5-23 14:02
被ccfer编辑
,原因:
赞赏
他的文章
看原图
赞赏
雪币:
留言: