3 ms·
> A funny thing is that a fully static LTO processed and inlined app is extremely hard to crack once ASLR is in play since you get no returns and get to mess on
by pcwalton 9y ago
> A funny thing is that a fully static LTO processed and inlined app is extremely hard to crack once ASLR is in play since you get no returns and get to mess only with what is inside.
How often does that actually happen? On macOS and Windows the answer should be "never" since the syscall ABI is not stable...
- gok 9y ago> On macOS and Windows the answer should be "never" since the syscall ABI is not stable... Dear Golang...
- user5994461 9y ago#define WINAPI __stdcall The windows API ABI is stable and unchanged for decades.
- AstralStorm 9y agoOn both of these platforms, ABIs and APIs are stable until you get to drawing. Which means you should probably use real process separation for the GUI - it has to be linked dynamically.
- pcwalton 9y agoNo part of the Windows syscall ABI is stable on Windows. Not win32k, not core NTAPI. You need core NTAPI to send IPC messages.
- AstralStorm 9y agoIt is stable in the terms of "actually didn't change in a way to break apps" not "guaranteed to be kept compatible". Last time they did a major break there is in Windows 2000. I recommend reading up on how LPC works. There have been extensions though. Such as very useful pico processes in Windows 10... Major extensions in Vista too, related to security and async operation. I recommend j00ru's blog as a good starting point. And of course Windows Internals books.