채팅0

    인간님꺼 인젝션 잘 안되는놈들 들어와라

    조회수 457

    루아 로드 하는중 튕김 : 메모리 region 문제

    루아 로드 하고 무한로딩 : 루아 로딩 제대로 안됨 보통 사이즈 문제 (데이터는 잘썼는데 원본 루아보다 크기 커서 잘린 경우)


    일단 기본적으로 게임 코드는 게임 dll 내부에서만 돌아가야함

    데이터도 마찬가지 인간님이 올린 dumper도 함수 후킹후

    단순히 chunk(버퍼)만 파일로 저장하는거임 내부 데이터 건드리는게 없음


    인젝션은 그렇지 않음 함수 후킹후 원하는 데이터를 삽입 해야하는데

    위에서 말했다시피 메모리 영역에 신경쓰고 진행해야함

    백이면 백 ifstream으로 수정한 루아 파일 char 배열에 불러오고 나서

    밑에 origin_luafunc에 매개변수로 사이즈랑 같이 바로 줬을텐데


    이러면 수정한 루아 파일 데이터가 저장된 char 배열이 니가 인젝트한 dll의 메모리 영역에

    생성되기때문에 안 불러와짐. 같은 프로세스내여도 안되는게 있음 이건 설명 생략함


    그럼 어떻게 해야하냐 후킹한 함수에서 받은 매개변수(chunk) 자체를 수정하면된다.

    memcpy(chunk, buffer, size);

    복붙하고 아래 origin_luafunc에 덤프 할때처럼 매개변수 그대로 주면된다.


    이정도면 할 새끼들은 다 할거라고 생각되고

    재밌는거 알려주자면 지금 알사람은 알거같은데

    커닝파퀘 버그 있어서 루아 수정해서 같이 쓰면 기타템 복사가능

    댓글3

    회원프로필

    너무많이 풀었는뎁쇼 ㄷㄷ;

    2024.01.23 20:56
    회원프로필

    선생님 AP가 없어서 1:1 채팅을 못보내네요.
    질문 하나만 괜찮으실까요.

    말씀해주신대로
    memcpy 함수 이용해서 ifstream으로 읽은 string.data()를 chunk에 넣어줬습니다.
    (memcpy(chunk, fileContent.data(), fileContent.size())

    original_luafunc로 호출해줄때, 0xC0000005-NULL 주소에 접근한다고 크래시가 발생하네요.

    괜찮으시다면 관련해서 힌트나 자문좀 부탁드립니다.

    감사합니다.

    2024.01.27 19:35
    회원프로필

    버퍼가 원본 chunk와 데이터타입 같은지, fileContent.size()가 원본 chunk 길이와 같은지 확인 부터
    수정안한 파일 인젝트부터 해보셈

    2024.01.27 20:23

      게시글 리스트
      제목작성자작성일조회
      공지10-2022145
      6168411-1675
      6168311-16146
      6168211-16137
      6168111-16151
      6168011-16271
      6167911-16388
      6167811-15227
      6167711-15220
      6167611-15398
      6167511-14472
      6167411-14555
      6167311-14495
      6167211-14450
      6167111-13557
      6167011-13663
      6166911-13615
      6166811-13561
      6166711-13572
      6166611-13598
      안내 배너 이미지