DarthTon / Xenos

Windows dll injector
MIT License
2.11k stars 532 forks source link

Error in injector attach to pid. Bug related with "Can not attach to the process.\n" #72

Closed Fariarx closed 3 years ago

Fariarx commented 4 years ago
        status = _process.Attach( context.pid, PROCESS_QUERY_LIMITED_INFORMATION );
        if (NT_SUCCESS( status ))
        {
            status = blackbone::Driver().PromoteHandle(
                GetCurrentProcessId(),
                _process.core().handle(),
                DEFAULT_ACCESS_P | PROCESS_QUERY_LIMITED_INFORMATION
                );
        }

        if (!NT_SUCCESS( status ))
            xlog::Error( "Failed to escalate process handle access, status 0x%X", status );
    }
    else
        status = _process.Attach( context.pid );

to

            status = _process.Attach( context.cfg.pid, PROCESS_QUERY_LIMITED_INFORMATION );
            if (NT_SUCCESS( status ))
            {
                status = blackbone::Driver().PromoteHandle(
                    GetCurrentProcessId(),
                    _process.core().handle(),
                    DEFAULT_ACCESS_P | PROCESS_QUERY_LIMITED_INFORMATION
                    );
            }

            if (!NT_SUCCESS( status ))
                xlog::Error( "Failed to escalate process handle access, status 0x%X", status );
        }
        else { 
            status = _process.Attach(context.cfg.pid);
        }