• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

질문드립니다.

21.03.16 12:52 작성 조회수 143

1

강의 내용을 약간 벗어난 내용 같기는 하지만 궁금해서 질문드려봅니다.

Map의 콜리젼 데이터를 txt파일로 만들어서 클라와 서버에서 사용하고, 스탯 데이터와 같은 것들을 json 형태로 관리하고 있는데

이런 파일들은 얼마든지 악의적인 변경이 가능할 것 같은 생각이 들었습니다.  

AES 암호화 알고리즘을 C#에서 기본적으로 제공해주는 것으로 알고 있는데 파일을 암호화해서 저장하고 복호화해서 불러오는게 필요할까요? 키는 서버에서 받아서 진행하면 어떨까하는 생각이 들었습니다.

답변 2

·

답변을 작성해보세요.

1

공격자를 살짝 귀찮게 할 수는 있겠지만, 큰 의미는 없습니다.
설령 키를 서버에서 받아오더라도,
그 키는 클라의 메모리에 저장되어 AES 복호화에 사용될 것이기 때문에,
공격자 입장에서는 그 부분만 찾아서 키값만 찾으면 다 뚫립니다.
C++과 다르게 C#은 리버싱 과정이 더 쉽습니다.

실제로 와우 같은 게임에서도 미리 출시된 보스 패턴이나 스킬 등을
데이터를 까서 분석을 하는 경우도 있습니다.
그리고 온라인 게임 해킹 방어에서
클라 쪽은 그냥 풀소스 & 풀메모리가 다 공개되어 있다고 가정해도 됩니다.

0

결국에는 게임플레이에 영향을 줄 수 있는 데이터는 서버에서 크로스채킹을 하는 방법밖에 없겠군요. 감사합니다