리니지 클래식 #2
컨텐츠 정보
- 419 조회
- 36 댓글
- 목록
본문
리니지 클래식 구현이 거의 마무리 되었네요.
다만, 마음에 걸리는 부분이 지난번 왕뚜껑맨 님의 말씀대로 클래식의 경우 게임연구소 사이트가 문제될 수 있는 여지가 있을 수 있다라는 부분에서 조심스러운 생각이 있습니다.
현재 서비스되고 있는 클래식을 그대로 따라 구현한 상황이다보니 저도 클래식 내용을 올리는 부분은 조심스러워지고 게임연구소 사이트에 피해를 드리면 안되니 클래식 소식을 올리기에 눈치보이네요.
기회되면 어떤 방법으로든 테스트 오픈으로 함께 플레이하면서 즐길 수 있는 시간 되었으면 좋겠지만 눈치 좀 보겠습니다.
지난번 640x480 웹클라이언트도 배포를 위해 작업중인데 마무리해야할 부분이 너무 많아 웹클라 작업과 현생 작업이 맞물리면서 commit이 늦어지고 있는 상황입니다.
프로젝트 하나둘씩 마무리하면서 계획했던 배포도 원활하게 이루어지도록 땀흘리면서 달리고 있습니다.
관련자료
댓글 36
오크서버님의 댓글
요즘은 린빈이나 exe 사용이나 변조 및 개조를 안한다 하더라도 2차 창작이든 3차 창작이든 pi가 리니지나 유명 브랜드 게임은 저작권상 문제가 제기되기도 해서 그럴거에요 판례가 2024년부터 많았기 때문에 또 접속기 판매및 운영하는 사람들의 진술 등등이 많았기도 했어요.
개발 하고 노력하는것은 좋지만 창작이라 함은 새로운 pi 새로운 특허적 개발 게임 아니면 요즘은 대부분 도용으로 간조 되는 세상이
되었더라고요.
새로운 pi 새로운 이미지 새로운 창작 해서 만드는걸 추천드려요 구지 노력해서 만들기보다..;;
많이 노력한 부분이 보이네요 화이팅입니다.
개발 하고 노력하는것은 좋지만 창작이라 함은 새로운 pi 새로운 특허적 개발 게임 아니면 요즘은 대부분 도용으로 간조 되는 세상이
되었더라고요.
새로운 pi 새로운 이미지 새로운 창작 해서 만드는걸 추천드려요 구지 노력해서 만들기보다..;;
많이 노력한 부분이 보이네요 화이팅입니다.
오크서버님의 댓글
기술은 열정과 과 짬과 미치면 누구라도 3개월~ 1년이면 누구나 ai 클로드나 지피티정도면 다만드는 수준이 되어 버린 세상이라. 아쉬운 세상입니다.
사루비 님 실력정도면 게임회사 공문 나오면 도전 해보시는걸 추천드려요 인디게임 공모전도 있으니 도전 하시다보면 그쪽 분야에서도 분명 잘되실거라 믿습니다. 여기 있는분들 실력있는 분들도 있고 사기꾼도 있겠지만 그래도 재미있고 좋아서 연구하고 개발하는 것이니 기왕이면 대회에서 다들 만났으면 좋겠습니다.
사루비 님 실력정도면 게임회사 공문 나오면 도전 해보시는걸 추천드려요 인디게임 공모전도 있으니 도전 하시다보면 그쪽 분야에서도 분명 잘되실거라 믿습니다. 여기 있는분들 실력있는 분들도 있고 사기꾼도 있겠지만 그래도 재미있고 좋아서 연구하고 개발하는 것이니 기왕이면 대회에서 다들 만났으면 좋겠습니다.
시루비님의 댓글의 댓글
제가 작업한 방식으로 설명을 드리자면 복호화를 성공했다? 라고 답변을 적었지만 이게 성공했다고 봐야할지 아니다라고 봐야할지 조금 모호하긴 합니다.
(성공했다고 설명한건 첨부한 이미지 처럼 저만의 lcxviewer 를 만들어서 최신 업데이트 lcx 파일에서도 대응이 가능하기 때문입니다.)
그럼에도 복호화 성공이라고 보기 어려운 부분이 클래식 클라이언트는 복호화에 3개의 key 값이 필요한데 저는 마지막 핵심 key 1개를 정확히 복호화하지 못했습니다. (뒷부분에 설명 드리겠습니다.)
클래식 클라이언트는 chacha20-poly1305 암호화 모듈로 lcx 파일의 처음과 마지막에 암호화 처리를 해두었다는걸 알게 되었습니다.
이 과정에서 tony github 에 pakviewer c# 으로 제작된 뷰어가 있었고 \src\Lin.Helper.Core\Lcx 폴더에 lcx 복호화에 사용하는 2개의 키 파일을 찾을 수 있었습니다.
pakviewer 를 확인해보시면 실제 목록을 가져오고 lcx 파일마다 어떤 구조로 내부가 되어 있는지 들여다 볼 수 있었습니다.
그런데, 앞서 언급한 3번째 key 가 필요했는데 이 key 를 아무리 대입시켜보고 다양한 방식으로 조합해도 어려워 여러가지 자료를 찾던중에 클래식 파일이 보이는 pakviewer 에 빌드된 파일 dll 을 그대로 대입해서 실행했더니 화면에 그려지는걸 알게 되었고 그 dll 을 그대로 사용해서 복잡하게 생각 안하고 나중에 시간되면 풀어볼 생각에 넘어간 상태입니다.
이렇게 LCDT 암호화를 lcx 파일에서 풀면 내부의 모든 데이터가 보였습니다.
말씀하신 lcf 가 이 과정을 이야기하신거 같습니다.
lcx 를 열어서 어떤 작업을 하시려고 하시는지 아직 모르니 설명 드릴게 충분하지 않지만,
직접 이렇게 작업해보니 저는 lcx 파일 자체를 사용하지 않을거 같긴합니다.
사용하지 않는 dump 데이터와 구버전 파일, 사용 안할 파일들이 너무 많아 용량이 너무 비대해져서 조금 번거롭네요.
지니냐님의 댓글의 댓글
답변 감사합니다. 설명해주신 내용을 보니 제가 필요한 것도 3번째 key 자체를 알아내는 것보다는, 실제 LCX에서 SPX/PNG 데이터를 정상적으로 읽어야겟네요.
가능하시다면 아래 부분만 조금 더 알려주실 수 있을까요?
실제로 LCX가 열리게 만든 빌드된 DLL의 정확한 파일명이 무엇인가요?
예: Lin.Helper.Core.dll인지 다른 DLL인지 궁금합니다.
그 DLL을 이용해서 data_0.lcx를 열고 내부 파일 목록을 가져오는 최소 C# 코드가 있다면 부탁드릴 수 있을까요?
LCX 열기 → 파일 목록 → 특정 *.spx byte[] 읽기 정도만 있어도 됩니다.
사용하신 클래스/메서드명이 궁금합니다.
예를 들면 LcxReader, LcxFile, Open, ReadEntry, Extract 같은 실제 API 이름입니다.
SPX 이미지 렌더링도 그 DLL 안에서 처리하신 건가요, 아니면 LCX에서는 SPX 원본 byte만 받아오고 SPX 파서는 별도로 직접 만드신 건가요?
가능하다면 사용하신 PakViewer의 정확한 버전/커밋 또는 Release 버전도 알려주시면 감사하겠습니다. 최신 소스와 빌드 DLL의 기능이 다른지 확인하려고 합니다.
가능하시다면 아래 부분만 조금 더 알려주실 수 있을까요?
실제로 LCX가 열리게 만든 빌드된 DLL의 정확한 파일명이 무엇인가요?
예: Lin.Helper.Core.dll인지 다른 DLL인지 궁금합니다.
그 DLL을 이용해서 data_0.lcx를 열고 내부 파일 목록을 가져오는 최소 C# 코드가 있다면 부탁드릴 수 있을까요?
LCX 열기 → 파일 목록 → 특정 *.spx byte[] 읽기 정도만 있어도 됩니다.
사용하신 클래스/메서드명이 궁금합니다.
예를 들면 LcxReader, LcxFile, Open, ReadEntry, Extract 같은 실제 API 이름입니다.
SPX 이미지 렌더링도 그 DLL 안에서 처리하신 건가요, 아니면 LCX에서는 SPX 원본 byte만 받아오고 SPX 파서는 별도로 직접 만드신 건가요?
가능하다면 사용하신 PakViewer의 정확한 버전/커밋 또는 Release 버전도 알려주시면 감사하겠습니다. 최신 소스와 빌드 DLL의 기능이 다른지 확인하려고 합니다.



















