NSSCTF Round#17 RE snake WP

控制流劫持可以非常快,当时困在中间的循环里了,其实一直跳到最后就行……

运行一下发现是个贪吃蛇

NSSCTF Round#17 RE snake WP_第1张图片

联系到朝雾老师教的打飞机hit-plane那一题,应该通过控制流劫持直接跳转到打印flag的地方

第一个cmp分支处,判断轮数,我选择直接改rax的值

NSSCTF Round#17 RE snake WP_第2张图片

NSSCTF Round#17 RE snake WP_第3张图片

F8慢慢往下走,第二个cmp,为了防止它跳转回去,把ZF改成1直接往下走(jnz指令表示“当零标志位(ZF)为0时跳转”)

NSSCTF Round#17 RE snake WP_第4张图片

NSSCTF Round#17 RE snake WP_第5张图片

一路F8,这里打印了个success!有希望

NSSCTF Round#17 RE snake WP_第6张图片

之后可以看到fmt_Fprintf应该是打印flag的位置,下个断点直接F9

NSSCTF Round#17 RE snake WP_第7张图片

flag出来啦!

你可能感兴趣的:(c语言,汇编)