본문 바로가기

쓰기

오랫만입니다 ;;

 

예전부터 해야지 해야지 미루다가 한동안 ATCTNR 과 알고리즘 플러그인이 업데이트 안되는 찬스를 노리고 후닥닥 해치웠습니다.

 

기능상의 변경점은 없고, 하위호환성 향상패치입니다.

 

* 변경점

 - 피시님께서 변경하신 HookDllFunction, HookCodePoint 를 HookDllFunctionEx, HookCodePointEx 로 이름을 바꾸었습니다.

 - HookDllFunctionEx, HookCodePointEx 에 들어가는 BOOL bHookSet 을 INT nHookType 으로 변경했습니다 (인자의 의미는 동일)

    (혹 나중에 제3의 후킹방법이 발견될지 모르니까..랄까 결국은 BOOL이나 INT 나 int형이니까 똑같지만 그래도..)

 - 기존의 인자를 가지는 HookDllFunction, HookCodePoint 를 API 에 다시 추가했습니다.

    (어차피 내부적으로는 Ex 버전을 부릅니다만 이것으로 구버전 알고리즘 플러그인도 제대로 동작할겁니다)

 

그리고 부탁이랄까 가이드라인이랄까.. 앞으로 혹시라도 API 형식(인자, 리턴값)을 건드리실 일이 있다면 가능하면 하위호환성을

위해 기존 API 는 남겨두시고 이름을 새로 지어 추가해 주시기 바랍니다.

 

* 전부 고친다고 고쳤는데 각각의 알고리즘에 맞는 게임들이 현재 없다보니 만의하나 잘못된 플러그인이 올라갔을 수 있습니다.

바로 전버전에서 문제없었는데 이번 버전에서 에러가 나는 플러그인이 있으면 알려주세요.

(ATCode 는 일단 대충 동작확인을 했습니다)

 

ATCTNR_ATCode_Cached_DebuggingATCode_Kirikiri_NonCached.130616.zip

TwoComet

2013.06.16
13:16:58

"비밀글입니다."

:

whoami

2013.06.17
00:28:51

AralGoodDlg 는 AralTrans.exe 쪽 파일이네요. 그렇지 않아도 본체쪽 130601버전 커밋좀 해달라고 말씀드리려 했는데.. 기존 버전에서 AralGoodDlg 만 치환하면 130601 버전이 되는건가요? 아니면 다른 곳도 만져야 하나요? 어차피 exe 파일쪽은 손 안댔으니까 (아, bin 에 파일 올렸구나.. 이거는 그냥 자동 업데이트된것 올린것 뿐인데;;) AralTrans.exe 는 직접 커밋하셔도 되지 않을까나요?

 

그리고.. 여쭤본다는걸 깜박 잊은게 있는데.. ATCTNR 에 export 되어있는 것 중에 PreBinaryPatch 라는게 있던데 이거 어디에 쓰이는건가요? def 파일에 정식으로 올라있는게 아닌 것으로 봐서 내부적으로 쓰거나 테스트용도로 쓰인게 남은 것 같기도 한데..

TwoComet

2013.06.17
00:37:17
http://lab.aralgood.com/index.php?document_srl=65704
http://lab.aralgood.com/index.php?document_srl=66691  (+2번)

후킹하는 형태를 조금 바꾸어
프로그램내에 HEX 값을 바이너리 값으로 입력받아
수정되는 기능입니다.

실행파일을 수정해서 배포하는 불법을 조금이라도 우회하는 목적으로 되어있습니다.
(다소 편리하기도 합니다. NODVD 패치를 한다거나, 혹은 랴겜이 아닌 프로그램에서 다른용도로 쓴다거나)

일단 현재시각으로 am 00:37 커밋못했던 파일들을 커밋하였습니다.

whoami

2013.06.17
01:20:40

커밋 수고하셨습니다 ^^

 

PreBinaryPatch 가 무엇을 하는 건지는 알고 있습니다. 제가 여쭤봤던 것은 바이너리 패치가 ATStartUp 에서 이루어지는데

따로 PreBinaryPatch 라고 export 시켜두신 이유가 무언지 궁금해서요. API 처럼 플러그인에서 불러쓰기 위한 용도인지

아니면 SetupATContainer 처럼 아랄트랜스 본체에서 불러쓰기 위한 용도로 테스트삼아 만들었다가 ATStartUp에 통합

시키신건지가 알고 싶었습니다.

TwoComet

2013.06.17
17:45:36

"비밀글입니다."

:

whoami

2013.06.18
01:34:38

"비밀글입니다."

:

TwoComet

2013.06.18
01:43:52

"비밀글입니다."

:

whoami

2013.06.18
02:07:21

"비밀글입니다."

:

