Can anyone on here point me towards some good resources for learning and understanding rop and how to carry one out practically. I have my head around vanilla rip/eip overwrite but want to expand my skills further in this area. Tia

I think understanding the Linux 64bit application binary interface helps. The Wikipedia page contains plenty sufficient information. I’m no assembly programmer but I understand the ABI and it makes sense to me.

I have written few articles on Linux 64 bit binary exploitation you might find useful here.