首页
社区
课程
招聘
[原创]第二题WriteUp
发表于: 2017-10-27 22:29 2865

[原创]第二题WriteUp

2017-10-27 22:29
2865
非常坑爹的题目……
乍一看程序流程很清晰,输入一个字符串,拆成两段,对对应的两个整数进行二元一次线性运算并比对。
使用z3解方程,然而……解出来带小数

改变思路,输入的字符到第12个字符以后,会栈溢出,覆盖返回地址,从而控制程序流程。
正好程序从0x413131开始,有大段的代码没有用到,故输入随便12个字符+11A来跳转。
从413131开始先是重新开了一个栈,然后有大量的跳转和花指令,故利用IDA的Trace来跟踪程序真实流程。

第一个真正的check点
设三段对应的整数分别为x, y, z, 有
(x - y) * 4 + x + z == 0xEAF917E2
构造一组满足不定方程的解,继续跟踪


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

收藏
免费 1
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//