반응형
ESP핵을 만들기 위해
화면 좌표를 얻어왔으면
ESP만드는 과정
좌표에 그리기를 위해
따로 창을 만들어 띄우거나
게임창에 그대로 그리기를 해버리면
안티 치트에 탐지될 확률이 높기 때문에
탐지율을 낮추기 위한
그리는 방법 중 하나인
nvidia overlay hijack입니다.
https://github.com/es3n1n/nvidia-overlay-renderer
참고한 소스코드입니다.
main함수부터 따라 핵심만 뽑아내
main에 쭉 늘려보면
int main( ) {
// 여기부터 엔디비아 오버레이 설정
// 엔디비아 오버레이창의 핸들을 얻어와서
vars::m_window_hwnd = FindWindowW(L"CEF-OSC-WIDGET", L"NVIDIA GeForce Overlay");
// 확장 창 스타일을 가져옵니다.
LONG_PTR info = GetWindowLongPtr( vars::m_window_hwnd, -20 );
// WS_EX_TRANSPARENT(투명) 스타일을 추가해줍니다.
SetWindowLongPtr(vars::m_window_hwnd, -20, info | 0x20);
// 창을 투명하게 설정합니다.
SetLayeredWindowAttributes(
vars::m_window_hwnd,
0x00000000,
0xff,
0x01
);
// 현재 위치와 크기를 유지하고 창을 맨위로 놓습니다.
// 창이 비활성화되어 있어도 최상위를 유지합니다.
SetWindowPos(
vars::m_window_hwnd,
HWND_TOPMOST,
0, 0, 0, 0,
0x0002 | 0x0001
);
//여기부터 D2D초기화
GetClientRect(vars::m_window_hwnd, &vars::m_window_rect);
vars::m_window_size = D2D1::SizeU(
vars::m_window_rect.right - vars::m_window_rect.left,
vars::m_window_rect.bottom - vars::m_window_rect.top );
D2D1CreateFactory( D2D1_FACTORY_TYPE_SINGLE_THREADED, &m_d2d );
m_d2d->CreateHwndRenderTarget(
D2D1::RenderTargetProperties(
D2D1_RENDER_TARGET_TYPE_DEFAULT,
D2D1::PixelFormat( DXGI_FORMAT_UNKNOWN, D2D1_ALPHA_MODE_PREMULTIPLIED )
),
D2D1::HwndRenderTargetProperties(
overlay::vars::m_window_hwnd,
overlay::vars::m_window_size
),
&m_render_target
); // 여기까지 D2D사용을 위한 설정이고
// 그리기위해 brush를 생성해줍니다.
m_render_target->CreateSolidColorBrush(D2D1::ColorF(255, 255, 255), &mp_brush);
// 그리기 위해서는 BeginDraw()->Clear()->그리기->EndDraw()를 해줘야 그려집니다.
m_render_target->BeginDraw( );
m_render_target->Clear( );
m_render_target->DrawLine(
D2D1::Point2F(filter[p][0].x,
filter[p][0].y), D2D1::Point2F(filter[p][1].x,
filter[p][1].y), mp_brush, 1.0f, 0
);
m_render_target->EndDraw();
이런 형태로 사용하면 엔디비아 오버레이와
Direct2D를 사용하여
그리기를 사용할 수 있습니다.
저는 DrawLine()을 사용했지만
박스를 그리는 함수 만들어서 넣고
EndDraw() 호출해도 되고요.
이런식으로 그려지네요.
매우 간단한 코드네요.
메일 : qmffhrm@protonmail.com
반응형
'게임해킹 > ESP 핵' 카테고리의 다른 글
뷰매트릭스 찾는법 (치트엔진) [게임해킹] (6) | 2022.07.20 |
---|---|
WorldToScreen 함수 (esp핵, 소스코드, 설명) [게임해킹] (2) | 2022.07.19 |
esp핵 만드는 방법 (과정, 필요한것) [게임해킹] (1) | 2022.07.19 |