记去花指令有感——newstarctf2024-week3-re-flowering_shrubs

今晚也是在学习逆向的路上有了一个小小的收获,花了一个晚上细细的品鉴一些师傅关于花指令的文章,感觉收益匪浅(昨晚也因为花指令的re感觉有些小崩溃,都有点想撂挑子走人了(哈哈哈哈自嘲一下))

言归正传,之前做花指令都是自己乱nop,看运气成功了的话就皆大欢喜,没成功就只能老老实实去看其他师傅的wp,但是最后也没有好好总结,只是懂个大概就略过这个知识点直接去逆了。

现在讲讲我对于这个newstarctf的花指令的理解

这边爆红了,可以看到这边有很多push,应该是为了下面的call做铺垫

call $+5-->>11FF+5(B)=1204

将retaddr压入栈,并且跳到1204:

pop rbx   将栈顶的值存入rbx(也就是将返回的地址值存入rbx)

然后执行add     rbx, (offset sub_1216 - offset loc_1204),相当于就是把

rbx存储的地址值加上0x12,也就是1204+12=1216

现在就猜想其实这个call(中间的一大堆)没啥作用,nop掉后也是直接运行1216处的指令,到这也就有些豁然开朗了

mov     [rsp+30h+var_18], rbx,把rbx(1216)存储的值赋给[rsp+30h+var_18],这个估计就是存放返回地址值的地方了//这步感觉挺关键

最后也就ret到1216处了。

哈哈,对于花指令也是有一些些理解了,虽然可能比较简单(师傅们轻点喷),现在还是个小菜鸡,还得慢慢学唉!!!之前都不怎么分析汇编,还是因为恐惧哇,汇编真的太抽象,不过,汇编还是最本质的!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值