순서를 잘 모르겠음
GUI 프로그램을 제작할 때 게임 시작을 누르면
서버 구동중인 ip주소를 받을 수 있는 임시서버로 데이터 요청한다음 받은 암호화된 ip주소 받아서
복호화해서 서버 IP를 maplestory.exe에 추가해서 실행하는 것인지?
글고 애초에 위에 방식으로 하면 원래 IP도 쉽게 찾을 수 있을 것 같긴한데..
어떤 원리로 돌려야 되는지 모르겟음... 혹시 아는사람??
일단 사진은 줏어온건데 게임시작 누르면 실행되는 접속기 얘기하는거임...
프리메이플 개발에 전문적인 지식은 없는데..그냥 예상을 해봄 1. 게임런처를 통한 파일 검증 및 dns를 이용한 ip 조회 너가 말하는 임시 서버에 해당함 xxx.yyy.zzz 등의 url 을 ip로 바꿔주는 서버가 있음 (개인이 운영하는게 아님. 도메인을 사용하는 통신 과정에서 자연히, 필수적으로 발생하는 단계) 당연히 패킷 자체는 암호화 되겠지만, 패킷의 내용을 한번 더 암호화 하는지는 모르겠음 (기억이 안남) 2. 받아온 ip 를 인자로 게임(Maplestory.exe)을 실행 원래 ip 는 그렇게 감춰지거나 하는 정보가 아님 공공재야
흔히 임시 접속기(.bat 등) 을 통해서 Maplestory.exe 를 실행하는거 보면.. 해당 파일 자체가 외부 인자랑 함께 실행되어야 특정 서버로 연결되는 구조로 만들어져있는게 아닐까 예상해봄
해당 파일을 적당히 잘 뜯어서 수정한다면 별도의 접속기 없이 Maplestory.exe 만으로도 특정 서버에 연결하도록 할 수 있을것
xxx.yyy.zzz 식으로 사용하는 주소는 ip 를 감추기 위한 목적보다는 쉽게 접근(사람들이 외우기 쉽도록) 하려는 의도임
음.. 내가 이해한대로 다시 설명하면, 1. 게임런처에서 DNS로 서버에 접속해서 ip를 조회한다는거지? dns는 어차피 ip에 연결되어있으니까. 근데 이럴거면 굳이 dns에 연결하기위해 도메인을 구매해야하는지는 의문이네.. 2. 응답받은 ip를 확인해서 포트번호만 따로 붙여서 접속하게 한다. 아마 response 객체에 ip가 찾아보면 있을 것 같긴하네 ip를 암호화 해보려는 이유가 ddos공격이나 이런걸 좀 최대한 막아보고 싶어서.. (파일 검증방법도 어케해야될지 고민이 되긴 함. 아마 실행할 때 사용하는 파일명들은 동일할텐데 내용이 다른부분이 있는지 모든 파일 검사해서 처리하는게 맞는지. 그렇게 하려면 기본적으로 비교할 대상 파일을 서버에서 가져와야 될텐데 그 통신량도 상당할 것 같고..)
쉽진않네 게임런처를 어떤 언어로 개발해야될지도 고민이고