채팅0

    NGS .text Section Hook

    조회수 2913

    VMT <- 얜 IL2CPP이라 해당사항 없고

    Inline <- .text 무결성에서 걸리고

    VEH(Page_Guard) <- NGS가 VEH도 검사함? 얘도 보안팅

    SEH/VEH(Access_Violation) <- not working


    남은 건 EPT hook <- 하이퍼바이저 구현해야하는데 AMD cpu가 없어서 SVM은 못쓰고 지금 인텔와서 gbhv보고 하기는 너무 귀찮음

    NGS CRC 검증 자체를 조져야 할 것 같은데 얘네 메모리 region 체크할 때 ntqueryvirtualmemory 안쓰냐?

    디버거 붙여서 winapi로 콜스택 보고 올라갈라하는데 ntqueryvirtualmemory쓰는 애가 없네

    그리고 메랜 자체 프로세스 CRC 검사는 blackCipher에서 이뤄지냐 아니면 blackClient <- 얘가 하냐?

    잘 알고있는 사람은 답변해주면 좋겠음 지금 어셈 단에서 해보려고 하는데 자꾸 후킹만 걸면 팅나서 짜증나서 crc부터 조져야겠음

    댓글38

    회원프로필

    veh seh 감지아니고
    vmt 후킹으로도 충분히 할거 다 할수 있음
    Crc 검산 blackcipher 말고도
    msw.exe 내에 모듈 뭔지는 기억안나는데 거기서도 함

    2024.01.27 05:25
    회원프로필

    말이 안됨. 민훅부터 vmt veh 다 해봤는데 후킹만 걸면 보안팅남
    AllocConsole 인젝 방법 등등 다 커널에서 해서 아무 상관 없고 후킹 이슈인데
    내가 타겟으로 하는 dll은 GameAssembly.dll 함수고 ㅇㅇ..
    Crc 검산 자체를 조지는건(그냥 ngs가 하트비트만 보내게 하도록)
    외국인들은 옛날에 CreateSnapshot에 sleep 걸어놨다고 그랬는데 지금은 안되는 것 같고
    그래서 어쨋든 .text섹션만 확인하려면 NtQueryregion 같은거로 RW WX RWX 이런 섹션만 찾아서 ITERATION 해야하니까
    당연히 쓰는줄 알았는데
    vmt는 내가 시도해봤는데 xlua에서 vtable 참조해서 호출 안하고 바로 다이렉트 콜 때림
    왠진 모르겠음

    2024.01.27 05:29
    회원프로필

    ㅁㄹ 내가 했을때는 veh page guard 로 crc 우회했었음 지금은 crc 패치안하고
    Vmt 후킹하는데 잘찾아보셈 님이 못찾는거임

    2024.01.27 05:32
    회원프로필

    그리고 내가 아는 옵치 때 he4rtbleed 맞음?

    2024.01.27 05:29
    회원프로필

    vtable 검사 안함

    2024.01.27 05:28
    회원프로필

    Xlua에서 파싱되갖고 들어가는 JIT 개념함수라서 Vtable사용을 안하는 것 같던데

    2024.01.27 05:32
    회원프로필

    GameAssembly에서 xlua_loadbuffer 호출하는부분 잘보셈

    2024.01.27 05:34
    회원프로필

    내가 지금 새벽 운동 나와서 컴이 아닌데 xlua_loadbuffer 호출하는 부분은 그냥 dll에서 함수 주소 resolve한다음 호출하는 루틴밖에 없었을텐데 내가 잘못 기억하고 있는건가? 근데 지금 vtable은 다 떠나서 내가 타깃으로 하는 함수를 브포를 걸어보면 백트레이스에 단 하나도 vtable에서 참조해서 call하는 루틴이 없어서 vtable의 포인터를 swap해도 아무런 효과가 없엄

    2024.01.27 05:40
    회원프로필

    내가 지금 swap해서 쓰는데

    2024.01.27 05:41
    회원프로필

    GameAssembly ScriptedManaged된 함수 중에 걸어서 쓰는거??

    2024.01.27 05:45
    회원프로필

    ept가기전에 pte도 있음 하이퍼바이저도 필요 없고

    2024.01.27 05:29
    회원프로필

    PTE는 poolalloc해서 pte 순회하면서 supervisor flag 바꿔줘갖고 유저모드에서 커널 모드 메모리 접근 가능하게
    해줄 때 지금 쓰고 있고(PerfectInjector꺼 좀 빌려서) 근데 내가 필요한건 코드의 흐름을 바꾸고 싶은건데 PTE에서 어떻게 해야 코드 흐름을 바꿀 수 있음..? EPT야 vmexit으로 control flow 바꾼다해도 pte는 모르겠는데

    2024.01.27 05:31
    회원프로필

    pte에 nx 플래그 바꾸고 게이 공간으로 점프
    value가 번지 점프였나 그럴꺼임

    2024.01.27 05:36
    회원프로필

    그니까 그건 그냥 dll 위한 메모리 할당이고 지금 그건 당연히 다 하고 게임 내 .text부분 함수를 후킹할라 하는데 바이트 패치가 되갖고 Veh를 썼는데 veh도 잡힌다는 말임 ㅇㅇ

    2024.01.27 05:38
    회원프로필

    뭐 게이 veh 쓸때 dr 플래그 바꿔서 쓰는거 아님?
    pte는 물리주소에 건다고 생각하셈

    2024.01.27 05:38
    회원프로필

    아 지금 네 말은 하꼬마냥 유저모드에서 타겟으로 하는 함수 주소에 virtualProtect써서 page guard Dr 플래그 set 하지말고 VA->PA 한 후에 그.PA에 해당하는 PTE를 찾아서 NX를 조지라는거지? 아이디어는 알겠는데 내가 윈도우 인커널즈 읽을 때만해도 PTE최소 사이즈가 4KB라고 들었는데 이러면 한 함수만 조지는게 아니라 동일 메모리 영역 다 가는거 아니냐

    2024.01.27 05:44
    회원프로필

    맞음 ㅇㅇ

    2024.01.27 05:44
    회원프로필

    쉬벌 그러면 내가 원하는 함수 말고도 다른 영역 침범해서 걸면 다른 곳에서 예외 발생하먼 그건 어떡함 RIP 확인해서 영역 보고 Passthru할지 말지 정하는겨?

    2024.01.27 05:46
    회원프로필

    nx 돌려주고 다음 코드로 번지

    2024.01.27 05:48
    회원프로필

    OK 좋은 아이디어 감사하다
    좋은 밤 되길 바라

    2024.01.27 05:50
    회원프로필

    뭔 유저모드선에서 해결못해서 ept까지가냨ㅋㅋㅋㅋㅋㅋ 코미디가 따로없네

    2024.01.27 05:46
    회원프로필

    EAC BE 유저라서 로우레벨이.더 편하다 미안하다

    2024.01.27 05:47
    회원프로필

    그럼 그냥 기존대로 올려쓰면되지 왜 굳이 이고생을 ?

    2024.01.27 05:48
    회원프로필

    NGS가 처음이라 버벅대는 중

    2024.01.27 05:49
    회원프로필

    원래 SVM으로 NPT 후킹해서 다 썼는데 이번에 13900이 너무 쌔끈해서 들여오니 하이퍼바이저를 다시 만들어야하게 생겼어

    2024.01.27 05:50
    회원프로필

    이기야 너가 못찾는 이유를 알려주겠다.
    ntqueryvirtualmemory의 옵코드를 스캔하면 ntqueryvirtualmemory의 복사본이 여러개 로드되어 있을 것이다. 그것을 직접 함수포인터로 만들어서 호출을 하기때문에 ntdll의 ntqueryvirtualmemory에 브레이크포인트를 걸어도 찍힐일이 없다는것이지.

    추신: 확인해본적X 뇌내망상임

    2024.01.27 05:47
    회원프로필

    WinApi 함수를 복사해서 쓰면 Copy On Write는 왜 만들었냐 임마

    2024.01.27 05:48
    회원프로필

    이기야.. 너를 실험해보려고 한 말이었는데 딱 걸려들었노?? 실제로 블랙싸이퍼는 nt 함수 복사해서 쓰고(2년전 확인) 나도 nt 함수 복사해서 함수포인터로 만들어 사용한다 이기야 아직멀었노?? Copy On Write같은 소리 하지말고 더 공부하고 와라

    2024.01.27 05:49
    회원프로필

    함수 자체를 복사해서 쓰는게 아니라 GetProcBase같은거로 Export된 함수 주소를 가져와 쓰는거겠지..
    nt함수도 내부적으로 ntoskrnl로 들어가는데 그걸 복사한다는건 ReactOs 소스코드 보고 직접 구현했다는 소리밖에 안되는데

    2024.01.27 05:53
    회원프로필

    이기게이가 언노운치트 안티치트 바이패스 게시글 보고 뽕이차서 머가리가 돌아버렷노?? 그냥 유저모드에서 rax에 nt 함수 번호 적고 syscall 하는 옵코드 쓰면 된다 게이야;;;;; 물론 블랙싸이퍼는 ntdll 이름 바꿔서 로드 한번 더해서 그냥 갖다 쓴다 이기야 (2년전 확인)

    2024.01.27 05:55
    회원프로필

    아아 나는 함수를 복사한다길래 구현까지 복사한다고 생각했지 너무 날 서게 얘기한 것 같다 미안미안
    오늘 내내 이거랑 씨름해서 좀 예민했나봐

    2024.01.27 05:59
    회원프로필

    ㄴ ntdll 복사본 tmp 모듈에 브포거셈 그렇게 잘못된 정보 알려준것도 아닌데 혼자 왜이리 부정적으로 대하노

    2024.01.27 05:56
    회원프로필

    tmpxx

    2024.01.27 05:57
    회원프로필

    영웅아 오랜만이다

    2024.01.27 05:55
    회원프로필

    임영웅?

    2024.01.27 05:59
    회원프로필

    영웅아 모르는 척 하지마라 너의 영어로 된 용어 떡칠한 말투와 남이 친절하게 알려줘도 틀에 박힌 생각으로 본인의 생각만 말하는 tmi력까지 난 다 기억한다.. 다른 사진 다 올리기 전에 1:1 걸어줘♥

    2024.01.27 06:09
    회원프로필

    진짜 거짓말이 아니라 진짜 모릅니다 ㅋㅋㅋ 1대1은 걸어볼게요

    2024.01.27 06:10
    회원프로필

    아임쏘리 게이야 . . .

    2024.01.27 06:11

      게시글 리스트
      제목작성자작성일조회
      1905501-27177
      1905401-27324
      1905301-27384
      1905201-27234
      1905101-27161
      1905001-27137
      1904901-27161
      1904801-27692
      1904701-27468
      1904601-27681
      1904501-27273
      1904401-272914
      1904301-27292
      1904201-27598
      1904101-27287
      1904001-27567
      1903901-27403
      1903801-27292
      1903701-27635
      1903601-27581
      안내 배너 이미지