Pardon the Interposition—Modifying and Improving Software Behavior with Interposers
summary
Interposers change program behavior at runtime using LD_PRELOAD and runtime symbol lookup like dlsym(RTLD_NEXT) to wrap C stubs for syscalls and libc functions. Example: a 300 line C interposer intercepts rename and stat to turn JIRA attachments into a two‑level store (local cache plus cloud PUT on successful rename, fetch-on-stat-miss) and runs in production for over three years. Another interposer (Maalox) records malloc/free traces and reveals a bucket sizing bug fixed by adding two bytes.
AI-written summary · about
chapters (17)
- 0:00Pardon the Interposition... Changing the behavior of software at runtime
- 0:20My Background
- 2:13Outline
- 2:43Software often needs customization
- 3:44Interposers (on UNIX)
- 5:28atoi
- 9:57Debugging malloc
- 16:16JIRA attachments
- 19:23Ideal JIRA attachment behavior
- 20:34Options for Changing JIRA behavior
- 23:17When you can't go high...then go low!
- 24:00Uploading an attachment...
- 26:11Changing rename() behavior...
- 26:58Downloading an attachment...
- 27:47Changing stat behavior...
- 29:16Many many other uses
- 33:08Summary
related talks
01h 16mPolymorphism, Cohesion, and Coupling in C++
01h 06mOn-The-Fly Verification via Incremental, Interactive Abstract Interpretation wi...
16mIntroduction to Procedural Debugging through Binary Libification
26mAn Effective Approach to Software Obfuscation
12mControlling Opaque-Component Effects with Semisolates and Try
01h 00mAdvanced Levelization Techniques (part 3 of 3)
25mSoftware Multiplexing - Share Your Libraries and Statically Link Them Too
28mMPI: Multiple Perspective Attack Investigation...
