First question: is this a single .exe, or are there .dll files involved? If there are .dlls, have you tried using Python ctypes to load them and examine their APIs? If the app is well-architected, you may be able to get away without even messing with the .exe.
Second remark: there's a bunch of debugger functionality in Windows. A debugger can attach to a running process, stop it, step it, inspect its variables and so forth. I'm sure you don't want to write a whole debugger; I'm equally sure the API is the product of the same kind of minds that brought us .obj-file format: bizarre, obscure & obtuse. But if you're sufficiently determined, I believe the hooks are there to create from scratch a new "remote" debugger. Some subset of that should allow you to at least understand what the app is doing.
Making it do something new could be another story. Again, your best bet will be if the functionality you want to intercept/extend is launched by a call into a DLL.
Comments 3
Second remark: there's a bunch of debugger functionality in Windows. A debugger can attach to a running process, stop it, step it, inspect its variables and so forth. I'm sure you don't want to write a whole debugger; I'm equally sure the API is the product of the same kind of minds that brought us .obj-file format: bizarre, obscure & obtuse. But if you're sufficiently determined, I believe the hooks are there to create from scratch a new "remote" debugger. Some subset of that should allow you to at least understand what the app is doing.
Making it do something new could be another story. Again, your best bet will be if the functionality you want to intercept/extend is launched by a call into a DLL.
Reply
Reply
Reply
Leave a comment