후커

 


'''Hooker'''
1. 개요
2. 팁
3. 대표 후커 목록
4. 관련 항목


1. 개요


텍스트 코드를 중간에 낚아채서(hook), 일정 처리 후 이를 윈도우로 보내주는 프로그램.
기본적으로 후커는 프로그래밍 기법중 하나인 "후킹"을 하는 프로그램을 두루 일컫는 말이지만, 이 바닥에서는 주로 Oh! text hooker 및 이와 비슷한 역할을 하는 프로그램을 의미한다. Oh! text hooker는 개발이 중단되었지만 이후에도 같은 기능을 가지고 성능을 발전시킨 프로그램들이 지속적으로 나오고 있다.
이 후커라는 프로그램은 후킹한 프로그램의 텍스트를 추출하는 기능만 있다. 즉, 번역 작업은 별도의 번역 프로그램이나 웹 번역 서비스에 연동하여 작동한다.
이 설명에서 알 수 있겠지만 '''후커 자체는 번역 프로그램이 아니다.''' 결국 번역은 후커가 아닌 번역 프로그램이나 연동되는 웹 번역에 따르기 때문에 어떤 번역기를 사용하느냐가 그 질을 좌우한다. 국내에서는 주로 꿀도르를 적용한 EZTrans XP가 사용된다.
거기다가 심지어 텍스트를 추출해도 그 추출한 텍스트를 화면에 뿌려주는 기능은 빈약한 경우가 많아 주로 다른 텍스트 출력 프로그램과 조합되어서 사용된다. 물론 아랄트랜스VNR과 같이 후커 자체에 우수한 텍스트 출력 기능이 내장된 프로그램들도 있기는 하다. 후커와 변용하기 위해 대표적으로 사용되는 텍스트 출력 프로그램으로는 아네모네에그헤드가 있다.
요컨대 작동 방식을 간결히 설명하자면 다음과 같다.
1. 후커가 텍스트 추출
2. 번역기가 추출된 텍스트를 번역
3. 텍스트 출력 프로그램이 추출된 텍스트나 번역기가 번역한 텍스트를 출력
원래는 매우 다양한 용도로 사용할 수 있지만, 이용 사례의 상당수는 야겜 플레이. 일본어를 모르는 사람들에게 있어 이 프로그램은 야겜 플레이 시 필수 요소다. 이 프로그램 덕분에 야겜 플레이어가 세계적으로 되었다는 의견도 있다. 공교롭게도 hooker는 미국 속어로 매춘부를 의미하기도 한다. 물론 야겜에서 가장 보급이 많이 되었다는 거지, 쯔꾸르, 울프툴, 스팀[1], PCSX2, PPSSPP 등 다른 분야에서도 활발하게 사용되고 있다. 특히 쯔꾸르는 쯔꾸르 전용 후커가 나오기도 할 정도.
2010년대에는 주로 아랄트랜스, ITH, VNR, TwoControl 등의 후커가 사용되고 있다.
또한 후커는 아니지만 OCR 기능을 사용해 후커와 비슷한 기능을 갖고 있는 MORT라는 프로그램도 있다. 자세한 건 후술하겠지만 후커는 게임을 후킹해야만 작동하기 때문에 H 코드 등의 후킹 기술이 필수적인데 MORT는 OCR 기능을 사용해 텍스트를 이미지처럼 읽어들어서 작동하기 때문에 새로운 가능성이 개척되었다. 다만 OCR 특성상 윈도우 10 OCR을 제외하면 아직 인식율이 별로 높지 않기 때문에 아직은 후커가 작동하지 않는(H코드가 없는) 게임이나 콘솔 게임 등지에서만 사용되고 있다.

2. 팁


초보자는 사용이 좀 까다로울 수 있는데, 후커를 그냥 사용할 경우 대사가 한 줄만 나온다거나 대사가 안 나온다거나 하는 문제가 발생하는 경우가 잦은데 이는 'H코드'라고 하는 특정 코드를 사용하는 걸로 해결이 가능하다.
텍스트를 저장하는 방법은 각 프로그램마다 전부 다르기 때문에, 어디에서 어떤 방식으로 후킹을 하라고 지정해주는 것이 흔히 말하는 H코드이다.
H코드를 찾는 것은 어셈블리에 대한 지식과 경험, 그리고 노가다를 필요로 하기 때문에 일반인은 하기 힘들고 유명 게임의 H코드를 찾는 사람은 용자 칭호를 받을 수 있다. 이름의 유래는 Cliphooker EX에서 사용한 AGTH의 /H 옵션에서 유래. 그래서 'ATGH 코드'라고 불리기도 한다.
다만 후커마다 서로 사용하는 코드가 다르기 때문에 한 코드를 모든 후커에서 사용할 수 있는 것은 아니다. 예를 들어 아랄트랜스는 AT 코드라고 불리는 코드를 사용하며, AGTH 코드를 비롯한 다른 코드는 사용할 수 없다.
기본적으로 /x만 넣으면 되는 게임도 있지만 매우 복잡한 게임도 있다. 여하튼 후커가 제대로 작동을 안 한다 싶으면 게임 이름과 함께 'H code', 'agth code' 등으로 구글링을 해보면 좋다. 기본적인 H코드는 여기에 상당수 있으며, 아랄트랜스에서 사용되는 AT 코드는 아랄연구실에 있다.

