返回信息流按照我的理解,ROP chain应该全部由内存地址组成,每个内存地址对应一个gadget
但是看到网上一个ROP的tutorial,居然有0xffffffff和0x90909090两个literal number被放到ROP chain里了
http://www.fuzzysecurity.com/tutorials/expDev/7.html
这两个数字的作用是什么呢?还是说,我对ROP chain只包含内存地址的认识是错误的?
这是一条镜像帖。来源:北邮人论坛 / security / #36923同步于 2013/11/2
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Security机器人发帖
ROP chain中的literal number是什么用的?
yegle
2013/11/2镜像同步2 回复
订阅后,新回复会通过你的通知中心匿名送达。
2 条回复
只是一个执行过程而已,主要看跳转gadget的那段代码干了什么事。0xfffffff这种只是一个占位符,对应的那段代码一般是pop xxx,会将esp降低(esp+4),下个rop gadget地址就会越过0xffffffff。
chain一定是由gadget的地址组成,但并不是桟上的每一个字都是chain的一部分。
如果gadget里面不包含修改桟帧的指令或者包含能够平衡桟帧的指令,那么桟上的shellcode就会是相互挨着的rop gadget地址。
多谢解答,明白了
【 在 guitarfeng (czf) 的大作中提到: 】
: 只是一个执行过程而已,主要看跳转gadget的那段代码干了什么事。0xfffffff这种只是一个占位符,对应的那段代码一般是pop xxx,会将esp降低(esp+4),下个rop gadget地址就会越过0xffffffff。
: chain一定是由gadget的地址组成,但并不是桟上的每一个字都是chain的一部分。
: 如果gadget里面不包含修改桟帧的指令或者包含能够平衡桟帧的指令,那么桟上的shellcode就会是相互挨着的rop gadget地址。
: ...................