4 ms·
I don't know what people expect glibc to do here. EAC is a tool that reverse engineered library data that is only supposed to be used by the system runtime lin
by ajross 4y ago
I don't know what people expect glibc to do here. EAC is a tool that reverse engineered library data that is only supposed to be used by the system runtime linker. People reverse engineer stuff all the time, and it's universally agreed that the onus is on the Weird Hack to bother with maintenance. EAC isn't using a supported API at all (the API for this is dlopen/dlsym et. al., not the hash format!).
It's unfortunate, sure, but it's just not possible to prevent. And all the people screaming about "This Doesn't Happen On Windows" are just fooling themselves (or, to be blunt, being deliberately disingenous). This happens on windows every single release. Windows N+1 comes out and suddently a bunch of hacky drivers or tools or gadgets stop working until their authors manage to figure out what part of their trickery Microsoft broke.
- ronsor 4y agoAnticheat software like EAC (as well as commercial antiviruses and malicious rootkits) often reverse-engineer internal system data structures and call undocumented functions. You really can't blame system library developers for breaking compatibility with software that is doing things "the wrong way." Yes, I know Linus Torvalds says "don't break userspace," but that's for officially exposed kernel interfaces.
- dark-star 4y agonothing was "reverse-engineered". Read the article. DT_HASH has been documented in SysV since ages. It's the DT_GNU_HASH that's (almost) undocumented and needs to be reverse-engineered from GNU ld's source code.