언리얼 5.5 기반 게임에서 채팅 데이터를 가져와서 디스코드 서버에 뿌려주고 싶었는데 게임 사양이 너무 높아서 하루종일 컴을 쳐놓는건 거의 불가능 했음
그래서 직접 커스텀 클라이언트를 만들어서 채팅 RPC 패킷을 받아온 후 복호화 하기로 함
공식 문서랑 Ghidra로 전체적인 틀을 잡고 Windbg로 메모리 하나 하나씩 보면서 실제 데이터 타입이랑 값들을 찾은 다음 해석해서 구현했음
아래는 실제로 커스텀 클라이언트가 서버에 접속하면서 접속 알림이 뜨고 채팅을 추출하여 저장하는 장면인데 이거 하려고 거의 3달 걸렸다

무슨겜인데
아크 어센디드라고 공룡겜 있음
개고수
논클라네
졷고수노ㅋㅋ
굴금한게 업데이트되면 다 고쳐야함?
gengine, fname과 같은 global identifier가 있어서 숨기지 않는이상 찾아짐
필요한 값들은 다 실제 클라이언트 접속할 때 스니핑해서 새로 추출할 수 있기 때문에 그냥 딸깍 하면 업데이트 끝임
좆고수 - dc App
이야
능력 있네