BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / security / #36923同步于 2013/11/2
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Security机器人发帖

ROP chain中的literal number是什么用的?

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