How exactly does Chromium replace the system calls with its own versions? Not quite sure how that works.
~Theodore
On Nov 01, 2015, at 07:18 PM, Sebastian Lackner <sebastian@fds-team.de> wrote:
On 02.11.2015 04:09, Theodore Dubois wrote:
Darn! Forgot to cc the list.
Can someone explain exactly why absolute addresses are needed here? I'm new to
wine, but eager to learn.
The main reasons are:
- The code still has to work after Chromium has moved it to a different memory location.
A relative jump would not be suitable for that. Also, in our proof of concept patch,
we want to avoid huge syscall tables, and instead pass a pointer in %eax.
- DRM applications might complain when a function entry point looks too unusual.
- In "non-relaxed" mode Chromium refuses to accept the entry point, if it doesn't match
exactly the function signature on Windows. I don't think this is used for Steam yet,
but its just a matter of time.
Regards,
Sebastian