Reply 60 of 93, by DustyShinigami
- Rank
- Oldbie
asdf53 wrote on 2025-11-11, 06:34:I just tested this and you're correct. This seems to be a problem with OllyDbg, it can attach, but not un-attach from a process, […]
DustyShinigami wrote on 2025-11-10, 17:45:Yep, Memory Access Violation is checked. It'll let me minimise whilst it's playing, but as soon as I close, everything disappears from the desktop and I have no choice but to restart the PC. I'm guessing Explorer would need to be unloaded...? If I hit File > Exit, I get a warning about it not clearing up leftovers and if I'm sure I want to close. I imagine the same thing will happen if I accept.
I just tested this and you're correct. This seems to be a problem with OllyDbg, it can attach, but not un-attach from a process, the only option is to kill the process, which in case of a critical process such as explorer.exe seems to soft-lock the system. But in your scenario I don't see a problem, because you have to keep OllyDbg running anyway if you want to detect the error.
The other problem is, I don't believe, if and when the error triggers on startup, that it'll trigger OllyDbg. I get the impression I have to initialise Olly first. The error never pops up at random whilst I'm using the PC. Only at random during boot. On one occasion the PC booted, Filemon listed everything to do with XIT, but despite none of the associated files to do with it being found, the error never showed.
That makes it tougher, but there's still a chance. As long as the "xit" error message box is on screen, the process that called it is still in memory. So you might be able to just wait until it pops up, then run OllyDbg and attach to explorer.exe, go to ShellExecuteEx in memory, but this time, set the breakpoint at its end, not at the start. This is where it'll jump to right after you close the message box. If you then follow the process step by step, it should return to the memory region that called it, and from the memory region, you might be able to infer the DLL. It's just an idea so far, but I'll see if that's possible.
When I did trigger xit to test it these were the associated files it showed:
If you trigger the "error" yourself that won't tell you anything useful, because in that case, it's behaving just like it should. That was just to see if the breakpoint is working, which it is - nice.
Okay. It hasn’t done it for a little while, but as soon as it does, I’ll try and set it up at the end. It’s just odd how Filemon lists everything associated with xit as ‘Not Found’ on startup, but the error doesn’t always trigger.
OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
HDD: C, D - IDE 1, CD-ROM - IDE 2, E - IDE 3