Sono interessato a ROP nel contesto di Java. Per ora, non considero il codice nativo della macchina virtuale Java.
La programmazione orientata al rendimento è applicabile al puro codice Java?
Sono interessato a ROP nel contesto di Java. Per ora, non considero il codice nativo della macchina virtuale Java.
La programmazione orientata al rendimento è applicabile al puro codice Java?
In "pure Java", non vi è alcun buffer overflow o use-after-free o double-free o qualcosa del genere. Questo è il significato della parte "VM" di "JVM". Il ROP è qualcosa che usi per sfruttare una rottura iniziale in cui sei riuscito a sovrascrivere l'indirizzo di ritorno per alcune funzioni e indotto la CPU a saltare dove vuoi. Per definizione, queste condizioni non possono sorgere in "puro Java", quindi ROP è irrilevante. Non può succedere.
Naturalmente, se l'implementazione JVM ha un bug sfruttabile, o se viene invocato un codice nativo, viene restituito tutto ciò che riguarda i buffer overflow. Ma poi, stai parlando di usare ROP in un codice C / C ++ e non più di Java.