欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

[原创]CTF2017秋季赛第二题解法

[原创]CTF2017秋季赛第二题解法

这题主要是巧妙在思路上,正常流程是,提供的8字节的缓冲区,然后满足两个函数(每个函数里标志减1,为0跳转成功),共4个二元一次方程组即成功.由于题目要求必须是字母+数字,所以穷举有3C^8次方种可能.但是出题者的本意并不是让我们这样做,不然就太low了.所以暴力搜索保存成功标志的地址,定位到乱码中,由于乱码处于代码区,所以猜测是加花了,又因为缓冲区存在溢出漏洞,移动到乱码的起始端,发现地址是0x00413131,也就是"11A",满足输入,所以真正的算法在乱码区.注册码形式是xxxxyyyyzzzz11A.还原花指令可以借助脚本,不过为了一个crackme写个脚本开销太大,所以直接动态跟就可以了

vaild_1:

00413131    83C4 F0         add esp,-0x10

00413150    33C0            xor eax,eax

00413184    A3 34B04100     mov dword ptr ds:[0x41B034],eax

004131BA    58              pop eax

004131EB    8BC8            mov ecx,eax                     		

0041321F    58              pop eax

00413254    8BD8            mov ebx,eax					

00413289    58              pop eax

004132B5    8BD0            mov edx,eax						

004132AD    8BD0            mov edx,eax

004132E2    8BC1            mov eax,ecx

00413316    2BC3            sub eax,ebx					

00413349    C1E0 02         shl eax,0x2

00413380    03C1            add eax,ecx

004133B5    03C2            add eax,edx

004133E9    2D E217F9EA     sub eax,0xEAF917E2

00413420   /0F85 DD060000   jnz ctf2017_.00413B03(fail)

vaild_2:					

00413455    03C1            add eax,ecx									

00413489    2BC3            sub eax,ebx					

004134BF    8BD8            mov ebx,eax					

004134F3    D1E0            shl eax,1				        

00413525    03C3            add eax,ebx					

00413559    03C1            add eax,ecx					

0041358F    8BC8            mov ecx,eax					

004135C3    03C2            add eax,edx					

004135F7    2D C808F5E8     sub eax,0xE8F508C8

0041362E   /0F85 CF040000   jnz ctf2017_.00413B03(fail)

vaild_3

00413665    8BC1            mov eax,ecx					

0041365D    8BC1            mov eax,ecx

004136A7    2BC2            sub eax,edx					

004136D8    2D 683C0A0C     sub eax,0xC0A3C68

00413703   /75 04           jnz short ctf2017_.00413709(fail)

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功