While the system I'm helping design uses primarily interpreted code, similar concepts apply to the compiled stuff. This really solidified that we're starting with the right set of libraries.
What you're doing is altering function/procedure pointers. These are known as "callbacks," particularly in user interface implementations. Oberon message dispatchers are an example.
This isn't injecting code anywhere. Code injection implies that you're directly uploading code into the address space of another module. Since Oberon seals a module once it's compiled, all you can do to alter a module's behavior is pass function pointers.
Very interesting.
I think you might be even more caffinated than I.
While the system I'm helping design uses primarily interpreted code, similar concepts apply to the compiled stuff. This really solidified that we're starting with the right set of libraries.
TheGzeus 1 year ago
What you're doing is altering function/procedure pointers. These are known as "callbacks," particularly in user interface implementations. Oberon message dispatchers are an example.
This isn't injecting code anywhere. Code injection implies that you're directly uploading code into the address space of another module. Since Oberon seals a module once it's compiled, all you can do to alter a module's behavior is pass function pointers.
hoser4 2 years ago