인프런 커뮤니티 질문&답변

시에라웨이브님의 프로필 이미지
시에라웨이브

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)

소멸 이펙트

질문드립니다.

해결된 질문

작성

·

280

1

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

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

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

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

답변 2

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

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

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

0

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

시에라웨이브님의 프로필 이미지
시에라웨이브

작성한 질문수

질문하기