upvote
I use Qiling [0] (built on top of Unicorn) sometimes for this kind of things (it can take application snapshots, that you can restore; and you can also use something similar to x86/x86-64 memory hardware breakpoints too). Might fit what you want, although it can sometimes be in a pain in the rear to set up...

[0] https://github.com/qilingframework/qiling

reply
Sweet, thanks. It doesn't seem to be exactly what I'm looking for, in that it simulates (replaces) the OS instead of hosting it, but it's still interesting.
reply
Well, there's ptrace/gdb? (Since you mentioned Diablo II, you might want a windows debugger, but same idea)
reply
Well, the program doesn't really work anymore, hence why I want a VM.
reply
If it runs in Wine, you can use winedbg
reply