首页
社区
课程
招聘
[讨论]ctf第二题
2017-10-28 00:26 2253

[讨论]ctf第二题

2017-10-28 00:26
2253
OD打开找到main

在IDA中查看两个检查函数00401090和004010E0,

经过运算,只算最后4位,方程1和方程2得出的最后4位不同,所以这里是假的。。。
另外看到输入函数没有检查字符串的长度,推测是栈溢出到真实的解密代码。
在IDA中大致浏览整个程序,发现在0x413131处的数据很可疑,像是花指令或者加密之后的代码。
故将输出前12位任意,第13位开始输入11A,则溢出返回到0x413131处。
在OD中溢出到0x413131处,再F8单步后,发现都是跳转,最后可以跳回0x40103F处,即报错提示处,故可以肯定确实是该处有花指令。
再从0x413131处仔细来过,一步一步F8,将其中的真实代码抠出,发现前12位分为3块分别存放在ecxebx和edx中,故可设为xyz11A。
且在sub eax,imm32时,下面接着je和jne,便在此处将eax值改为立即数的值。这样的地方共有3处。
如此,最后确实跳到了0x40102F处。
故最后剩下的只剩解之前的3个方程,3个未知数。
解完之后换回ascii,可得结果为Just0for0fun11A。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
点赞1
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回