garph0
October 31st, 2000, 14:42
hello, i'm coding a little code injector wich works also under win9x, so i can't use VirtualAllocEx() and CreateRemoteThread().
i used a tecnique like the one iceman was talking about in iceman1.htm on fravia's site (it was 1998 i think):
1) save the original page and thread context
2) copy your code on that page
3) change context's eip to run your code
4) put everithing back like original code
i've done it rather sucessfully, but i've got a problem:
when i inject my code i a thread that is stopped when it's lost somewhere in the kernel, my code it's executed ok, but i get an access violation resuming the original thread, while if i can stop it while it is into the program code all goes well.
i noticed that the proble arises also when i modify a program that loads some DLL after my intervention... i cannot understand why this happens... can somebody
1) tell me hoe to prevent this
or
2) suggest me a method to detect when a process has done its initial work with dll and so on?
excuse me for my poor english and thank you
garph0
i used a tecnique like the one iceman was talking about in iceman1.htm on fravia's site (it was 1998 i think):
1) save the original page and thread context
2) copy your code on that page
3) change context's eip to run your code
4) put everithing back like original code
i've done it rather sucessfully, but i've got a problem:
when i inject my code i a thread that is stopped when it's lost somewhere in the kernel, my code it's executed ok, but i get an access violation resuming the original thread, while if i can stop it while it is into the program code all goes well.
i noticed that the proble arises also when i modify a program that loads some DLL after my intervention... i cannot understand why this happens... can somebody
1) tell me hoe to prevent this
or
2) suggest me a method to detect when a process has done its initial work with dll and so on?
excuse me for my poor english and thank you

garph0