From: Michael S. <ms...@ac...> - 2001-04-20 23:06:32
|
>NTCreatePort failed with a c0000022 c0000022 turns out to be a permission denied message I fix this by using winobj from www.sysinternals.com and changing the permssions of \\Windows so that I can create stuff inside it. Unfortunately I have to reset it every time I reboot. when looking at the permissions of the \\windows thingie it turns out that the SYSTEM account has permissions to do what we want it to do. If this were production code, the hookint.exe would be running as a system service. You can put a breakpoint after NtReplyWaitReceivePort in hookint\port.c and you can trace the message. I updated the sources today so that it passes all the registers and returns a value in eax and modified the 80.exe so that you can call an int 80 setting the registers via the command line. I've been thinking about how to reflect the int 80 back to the calling process, and I just cant think of a clean way to do it. the biggest problem is getting it to start reliably. I'm going to play with that. The native app Creates a very empty process. If the elf_loader code can be merged into the native app and it maps the elf binary into the process using MapViewOfFileEx or using the undocumented Section apis, then we really have a process that looks like what I imagine a linux process to look like (no cygwin.dlls mapped into it's address space) Unfortunately I'm really a linux newbie, so I really have an uphill battle ahead. Mike |