So, I'm posting this here because at this point, it doesn't feel right to ask in the other forums since this isn't just about WC, but about learning a bit about the tools of the trade.
I can program, though it's been years since I've used something more serious than python (which I love, but doesn't seem like the tool of choice when you're serious about messing with WC/WE).
I'm interested in hacking together a debugger for myself <fantasy> if it's not too difficult to pull off (I don't expect it is, but worth asking some questions - at worst I might learn something), and - if the result is not too bad - I'll even share (hell, I'd love to share just in the hopes of others improving upon it) </fantasy>
But right now, all I've got is "hooking" - I understand the basic idea: intercept function calls.
But:
- How do you figure out what to intercept? I know the JASS is interpreted, not compiled. But how do I find the component which interprets it?
- What would my code need to do once I manage to intercept the calls? aside from the obvious:
I can program, though it's been years since I've used something more serious than python (which I love, but doesn't seem like the tool of choice when you're serious about messing with WC/WE).
I'm interested in hacking together a debugger for myself <fantasy> if it's not too difficult to pull off (I don't expect it is, but worth asking some questions - at worst I might learn something), and - if the result is not too bad - I'll even share (hell, I'd love to share just in the hopes of others improving upon it) </fantasy>
But right now, all I've got is "hooking" - I understand the basic idea: intercept function calls.
But:
- How do you figure out what to intercept? I know the JASS is interpreted, not compiled. But how do I find the component which interprets it?
- What would my code need to do once I manage to intercept the calls? aside from the obvious:
stop the execution if we want to look at the code; let it through otherwise
Somehow get the data (by injecting JASS code that will somehow allow us to read the data? how?)
Interpret the data structures used
Thank you!Somehow get the data (by injecting JASS code that will somehow allow us to read the data? how?)
Interpret the data structures used