News for hackers. Stuff that matters.
Re:Overriding C++ virtual functions at run time by greesil on Sunday August 09, 2020 @09:18AM (#24099424)
Are you willing to share any info on how you got stuck with this project, and what this "codebase" was? Can you call it a codebase is it doesn't have source code?
Re:Overriding C++ virtual functions at run time by topiolli on Sunday August 09, 2020 @10:02AM (#24099691)
I really cannot recall which library it was exactly. I worked on a project that had many proprietary dependencies. It might have been a GenICam camera driver that caused us a lot of other headaches as well.
Re:Overriding C++ virtual functions at run time by Google234 on Sunday August 09, 2020 @09:22AM (#24099456)
I would guess a normal project that involves this would be making a hack for a video game
Re:Overriding C++ virtual functions at run time by greesil on Sunday August 09, 2020 @09:40AM (#24099572)
Games ship with symbols unstripped?
Re:Overriding C++ virtual functions at run time by MaulingMonkey on Sunday August 09, 2020 @01:15PM (#24101083)
You'd be suprised what games accidentally ship. I've seen everything from pdbs to unoptimized debug builds accidentally included. If you don't make those mistakes, you might still have std::type_info (or custom equivalents) / RTTI info and __FILE__ / __LINE__ spam from macros, that can still sneak their way in.

Suppose you fix all that - the game still has a good chance of including 1 or more scripting languages. They may be included complete in their original unobufscated glory. Or the bytecode might include unstripped debug information. Or the C++ <-> script binding layer might still include unobfuscated string identifiers.

If you're clever, you'll rebrand this lack of obfuscation as being "mod friendly" ;)

Re:Overriding C++ virtual functions at run time by diath on Sunday August 09, 2020 @10:07AM (#24099726)
Wouldn't that be useful for crash reporting?
Re:Overriding C++ virtual functions at run time by antiuniverse on Sunday August 09, 2020 @11:12AM (#24100073)
The standard approach to this, at least on Windows, is to build the debug symbols into a separate database (PDB file), and reconnect the addresses to the symbol names on the back end. Microsoft makes tons of symbols available for their own code via a symbol server which debuggers can query by the combination of a module hash and a relative virtual address.
Re:Overriding C++ virtual functions at run time by Google234 on Sunday August 09, 2020 @04:18PM (#24102537)
Some games do, sometimes during a beta.