Lord Soth
December 24th, 2000, 20:22
Hiya +tsehp,
The way I see it, you basically only have
two options. The one is to somehow inject
code into the process space (temporarily),
that will call CreateThread itself, which will create a new thread for the process itself.
Then you really wouldn't care about the
changes you made to the code (or if you do
care, you can restore it..).
For all purposed intended, I think a new
thread would serve you right.
The other option would be to somehow use
internal kernel functions and structures
to allocate another thread block for the
process space. I'm not certain there is any
place you can find such information. I don't
remember seeing such a thing at pietriek's.
However, with some reversing, you might be
able to figure out how createprocess does
the magic, and try to perform it yourself.
I know it's a lot of work, but if you REALLY
need this, you might think about putting
the time for it.
This is a daunting project. Of course this
is not just allocation of memory and stuff.
You have to have a TCB, msg queue, stack
area, what not. You even have to somehow
notify vmm32 of your new thread.
Don't ask me how, that's as far as my knowledge goes
cya buddy
good luck