생각난 김에 기록.. 이 내용은 아마 VxLang 개발 기록(2) 전후의 내용이다.
https://jiniya.net/ng/2018/11/take-responsibility/
[소고] 책임진다는 말...
오래전 일이다. 먹고 살기 힘들어 인건비 따먹기 SI 사업을 하던 때였다. 당연한 얘기지만 SI 사업에는 적은 리소스를 투입하고 최고의 효과를 얻어야 하던 시절이기도 했다. 그래야 시간이 생기
jiniya.net
이 이야기의 시작은 위 링크의 글일 것이다. 난 이전 프로젝트에 투입되기 직전 여러 회사로부터 오퍼를 받은 상태였다. 연봉도 30프로 이상 차이나는. 이때 이직을 선택하지 않은 이유는 두 가지였다.
1. 당시 CTD님과의 약속
2. 내가 담당하던 솔루션.
난 이 회사 입사 과정이 조금 기괴했다. 면접에서 실장 레벨인 줄 알았던 분이 당시 CTD님셨다. CTD님은 좋은 솔루션을 만들어 달라는 부탁을 했었다(지금 와서 보면 그냥 빈 말). 또, 당시 내가 담당하던 솔루션은 커밋 기록이 16년으로 돌아간 솔루션이었다. 동작 방식도 아무도 모르고 문제도 많았다. 욕만 오지게 먹고.
지금 보면 멍청한 이유지만 위 상황에서 처음 링크 글과 나와의 약속이 겹치며 이직을 하지 않았다.
드디어 미쳤구나 생각하던 도중, 당시 TD님이 신규 프로젝트 제안을 주셨다. 이런저런 이유로 거절을 했었지만.. 내 목적과 조율이 되어 참여하게 되었다.
이전 플젝에 참여한 것은 (여러 이유가 있었지만) 안티 탬퍼 개발 포지션 때문이었다. 프로젝트 자체는 AC 개발 프로젝트지만, AC까지는 바라지도 않았다. 왜인지 모르지만, 당시 AC 코어 코드에는 권한이 없었다. 난 코드랩이란 저장소에 기능 PoC만 짜고, TD님 배려로 안티 탬퍼 개발만 메인으로 하였다.
안티 탬퍼 솔루션 프로젝트 목적은 AC 모듈과 게임 모듈을 보호하고 두 모듈을 연동하는 것이었다.
난 매일 이런저런 시도를 하면서 PoC 코드를 작성하고, 저장소에 짱박아둔다. (내가 찾은 딥-슬립 비슷한 기법이나, syscall, 리플렉션, 핸들 서칭, 쉘 코드 생성 등.) 여담으로 난 이런 게 우리 업종의 가치를 찾는 일이라 생각한다. 이런 건 취미로 리서치해두고 필요할 때 꺼내야 한다.
아무튼 내 작업은 거의 저기서 빼서 재조립하기 때문에 이 녀석도 어느 정도 완성된 형태였고, 개발 4개월 정도에 완성이 되었다. 코드 난독화를 작성해야 했지만, 이후에는 다시 PoC 개발로 투입되었다. (이때부터 이상한 PoC를 하면서 프로젝트가 산으로 간 게 아닌가 싶다.)
이때부터 다시 첫 링크의 글로 돌아간다. 난 또 내가 실패한 프로젝트를 수습하기로 했다. 이후에 몇 번 기회가 있었지만, 나 역시 수습하는 건 퇴사가 아니라 생각했고 지금 솔루션으로 1년 넘게 버텼다.
여담 1.
이런 건 역량이 있는 사람들하고 해야 하는구나 싶다. 그냥 불만에 든 생각이 아니고, 바이프런/제로아이티/백엔지니어링 등 이런 업체가 파생되는 이유를 보면.. 저런 파티가 아니라면 방향성이 잡히지 않는다.
여담 2.
이번 출시까지만 개발하고, 이 회사 일로 개발은 멈추려 한다. 이건 리버싱과 아이디어가 있어야 하는 분야다. 이런 게 안되면 뭐가 문제인지 모른다. 직접 해보고 판단해야 한다.
여담 3.
제발 게임 바이너리에서 편하게 동작할 생각을 하지 말자. 제발 난독화 없이 일반 이미지 상태에서 동작하려고 하지 말자. 수많은 로딩 트릭이 괜시리 나오는 게 아니다. 남들이 더 잘하는 걸 하면, 존재 이유가 없다.
'History > Tales' 카테고리의 다른 글
| VxLang 개발 기록(3) (0) | 2024.12.23 |
|---|---|
| VxLang 개발 기록(2) (0) | 2024.12.22 |
| VxLang 개발 기록(1) (0) | 2024.12.21 |