3. 대표 후커 목록


Artikash가 개발한 막강한 성능을 가진 후커.
ITHVNR의 후속으로 나온 프로그램이며, 아랄트랜스와 같이 인게임의 텍스트 출력 화면을 마치 한글 패치처럼 영어나 한글로 수정하는 기능은 없지만 막강한 후킹 기능으로 인해 서양에서는 많이 사용되는 후커이다.
따로 H코드를 넣지 않아도 기본적으로 후킹이 지원되는 게임들도 상당히 많지만, 이 후커의 가장 큰 특장점은 바로 기본적으로는 후킹을 지원하지 않고 H코드도 없는 게임이라고 하더라도 강제로 후킹을 사용할 수도 있다는 것이다.
Settings - Search for Chinese/Japanese/Korean에 체크 - Search for specific text를 클릭한 뒤 현재 게임 화면에 출력되고 있는 대사를 입력[2]하면 몇 분 정도의 검색 이후 여러 개의 검색 결과를 보여주는데 후킹에 성공했을 경우 이 검색 결과 중 하나가 마치 H코드를 넣은 것처럼 제대로 보일 것이다.[3]
개발자가 밝힌 바에 따르면 이 기능을 사용하면 PCSX2, PPSSPP, 유니티 엔진, Ren'Py, 티라노 빌더[4] 등으로 구동되는 게임들도 이론적으로는 후킹이 가능하다고 한다. 실제로 듀엘 세이버 데스티니 PS2판, Chaos;HEAd PSP판, 극한탈출 시리즈 스팀판 등은 이 기능을 사용하면 후킹이 가능하다.
물론 이렇게 해도 후킹이 안 되는 게임들이 더 많고[5] PC 게임의 경우 후킹 코드 저장이 가능하기도 하지만 일부 에뮬(주로 PPSSPP)의 경우 매번 게임을 실행할 때마다 후킹 코드가 바뀌는 탓에 번거로운 작업을 반복해야만 해서 OCR 인식률이 높은 게임이라면 차라리 MORT를 사용하는 게 더 나을 수도 있다. 큰 기대는 하지 말고 그냥 후킹이 안 될 때 한 번 최후의 수단으로 시도나 해보자는 마음가짐으로 임하는 게 좋다.
2020년 8월, 4.12.4 버전이 배포되면서 개발자가 사실상의 개발 중지를 선언하였다. 4월부터 개발에 지쳤으며 앞으로는 사소한 버그 수정 외에는 업데이트 계획이 없다고 한다. GitHub와 이메일을 통한 질의응답도 중단하였고 개발을 중지하였기에 후원도 받지 않겠다고 한다. 그래도 버그 수정과 기능 개선을 비롯한 마이너 업데이트는 꾸준히 이루어지고 있다.
RPG 만들기 MV 전용 후커.
현재 공식 홈페이지에서 자료를 다운받으려면 사이트 회원가입이 필요하니 그냥 구글링 등으로 구하는 것을 추천한다. 2019년 기준으로 최신 버전은 0.0.3.4. 또한 MV 게임을 분해하는 유틸 프로그램인 EnigmaVBUnpacker도 함께 설치해야 한다.

4. 관련 항목



[1] 대부분의 스팀 게임들은 프로그래밍이 복잡해서 후킹이 안 되지만 극소수의 인디 게임이나 텍스트 어드벤처는 구조가 단순해서 간혹 후킹이 되기도 한다. 또한 후킹을 기반으로 제작된 중문화 패치와 한글 패치도 꽤 많이 존재한다. 대표적으로 매스 이펙트의 한글 패치가 후커를 이용한 방식이다.[2] 가능하면 대사창 첫번째 줄의 첫번째 글자부터 입력하는 게 좋다. 캐릭터의 이름이나 괄호를 비롯한 특수문자까지 포함해서. 왜 그러냐면 예를 들어서 만약 2번째 글자부터 입력했을 경우 후킹에 성공해도 2번째 글자부터 텍스트가 출력되기 때문이다. 반대로 대사를 끝까지 입력할 필요는 없다. 대사가 시작되는 부분 몇 글자를 똑바로 입력하는 것이 중요하다. "그래, 그거다. (다음 화면 대사)바로 그런 것이다."라는 대사를 "래, 그거"라고 검색할 경우 "래, 그거다. (다음 화면 대사)로 그런 것이다."같은 식으로 후킹이 된다는 것.[3] 보통은 3개 이상의 검색 결과 창이 나올 것이다. 백로그가 출력되는 창, 현재 게임 화면에 보이는 대사창의 X번째 줄만이 출력되는 창, 현재 게임 화면에 보이는 대사창 전체가 출력되는 창 등. 여기서 필요한 것은 '현재 게임 화면에 보이는 대사창 전체가 출력되는 창'이다.[4] 비주얼 노벨 제작 프로그램으로 대표적인 작품으로는 도트코이가 있다.[5] '현재 게임 화면에 보이는 대사창 전체'가 필요한데 그것은 나오지 않고 '대사창 X번째 줄만이 출력되는 창'만 검색 결과로 나오는 경우가 많다. 루나소프트 엔진으로 개발된 게임들과 Fate/EXTRA 시리즈(PPSSPP) 등이 그러하다. 아예 이조차도 나오지 않는 게임들도 많고.

분류