Recently, I've been attempting to reproduce the Flush+Reload attack. While I've managed to understand most parts of the code, I'm still struggling to comprehend how the address values in flush-reload/original-from-authors/gpg.probe are determined. I've tried performing static analysis on GPG using the radare2 framework, but I found that the function addresses I obtained don't seem to match those in the file.
The addresses I obtained for three functions are as follows:
- 0x0009f630 dbg.mpih_sqr_n
- 0x0009e450 dbg.mpihelp_divrem
- 0x0009f0a0 dbg.mul_n
I'm unsure of the relationship between these values and the ones in your file, and I've been unsuccessful in determining how these values are determined. Could you please provide any helpful suggestions or insights?