Developers and security researchers interested in Windows internals and exploit development.
The talk covers LPC, LRPC, ALPC, and LPC in PCs. It begins with the speaker's background in reverse engineering.
LPC, an early inter-process communication mechanism, was undocumented. Developers used alternatives like named pipes or RPC.
Vista introduced ALPC, adding asynchronicity, cancelability, and atomicity. RPC and COM now default to using ALPC.
Bugs in RPC, COM, or ALPC runtime can lead to system compromise. Even sandboxed applications use ALPC.
ALPC's undocumented nature leads to less rigorous security checks by developers. The talk will detail ALPC communication.
ALPC communication resembles BSD sockets. Servers create ports, and clients connect using specific APIs like NtAlpcConnectPort.
Servers use NtAlpcAcceptConnectPort to accept or reject client connections. Clients receive a status indicating success or failure.