-
-
[原创]
-
发表于:
2019-6-10 18:27
2373
-
先上图:
第一次做ctf,感觉自己好菜。第一题就做了好几个小时。
先丢到ida中逆向分析一遍,发现了目标。想办法让它执行到这。
发现它是在异常处理模块中。
再向上看,发现在_try{}中有一个div esi,想办法让它发生除零异常就行了,即esi=0。
接着向上分析,发现sub esi eax,再想办法让esi=eax。在执行这个指令的时候,eax = 0x401353,接下来构建输入让esi也等于这个值就可。
F5大法:
找到此时构建esi的值的部分。利用python 暴力破解。
for x in range(32,126):
for y in range(32,126):
for z in range(32,126):
if x+y+z==149:
a=[x,y,z,51,53,51]
c=0
for b in range(6):
c=16*c-48+a[b]
if c==0x401353:
print(x,y,z)
最后得到两组数据,应该都可以。我挑了第二个看起来比较正常的。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)