I am reading the paper Grover Search Inspired Alternating Operator Ansatz of Quantum Approximate Optimization Algorithm for Search Problems. The paper proposes running the Adiabatic Grover Search algorithm via QAOA. The product of $2p$ unitaries to be implemented via QAOA is given in Eq. 19 of the paper. One of the unitaries is of the form $e^{- i H_f}$, where $H_f = I - | \omega\rangle \langle \omega |$, where $ | \omega \rangle$ is the marked state that is to be found.
I am confused. Is it assumed that a black-box access to $H_f$ is given? The role played by $H_f$ seems analogous to the the role played by the oracle given in the gate based version of Grover's algorithm. How does one even implement this algorithm in practice? Knowing $H_f$ is crucial to implement it via QAOA!