|
|
-------------------자료삭제-------------------
넥슨에서 태클 들어온건 아니고 , 제가 그냥 삭제 합니다.
안녕하세요.
이번에는 고해상도 프로그램으로 찾아뵙게 되었습니다.
*먼저 이 프로그램을 작성하게 된 동기부터 말씀드리겠습니다.
테일즈위버는 아직까지도 예전의 구시대적인 인터페이스를 유지하고있는데,
그것들 중의 대표적인 하나를 들자면 게임 해상도 입니다.
다른 온라인게임들은 대부분 해상도를 입맛대로 선택하거나 , 최대로 넓혀서 플레이하는게 가능합니다.
그러나 테일즈위버는 800 X 600 과 1024 X 768 두가지만 선택할 수가 있죠.
이것에 대해서 예전부터 토론게시판에서나 , 유저들끼리 공공연하게 거론되어져 왔습니다.
그렇다면 왜 넥슨이 해상도를 제한하는가?
개인적으로 생각해본것으로는 두가지가 있는데,
먼저 첫번째로는, 공정성의 문제입니다.
모니터 큰사람이 맵을 더 넓게 볼수있고 , 몹과 사람도 멀리볼수 있으므로 ,
모니터 작은사람이 더 불리하다?
개인적인 생각으로는
다른 해상도 조절 가능한 온라인게임들도 해상도 조정하면 맵 작게 보이고 그럽니다.
그리고 이런 논리라면 현재 800 600 과 1024 768 사이에도 공정성에 문제가 있다고밖에 볼수 없습니다.
따라서 공정성과는 관계없다고 보여집니다.
두번째로 , 개인적으로 가장 타당하다고 생각되는 이유인데,
테일즈위버 게임 자체가 1024 768 까지만 최적화되게 작동된다?
실제로 1024 768 초과의 해상도로 게임을 실행하게 되면 ,
맨 처음 타이틀 화면이 짤려서 나오는것을 확인할 수 있습니다.
그리고 단축키 O 를 눌러서 옵션 창을 불러오면 , 게임이 튕깁니다.
마지막으로 롱소드아이템샵 아이콘이 위치가 틀어지게 나옵니다.
위 증상들로 봤을때,
적어도 이로부터 알수있는점은 , 테일즈위버라는 게임은 800 600 , 1024 768 에 최적화 되어서 개발되었다는 점입니다.
그러나 이 문제는 개발팀이 충분히 그 이상의 해상도 호환성을 확보할 수 있을텐데,
아마 귀찮거나 기타 이유 등으로 인해 하지 않는것으로 보여집니다.
결론은 , 넥슨에게 해상도 제한을 풀어달라는 의미를 전달하기 위하여, 유저들에게 보다 편리함을 제공하기 위하여
이 프로그램을 작성한 것입니다.
* 이제 이 프로그램의 작동원리를 말씀드리겠습니다.
예전부터 쭉 해오신 유저분들은 아실테지만, 한때 Inphase.ini 파일을 수정해서
InphaseNXD.exe 파일에 인자를 전달하여 편법으로 고해상도를 실행했었던적이 있었습니다.
그러나 넥슨에서 패치를 해서 막았었죠.
이 프로그램은 넥슨이 패치해서 막은부분을 다시 원래대로 돌려주는 프로그램이라고 보시면 됩니다.
그리고 부가적으로
컴퓨터에서 사용중인 해상도만큼 클라이언트의 해상도를 확장하고,
사운드 켜짐,꺼짐을 설정할 수 있습니다.
* 사용법을 말씀드리겠습니다.
0. 이 프로그램은 창모드를 클라이언트에 인자로 전달합니다. 따라서 창모드로 작동합니다.
그러므로 디스플레이 제어판에서 색상 품질을 16비트로 바꿔줍니다.
1. 다운받은 첨부파일의 압축을 "테일즈위버가 설치된곳에" 풉니다. ( 덮어씌우겠냐고 물으면 덮어씌웁니다.)
(예: 게임이 C:\Talesweaver\ 에 설치되어져 있다면 , 압축을 C:\Talesweaver\ 에다가 압축해제 합니다.)
2. Talesweaver_Hires.exe 파일을 실행합니다.
3. 즐겁게 게임을 합니다.
* 기타 주의사항을 알려드립니다.
1. 1024 768 초과 해상도의 게임상에서 단축키 O 를 눌러서 옵션창을 불러오면 게임이 튕깁니다.
단 , 로그아웃은 정상적으로 됩니다 . 이점 꼭 유념하시기 바랍니다.
2. 이 프로그램은 테일즈위버 정식 서비스 버젼 4.61을 기준으로 작성되었습니다.
업데이트가 된다면 , 더이상 작동하지 않습니다.
3. InphaseNXD.exe.bak 파일은 4.61 원본 클라이언트 실행파일 입니다.
만일 , 패치가 불가능한 버젼이라느니 혹은 기타 어떠한 이상으로 인해 실행이 불가능해졌거나 ,문제가 발생했다면
다른 2개의 파일은 모두 지우시고 , 이 파일의 이름을 InphaseNXD.exe 로 바꿔주시면 됩니다.
4. 이 프로그램은 테일즈위버 런쳐를 통해서 실행하면 작동하지 않습니다.
* 넥슨 , 그리고 기타 흑심을 품은 유저들에게 추가적으로 알려드립니다.
1. 이런 허접스러운 프로그램을 타겟으로 해서 괜히 리버스 엔지니어링 시도하지 마십시오.
뭐 능력이 된다면 해도 상관은 없습니다. 밤새도록 시도하려고는 하지 마세요.
2. 이 프로그램을 상업적으로 , 또는 악의적으로 이용하지 마십시오.
이 프로그램은 단순히 해상도의 편의를 위해서 제작된 프로그램이며 , 어떠한 악의적인 의도로 제작된 프로그램이 아닙니다.
3. To 넥슨. 게임 해상도에 관해서 다시 생각해보시기 바랍니다.
그리고 막으려면 똑바로 막으십시오. 이런 말씀드리기 죄송스럽고 뭐합니다만,
개발자분께서 귀찮다는 듯이 전역변수를 선언해서 대충 코딩한것이 눈에 보입니다.
ps. 문제가 발생하거나 안되는것이 있다면 댓글로 알려주세요.
되면 된다, 안되면 안된다 확실히 글을 남겨주시기 바랍니다.
이 프로그램은 아직 많은 테스트를 거치지 않은 프로그램입니다.
따라서 유저분들의 피드백이 꼭 필요합니다.
그리고 이 프로그램이나 , 글이 문제가 된다면 게시글을 자삭하겠습니다.
덧붙여서 말씀드리면 , 우리나라는 아직까지 해킹과 리버스 엔지니어링에 대해서 무척 엄격한 잣대를 적용하고 있습니다. 리버스 엔지니어링 이라는것이 결국은 프로그램의 흐름을 알아내는것이고 , 그것의 결과물은 호환성 확보나 기타 목적으로 프로그램의 흐름을 의도하지 않게 바꾸는 것이거나, 혹은 그 기술을 따라해서 또 다른 저작물로 창작하는것입니다. 여기서 또 다른 창작물로 만드는것은 상관없지만 , 이 흐름을 바꾼다는것이 문제가 되죠.
이 프로그램 역시 역공학의 결과물로써 , 넥슨이 의도하지 않는대로 프로그램이 실행되기 때문에 당연히 넥슨 입장에서는 좋게 볼리가 없습니다. 기업 입장에서는 성가시는 존재로 여겨지므로 , 계속 막다막다 안되면 법적으로 처리하려고 하죠.
그래서 우리나라에서 수많은 보안전문가(해커) 나 , 리버서 등이 활동중이지만 이들이 무조건 공격적인 행위를 하면 법적인 잣대를 적용하는 기업들 때문에, 이것이 언론에 나게되면 , 사람들은 크래커는 나쁜사람이다, 해커는 나쁜사람이다라고 인식하게 됩니다.
여담으로 , 저와 함께 깊고 깊은 음지에서 활동중인 , 프로그램 취약성 발견을 목적으로하는
(취약성의 종류에는 여러가지가 있지만 , 그중에는 크랙도 포함되어져 있습니다.)
십여명의 리버서와 크래커, 해커분들이 있습니다만 , 결국 공개적으로 떳떳하게 활동 못하는것도 우리나라의 현실 때문입니다.
말이 좀 횡설수설 이상하게 길어졌네요. 제가 뭔소리 한것인지 잘 모르겠습니다.
이쯤에서 결론 들어가겠습니다.
저도 이 프로그램을 배포해야하나 말아야하나 수일간 고민을 많이 했습니다. 그러다가 나름대로 이 프로그램의 정당성을
정의 해봤습니다. 정당성에는 역시 취약점밖에 들것이 없습니다.
아래 사실들은 분명한 취약점들이고 사실들입니다.
저번에도 제가 핵쉴드 무력화 게시글을 이 공간에 올린 이후에 , 넥슨에서 핵쉴드 업데이트를 수행한것으로 알고있습니다.
이 프로그램으로 인해서 그나마 취약점을 좀 제대로 파악하고 경각심을 일깨웠으면 좋겠군요.
한편으로는 위에서 말한것처럼 넥슨에게 게임 해상도를 다시 생각해봐달라는 의도도 있습니다.
1. Client Binary 의 Code Encryption 취약점
Ahnlab은 언제까지 UPX만을 적용하고 있을것인가. 10초만에 언패킹 가능합니다.
참고로 이 해상도 제한을 푸는 프로그램은
Oreans 社의 Themida/WinLicense 2.0.6.0 으로 암호화 되어져 있습니다.
역공학을 조금이라도 접해보신분은 Themida하면 일단 기가 빠지실겁니다.
요즘에 이러한 패커들은 고급기능들을 많이 가지고 있는데 ,
디버거의 접근을 막거나 Virtual Machine에서의 실행을 막는 기능, 무결성 검사 등의 기능들을 가지고 있습니다.
따라서 패커만 교체해도 충분히 개선할 수 있습니다.
2. 실시간 핵쉴드의 메모리 무결성 검사 도입의 필요성.
핵쉴드가 실행중일때는 , OpenProcess, ReadProcessMemory , WriteProcessMemory 등의 API를 핵쉴드가 후킹함으로써
접근할 수 없지만 , 핵쉴드가 로드 중일때 (HSUpdate.exe) , InphaseNXD.exe 역시 Process가 생성된 상태로SuspendThread 상태인데, 이 상황에서의
Memory 접근 취약성을 어떻게 할것인가? 이 상태에서 메모리 패치를 가할경우 , 전혀 막을 방법이 없습니다.
이 프로그램도 1번과 2번의 취약성을 근거로 해서 작동합니다.
만약에 이 프로그램이 게임의 규칙을 심각하게 깨버리는 목적의 내용을 담고 있었다면 , 그 결과는 어떻게 될까요?
3. Binary 무결성 검사 도입의 필요성
제가 듣기로는 현재 테스트 서버 클라이언트 같은경우 , 런쳐를 실행하면 InphaseNXD.exe 가 자동으로 갱신되어져서
다운받아진다고 알고 있습니다.
왜 그 코드를 적용했는지 이해 불가입니다. 런쳐 켠 후에 파일에 조작을 가하면 전혀 쓸모없지 않나요?
현재 정식서비스 서버는 바이너리에 어떠한 조작을 가한상태로 , 게임을 실행해도 보안 프로그램이나 기타 다른곳에서 체크를 하지 않습니다.
꼭 메모리 패치를 하지 않더라도 디버거로 바이너리 파일에 수정을 가해서 게임규칙 조작을 할수가 있을겁니다.
따라서 , 서버 접속할때 바이너리의 무결성을 체크하는 부분을 넣으면 좋을것입니다.
하나 더 알려드리자면 , 벅스플레이어 같은경우 , 벅스플레이어 바이너리가 조금이라도 수정되어져 있으면
노래가 재생되지 않습니다. 서버에서 체크를 하기 때문이죠.
그렇게 못믿으면서 p2p로 영화 즐겨 다운받고 있다죠?
과연 영화일까요..
이거 쓰면 모니터 작아도 해상도가 커지나요?
모니터 해상도 만큼만 확장됩니다.
이 프로그램의 "정당성"에 대한 설명을 해주셔서 감사합니다. 글쓴이 분의 좋은 의도는 정말 존경스럽고 그 실력 또한 인정하지 않을 수가 없습니다. 그런데 저는 아직 "이 정도로는 부족하지 않을까?" 하는 생각이 듭니다. 우선 제가 말씀 드리고 싶은 부분은 글쓴이 분께서 과거의 핵실드의 사례를 들어 지금 이 프로그램의 정당성을 확보한 부분입니다. 이 핵실드의 사례는 핵실드의 취약점을 공격함으로써 테일즈위버가 패치하도록 만들었습니다. 그리고 이 프로그램 또한 글쓴이 분께서 직접 이런 프로그램을 만듦으로써 테일즈위버가 어떤 조치를 하길 바라셨습니다.
이건 정말 좋은 목적입니다. 궁극적으로는 핵실드의 보안이 조금 더 나아졌고 이 처럼 해상도 변경 또한 어떤 좋은 결과를 가져올 것이라고 볼 수도 있게 되었으니까요. 하지만 제가 여기서 문제 삼고 싶은 부분은, 그런 좋은 목적 말고 그 목적을 위한 "수단"입니다. 글쓴이 분께서도 시인하셨듯이 지금의 방법(수단)은 적절하다고 보기는 어렵습니다. 엄밀히 따지면 게임 내에서의 제제 이상의 문제가 생길 수도 있는 방법입니다. 그래서 저는 이런 점이 약간 우려됩니다.
님께서 말하고자 하는 요지를 모르겠네요. 수단 수단 하시는데 , 역공학에서 그럼 적절한 수단이 어떤게 있나요? 그냥 결론은 제가 제재 당할수도 있다 이말 아닌가요? 저도 알고있습니다. 해킹이나 역공학 한편으로는 그 자체가 공격성을 띄기 때문에 이런 면에서는 부적절한것은 당연한거 아닌가요? 기본적으로 이러한 짓을 하는 저에게는 당연히 그에 따른 책임이 따르는게 기본이고 , 이런 일을 한두번 해본게 아니고 수십번 수백번 해왔던 사람으로써 저도 충분히 알고있습니다. 더이상 부적절하다느니 우려가 된다느니 이런소리는 하지 말아주셨으면 좋겠습니다. 그냥 있는 그대로 알아 주셨으면 좋겠군요.
지금 이 상황에서 적절한 수단을 바라고 계셨다면 그건 좀 개그인것 같군요. 이 분야에 대해서 잘 모르시는것 같습니다.
테일즈위버 약관에 의거하면 클라이언트 수정 혹은 불법 프로그램 사용이 맞습니다만 이런 분이 공개적으로 나와주셔야지 운영자 측도 유저들이 얼마나 다양한 해상도를 원하고 있는지 알게되겠죠.
적절한 수단으로는 이런 정보를 일반유저에게 먼저 알리지 않고 테일즈위버 측에 건의하는 방법이 있죠. 좀 직접적으로 이야기해보겠습니다. 저는 역공학인지 뭔지가 옳다 그르다를 말하고 있는 것이 아니라 아노-러디 님의 사고 방식을 문제 삼고 싶은겁니다. 예를 들어서, 게임 내에서 버그가 발견 되었을 때 그 버그를 수정하도록 요구하는 옳은 방법은 뭘까요? 그 버그를 회사측에 알려주는 것이죠. 그런데 아노-러디 님께서는 그 버그를 악용하는 법을 일반 유저들에게 알려주면서 "사태가 이렇게 되었으니 회사측에서 고칠것이다."라는 식으로 행동하고 계십니다. 이런 생각이 확장되면 어떻게 되겠습니까? 아노-러디 님과 같이 이 분야에
유능한 사람이 나타나서 텔즈의 치명적인 버그를 알아내어, 그 버그를 이용한 버그 프로그램을 만들어 유포하는 경우에도 문제가 없는 것이 되는거죠. // 이런 일을 '수 십, 수 백 번 해왔던 사람'인 아노-러디 님께서는 이 정도 "간단한" 문제에 대한 변론은 충분히 하실 수 있을 거라고 생각합니다. 저는 그걸 요구했었던 것이고요. 제가 위에서 말했던 "수단"이란 것도 이걸 말하는 겁니다. 역공학에서의 수단이 아닌, 역공학을 이용한 수단 말입니다.
별루 ~_~;;; 여기가 토론게시판도 아닌데 그런걸 왜 일일이 구구절절하게 설명해야 하는지.... 그냥 좋은자료 올라와서 바이러스나 스파이웨어같은 문제가 없다면 감사합니다! 하고 쓰면 되는거고, 토론을 원한다면 토게에 역공학 토론 한번 올리셔야죠
테스트서버는 작동이안되나요? 화면도 짤리고 본서버가 뜨는데..
테스트 서버는 안됩니다.
아마 클라이언트 업데이트해도 안될겁니다.
취약점을 알리는 것은 옳지만, 그 취약점을 이용해 변조된 프로그램을 배포하는 것은 문제가 있다고 봅니다. 그리고 2D게임과 3D게임과은 기본적으로 해상도에 대한 개념에 차이가 있습니다. 2D게임에서 해상도에 제한을 가하는 것은 어쩔 수 없습니다.
러디 님 께서 만드신거니...저는 그냥 믿고 쓸렵니다...ㅋㅋㅋ 여기저기서 러디님의 실력을 봤기에...저는 그냥 갑니다요...
네, 원래 우리나라는 이런 역공학의 결과물은 목적이 어떻든간에 법으로 먼저 따지게 되죠. 뭐 어쩔수 없습니다. 저도 대한민국 국민이니까요. 혹시 외국도 우리나라처럼 그러냐고요? 시간 여유 있으시다면, Exploiting Online Games 책 사서 읽어들 보시길. 매크로 만드는 방법부터 온라인게임 디버깅 방법 , 게임 취약점에 관한 정보들이 소스코드와 함꼐 총망라 되어져서 설명되어져 있습니다. 이 책의 저자는 누구냐구요? www.rootkit.com 그 유명한 루트킷 닷컴 사이트의 운영자입니다. 이분이 누구냐구요? 보안 회사의 CEO입니다. 여기서 웃긴것은 , 이 책은 원서입니다만, 번역한 사람은 넥슨에 근무하는 게임프로그래머입니다
이제 더이상 불법프로그램이란것에 대해서 의견을 내놓지 않겠습니다.
제 생각에는 취약점을 알면서도 공개 안하고 혼자서 몰래 악용하는 게 더 나쁘다고 봅니다. 보안 회사 측에서는 이러한 여러 취약점들을 발견해주길 오히려 바라고 있을 것 같은데요? 귀찮긴하겠다만..
그럼 기존의 테일즈위버.exe파일도 정상작동 할 수 있는건가요??
기존으로 하시고싶으면 , 런쳐켜서 게임 하세요.
HackShield Error : 740 // 보안모듈업데이트에 실패하였습니다 // 라고 뜨네요..; 비스타 유저입니다-
핵쉴드와 이 프로그램과는 별개 문제입니다.
런처가 뜨지않고 바로 핵실드로 들어가서랜더링타입을 바꿀수가없네요 허허
런쳐에서 타입 바꾸고 실행하세요.
런처는 항상 B타입인데 Hires를 실행하면 런처가 뜨지않고 바로 실행되요 // 들어가서보면 A타입이네요...
학학 넓어서좋아요 마치 22와이드 모니터 첨샀을때처럼 ㅋㅋ
-0-;;이런걸 왜올리시는건지 이해가 안가
글 내용 읽은 후 머릿속으로 생각을 하고 리플을 달아주세요
개념최고다
안드로메다가서 개념 하나 구입하심이...
넥슨에 취직 고고싱!
랜더링A랑 맞지 않는지라 아쉽네여 ㅠ
랙이 많이 걸리더라구요 ㅋㅋ
보안모듈 어쩌구가 나오면서 안되는 것 같아요 ㅠㅠ;
음 .. 그럼 이 플그램 쓰면 메테오가 떨어지는게 한화면에 다보이겠군요 ...기존해상도는 옆으로 좀 퍼져나가는데 ;ㅅ;
노트북이라 그게그거인 1인 ㄱ- ㅠㅠ
하지만 중요한 것은. 이런 프로그램이 나도는게 문제가 있다면 넥슨이 알아서 제재를 가할 것이고. 이런 취약점이 있다는 것도 알게 됨으로서 좀 더 발전하게 되겠죠. 결과적으로 보면 테일즈위버의 발전에 도움이 된다고 볼 수도 있습니다. (그렇다고 마냥 좋다는 말은 아닙니다.)
왜저는 덮어쓰기,Talesweaver_Hires.exe없는걸까요..
취재는 재밌지만 여전히 논란의 여지가 많네요. 넥슨본사에 건의를 하여 영향력을 줄만한 계기가 생겼으면 좋겠습니다. 수고하셨습니다.
핵실드가 작동 안되네용 ㅋㅋ 그냥 하라는데로 해야징
과연 넥슨이 테일즈에 관심을 줄지가 의문
풀스크린 모드는 되지 않는건가요 ... 개인적으로 풀스크린 모드가 좋은데 말이죠 ~ 그래도 만드신 열정은 최곱니다. 이것은 게임 개발자가 했어야 한 일인데 말이죠
되긴 됩니다만 , 따로 기능을 추가해서 배포할 계획은 현재로썬 없습니다.