TwoComet

2013.06.18
02:52:25

"비밀글입니다."

:

TwoComet

2013.06.18
14:20:21

혹시 HookCodePointEx 의 4번째 인자를 int 형으로 하셨는데

기존 HookCodePoint 는 살아있는건가요? 살아있다면 인자는 뒤의 후킹 방식을 뺀 3개만 입력받도록 되있는지....?

아니라면 HookCodePoint (+DLL)도 따로해서 얘가 입력받는 인자는 3개만 받도록 지원해주시면 감사하겠습니다.

(훅타입을 제외)


구 SCP나 TAT코드 플러그인들이 4번째 인자가 없는 기존 HookCodePoint을 사용하도록 말이지요...ㅇ;;

(과거 플러그인들도 지원하기 위해서 위와 같은 형태로 다시 남겨두는게 좋다고 생각합니다만.. 어떨까요?)

whoami

2013.06.18
17:43:40

Ex의 4번째 인자는 이전 코드의 함수명에 Ex 를 붙이고 4번째 인자의 BOOL 을 INT 로 변경한 것밖에 없습니다.

들어오는 값도 예전에는 TRUE/FALSE (어차피 1/0) 였던 것을 ATHOOKTYPE_SOURCE/ATHOOKTYPE_COPY

(이게 맞나 모르겠네.. 지금 소스를 볼 수 없는 곳이라서.. 어쨌든 어차피 enum 으로 1/0) 로 변경한 것 뿐이지요..

아, 정의되지 않은 인자가 들어오는 경우 기본적으로 ATHOOKTYPE_COPY 로 동작한다는 것이 바뀐 점이랄까요.

BOOL을 INT 로 변경한 이유는 만약 제 3의 후킹타입이 발견? 발명? 되었을 때 유연히 대처하기 위한 것입니다.

물론 BOOL이나 INT 나 같은 int 형이지만 시그니쳐에 BOOL 이라고 써있으면 T/F 만 들어갈 수 있는 것처럼

보이니까요.. 기분상.. 이랄까;;; (먼산)

 

그리고 다시 살린 HookCodePoint 의 경우 옛날 버전처럼 인자를 3개 받아서 Ex에 보내주기만 합니다. 쉽게 말해

BOOL HookCodePoint(인자3개)

{

    return HookCodePointEx(인자3개, ATHOOKTYPE_COPY);

}

인 것이죠. 내부적으로는 Ex 버전으로 동작하는겁니다. 하지만 이 API를 살려둠으로 해서 기존 SCP나 TAT 플러그인도

소스를 안 고치고 바이너리 레벨에서 호환되어 동작가능해지는 것이죠. 그래서 하위 호환성 패치라는 뜻이고요.

TwoComet

2013.06.18
21:10:28

-확인완료-

수고하셨습니다. ^^/~~~~ㅁ


유리스 엔진 기능만 살짝 건들고 아랄 업데이트에 포함할까요?

whoami

2013.06.18
22:38:53

그러세요 ^^

 

아. 변경 후에는 바로 커밋 부탁드리고요.

List of Articles
번호 제목 글쓴이 조회 수 추천 수sort 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155439   2008-08-03 2008-12-16 00:03
429 Archive [플러그인] OutRuby 임시 버전 20081012_2 [7] file Hide_D 28333   2008-10-12 2015-07-14 15:18
 
428 Talk ATCTNR에다가 Python만 갖다 붙여도...? [1] Hide_D 279   2016-01-11 2016-01-12 01:30
ATCTNR에 몇가지 버그는 좀 있지만 이거 좀 보완하고, 인젝터 세팅가능하게 한다음에 ATCTNR + ProtocolBuffer(+gRPC) + Python 3 정도로 해서 묶으면, 꽤 재미있는 물건이 나오지 않을까 생각해봅니다 ㅇㅇ 이쪽은 Standalone으로 해볼만할 것 같기도 하고...  
427 Archive [본체] AralTrans.exe ATCTNR.DLL 150622 [4] file TwoComet 534   2015-06-22 2015-07-25 00:12
 
426 Archive [플러그인,소스] KoFilter 테스트 버전 20081118 file whoami 15552   2008-11-18 2008-11-18 23:37
 
425 Talk 아랄 트랜스 github/svn [6] ka7713 734   2018-12-26 2018-12-30 17:26
안녕하세요. 아랄트랜스 0.2/0.3 업데이트가 되지 않는 것이 안타까운데, github나 다른 곳으로 올려주실 생각은 없으신지요. 큰 도움은 안되더라도 조금이나마 기여하고 싶네요.  
424 Archive [플러그인] N eueGoogleTrans 180202 [5] file oscarw854 1413   2018-02-02 2018-02-03 17:45
 
