Hi all.. I am writing a small fuzzer in python to test a server application. I want to catch exceptions generated in the server app, so I load it with pydbg and set some callbacks through set_callback()
Many requests make the server raise 0xE06D7363 exceptions. According to my understanding, these are the exceptions generated though the "throw" clause in C++ applications. Anyway, the server seems to catch these exceptions, as it keeps running ok.
The problem is that there are some requests that also cause this exception code, but the process ends. I think this is related to unhandled C++ exceptions. Is that rigth?
As I am trying to find vulns in the server app, I have to catch this situation. But if I do a pydbg.set_callback(0xE06D7363,...) it catches ALL exceptions, even the handled ones!
So what I did is to install a handler for the EXIT_PROCESS_DEBUG_EVENT, analyzing when the process is closed and report only the packets that cause that event...
Is this the best solution or somebody have a better and more elegant one?