423 Talk VB.NET에서 ezTransXP.dll사용하는 방법은 없나요? [1] R2D2 359   2016-06-14 2018-06-20 14:44
vb.net에서 MFC dll을 써서 이지트랜스로 번역해서 결과물을 가져오고 싶습니다. 그런데 아무리찾아봐도 방법을 모르겠습니다. Imports System.Runtime.InteropServices  Private Declare Fu*nction Translate Lib "ezTransXP.dll" (ByRef cszJapanese As Stri...  
422 Talk UTF-8이나 유니코드 원활한 필터처리를 위해 생각해봤는데 [5] Wales 620   2014-06-16 2014-07-29 16:39
Translate함수에 포함된 필터 전후처리를 따로 빼서 원문 전환전과 번역후에 필터 처리를 하도록 하는건데 문제는 필터들 전부 멀티바이트 중점으로 만들어지다 보니 필터 전부를 손봐야 하는 상황이 오는군요. 그래서 일단 보류중...  
421 Archive [플러그인,소스] ATCode 테스트 버전 140322 [4] file whoami 869   2014-03-22 2014-06-15 07:51
 
420 Archive [플러그인] ATCode 150531 file TwoComet 470   2015-05-31 2015-06-07 21:30
 
419 Talk aralgood.com 도메인 부활... [7] whoami 566   2014-03-02 2014-03-17 22:48
혹시나 하고 매일 한번씩 체크하곤 하는데.. 오늘 보니 도메인이 부활했군요! 아랄님이 체크하시고 부활시키셨나? 어쨌든 그에 따라 자동업데이트도 부활하고 좋군요. 혹시 아랄님이나 Hide_D군님 보시면.. 제로보드 업데이트 하실 생각 없으신가요? 꽤 오래된...  
418 Archive [플러그인,소스] ATCode, KoFilter2 테스트 버전 140301 [3] file whoami 439   2014-03-01 2014-03-02 11:59
 
417 Talk 이지트랜스 플러그인 Ehnd 제작자입니다. [6] kiereh 3433   2014-02-27 2014-03-01 17:59
에그헤드의 필터 기능을 타 써드파티 프로그램에서도 사용할 수 있게 하자는 발상으로 이지트랜스 플러그인인 Ehnd를 제작하게 되었습니다. 플러그인이라고 하는 이유는 Proxy DLL 기법을 이용해 구현하였고 (Ehnd의 DLL 이름은 J2KEngine.dll, 기존 이지트랜...  
416 Archive [플러그인,소스] ATCode 테스트 버전 140227 file whoami 455   2014-02-27 2014-02-27 01:59
 
415 Talk 아랄트랜스 0.2 소스 bitbucket 으로 올려놨습니다. [7] whoami 2832   2014-02-18 2018-12-27 18:27
구글코드 SVN 에 무슨 일이 생겼는지 몰라서 일단 백업삼아 bitbucket 에 repositiry 하나 잡고 소스를 올렸습니다. 아무래도 옛날 SVN과 인터페이스가 비슷해서 (TortoiseHg) 편한 Mercurial 로 세팅했고.. 공개로 일단 해놓기는 했는데.. 어차피 개발진이 몇...  
414 Archive [플러그인] atcode 비정상 문자 출력 픽스 file Wales 199   2014-02-16 2014-02-16 21:08
 
413 Talk 아랄트랜스 0.2 구글코드 svn 밴당했나요? whoami 2536   2014-02-15 2014-02-15 22:54
오랫만입니다... ^^ 새해 복 많이 받으세요.. 이미 늦었나. 아래 Wales 님이 코드수정을 몇 개 하신 것을 보고 오랫만에 svn 업데이트를 하려고 하니 에러가 뜨더군요. 그래서 구글코드 들어가 보니 프로젝트가 사라졌네요? 동일한 이름의 프로젝트를 만들려고...  
412 Talk 엔드 아랄호환 문제를 모두 수정했습니다 [2] kiereh 493   2014-04-28 2014-04-30 01:25
http://www.eroha.net/%ed%94%84%eb%a1%9c%ec%a0%9d%ed%8a%b8/%ec%97%94%eb%93%9c/ 오늘자 버전 (140428)으로 엔드와 아랄트랜스간의 호환 문제가 수정되었습니다. 멀티쓰레드로 번역문을 막 쏘면 문자열 포인터가 튀면서 잘못된 참조를 하던 문제, %가 들어갈...  
411 Archive [플러그인,소스] KiriKiri 테스트 버전 [1] file 미소미소 707   2014-04-17 2015-02-23 21:38
 
410 Talk 요 며칠간 아랄트랜스 사이트가 인기군요. [2] file whoami 924   2014-04-18 2014-04-28 16:06