본문 바로가기

쓰기

- 소개 -
ATCustom은 사용자가 직접 메모리 훅 및 메모리 작업을 할 수 있는
Script 기반 Algorithm 플러그인입니다.

Google Chrome에 탑재된 v8 JavaScript Engine을 사용하여 JavaScript 파일을 파싱하여 동작하며,
ATCustom에서 제공하는 API를 사용하여 작동합니다.
(API 함수 목록 : http://lab.aralgood.com/37377 )


- 작업 상황 -
(○) v8 JavaScript Engine을 준비합니다.
(○) v8 JavaScript Engine의 사용법을 익힙니다.
(○) ATCustom 플러그인의 골격을 구성합니다.
(○) ATCustom의 기본 API 함수를 구현합니다.
(▷) ATCustom의 고급 API 함수를 구현합니다.
(▷) ATCustom의 UI를 마무리합니다.
( ) ATCustom의 정상 작동 여부를 확인합니다.
분류 :
Talk
조회 수 :
32701
등록일 :
2010.07.22
22:41:22
엮인글 :
https://arallab.hided.net/37587/c98/trackback
게시글 주소 :
https://arallab.hided.net/board_devtalk/37587

프시쵸

2010.07.24
02:16:29
오오, 수고하십니다!
완성될 날을 손꼽아 기다리도록 하지요.

Hide_D

2010.07.24
03:19:16
ATCustom에서 하나의 스크립트하나의 스레드를 갖습니다.
Hook함수를 통해서 JavaScript에 Event가 걸렸을 지라도
그 함수 흐름은 항상 같은 단일 스레드내에서 동작함을 보증합니다.


이는 ECMAScript(JavaScript) 자체의 특성 때문입니다.

따라서 꼭 병렬도 처리 되어야할 Hook이 있을 경우
JavaScript 파일을 2벌 준비해서 각각 로드해아합니다.

망했네

Hide_D

2010.07.24
03:24:33
주기적으로 함수를 사용하는 Timer 계열 함수를 적용할지에 대해서는 아직 확정되지 않았습니다.
가능한 한 Timer 계열 함수를 준비해 둘 생각입니다.

Hide_D

2010.07.25
01:37:08
아 이런 Google의 v8 자체가 Non Thread-Safe다 -_-;
프로세스당 관리하는 Garbage Collector가 걍 혼자서 놀고 있으니
멀티스레드 따위 될래야 될 수가 없는 구조...

설마 그래서 크롬의 각 탭은 죄다 프로세스로 분리되어 있는건가

Hide_D

2010.07.25
03:59:54
AralTrans내부의 ezTrans 플러그인이 단인 스레드로 동작하고 있으니 결과적으로
내부의 모든 처리 구조가 의미가 없는 상황이니 Single Thread 기반인 v8을 쓸 수도 있지만

우선 Mozilla의 SpiderMonkey(Fireforx JS Engine)를 확인해보고 영 까다롭다 싶으면
v8을 이용해서 구현을 해봐야겠네요.

Hide_D

2010.07.25
23:44:25
Mozilla의 SpiderMonkey는 Thread-Safe로 사용하려면 무조건 NSPR.dll 파일이 필요하기 때문에
아랄트랜스 0.2에서 사용하기는 어려울 것 같습니다.

그냥 Google v8을 사용해서 v8에 스레드 하나만 주는 방법으로 구현해야겠네요 쩝

Hide_D

2010.07.31
22:35:51
필요한 기능
1. 기본 옵션창에서는 단순히 파일명만 지정
   -> 파일은 파일의 수저을 감지해서 새로고침
2. 추가 Trace Window (읽기 전용, 텍스트창)
3. 나머지는 v8 엔진부에서 처리

Hide_D

2010.09.18
15:29:41
이름을 변경했습니다!
앞으로 이 플러그인의 이름은 JSCustom입니다!
List of Articles
번호 제목 글쓴이 조회 수sort 추천 수 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155440   2008-08-03 2008-12-16 00:03
44 Talk DumpText는 아직 개선이 좀 필요한듯; [3] Hide_D 8111   2008-08-03 2009-01-06 01:00
여러개를 켤 수가 없다는 단점이 있네요[...] 그나저나 질문, 헤더 파일에서 extern으로 선언하면 그 프로그램 전체에서 공유되는건가요? 그렇다면, 창은 하나만 띄우고 플러그인 로드될때마다 번호를 매겨서 옵션을 먹여야 하려나요..  
43 Talk cmd로 리버ex 테스트 [2] file 앙마vv 8011   2008-07-25 2009-01-06 01:27
 
42 Talk 플러그인을 만들다가 '또다시' 엄청난 실수를 저질렀다는걸 깨달았습니다. [2] Hide_D 7929   2008-08-12 2009-01-06 01:01
이쪽은 프로그래밍이라보가는 구상과 관련된 문제네요 ㅠ_ㅠ 현재 제가 손대고 있는 플러그인이 사용자사전 사용자대본 개행문자처리 컨트롤문자처리 인데, 두개씩 묶여있는 구조죠. 그런데... 사용자대본 -> 문장단위처리 사용자사전 -> 단어단위처리 개행문...  
41 Talk 0.3에서 추가할것 Hide_D 7908   2008-08-03 2009-01-06 01:00
까먹을까봐 정리 사용자 사전계 1. 사용자사전 유/무 2. 범용사용자사전 유/무 3. 사용자 정의한 주소의 파일 열기(취소) 4. 탭처리 5. 검색 알고리즘 강화(보류) ezTransXP 강화계 1. 번역후 괄호 처리(다이얼로그에 추가)(보류) 2. 사용자 사전과 완벽히 분...  
40 Talk whoami님 Util.h의 옵션 파서가 [4] Hide_D 7908   2008-08-10 2008-08-10 15:13
문자열 을 지원하나요? 아니... 으음 c:documents and settindsuser내 문서Game,A루트(미완성).txt 라는 문자열을 파서로 받을 수 있나요?  
39 Talk 리얼라이브 세이브에 대해서... [4] 나는누구인감? 7894   2008-08-01 2009-01-06 01:00
오늘 학교에서 하라는 공부는 안하고 곰곰히 생각을 해봤습니다. 세이브 할 경우 현재 위치의 이미지 정보 읽어들임 → 현재 위치의 대사 정보 읽어들임 → 세이브 파일에 저장 로드 할 경우 세이브 파일의 이미지 정보 읽어들임 → 세이브 파일의 대사 정보 읽어...  
38 Talk DumpText를 만들고 있는데... [2] Hide_D 7892   2008-08-02 2008-08-02 12:04
밖에서 모달리스 다이얼로그 안으로 데이터를 넣어주는 간단한 방법 없나요 =ㅅ=; 저 방법이 생각안나서 지금 해보려고 하는게, 실시간으로 바깥의 isTextFilled 를 체크해서 true인 경우만 밖의 텍스트를 가져온 다음에 isTextFilled를 false로 만드는 방법밖...  
37 Talk Hide_D군님, CCustomDic2 의 문제점을 알 것 같습니다.. [1] whoami 7811   2008-08-12 2008-08-12 22:41
저번에 (5) 문제.. 기억하시나요? 아마도 이것 때문인 것 같습니다. void CCustomDic2::PreCustomDic(LPSTR Dest, LPCSTR Source) { // ... 전략 for(int head=0;head<SourceLen;head++) { for(int tail=SourceLen-1;tail>head;tail--) { // ... 중략 ... //2...  
36 Talk 문자열 -> Hex 변환이 제대로 안되네요. [7] Hide_D 7561   2008-08-02 2009-01-06 01:00
LPSTR ConvertHex(LPCSTR source){ size_t Len=strlen(source); char Temp[2048]=""; BYTE szBuf[3] = { '', }; int j=0; for(size_t i=0;i<Len;i++){ szBuf[0]=(BYTE) source[i]; szBuf[1]=(BYTE) source[i+1]; if(szBuf[0]<0x80){ //1바이트 코드라면 j += ...  
35 Talk 퓩퓩... 퓩퓩... oTL whoami 7557   2008-08-02 2009-01-06 01:35
원인을 알아냈습니다. 하지만 이건.. 참 난감하군요. 이 문제는 RLCmd의 문제가 아닙니다. 이 문제는 SOW방식의 문제도 아닙니다. 이 문제는 한글 완성형 코드의 문제입니다... oTL 예전에 KoFilter 를 한참 만들고 있을 때... 이 이야기가 나온 적이 있었습니...  
34 Talk AralTrans, ATCTNR 111112 버전 SVN에 추가. [1] whoami 5260   2011-11-12 2012-06-17 14:29
ATCTNR 의 SVN 소스가 후킹모드 2로 되어있었는데.. 아마 예전에 지나가다정착한이A 님이 발안해서 테스트하던 후킹모드 2 판의 소스가 올라가있었던 듯 합니다. 뭐.. 실제 머리싸매고 고민하다 보니 의외로 돌려놓기가 어렵지 않아서 후킹모드 1로 돌려놓고 ...  
33 Talk XP3Dumper! [1] Hide_D 5000   2011-12-12 2011-12-24 02:57
기리기리랑 합치면 좀 재밌는게 나올 것 같아서 뜯어보고 있습니다. 결과물은 아마 내년(ㅋㅋㅋ)에 나올것 같네요  
32 Talk FrigateBird님의 ATCode 20111003버전에 대하여.. [9] whoami 4957   2011-11-02 2011-12-10 16:16
일단 FrigateBird(잘 알려진 피시로 호칭)님의 ATCode 20111003 (줄여서 1003버전) 을 한번 훑어보았는데요, 1003 버전의 주된 변경점은 Siglus 엔진에 대한 지원이 주를 이루고 있습니다. 물론 기존 ATCode 의 버그를 잡은 것도 있지만 마이너하니 넘어갑니다...  
31 Talk AralTrans 20120214 버전 변경점 [6] whoami 4193   2012-02-14 2012-06-17 14:29
아랄트랜스 20120214 버전에서의 변경점 1. ATCTNR.dll 버그 수정 - 모듈 정보에서 이미지 파일 크기가 부정확할 경우 Access Violation 에러가 나는 문제 해결. Rewrite (Key) 에서 작동 확인. 다른 게임은 미확인이나 피시님의 ATCTNR 패치가 거의 동일하기 ...  
30 Talk SMSTR 의 부가옵션에 대한 토론.. [4] whoami 3800   2012-02-14 2012-07-12 19:27
ATCode 테스트버전 120207 의 댓글이 너무 복잡하게 꼬여서 이쪽으로 뺍니다. 현재 120207 에서 SMSTR 은 기본적으로 피시님 버전의 OVERWRITE(IGNORE,BUFCHANGE) 모드로만 돌아가도록 만들어져 있습니다. 그런데 피시님께서 부가기능이 필요하시다고 하셨는데...  
29 Talk 이지트랜스 플러그인 Ehnd 제작자입니다. [6] kiereh 3435   2014-02-27 2014-03-01 17:59
에그헤드의 필터 기능을 타 써드파티 프로그램에서도 사용할 수 있게 하자는 발상으로 이지트랜스 플러그인인 Ehnd를 제작하게 되었습니다. 플러그인이라고 하는 이유는 Proxy DLL 기법을 이용해 구현하였고 (Ehnd의 DLL 이름은 J2KEngine.dll, 기존 이지트랜...  
28 Talk 아랄트랜스 0.2 소스 bitbucket 으로 올려놨습니다. [7] whoami 2832   2014-02-18 2018-12-27 18:27
구글코드 SVN 에 무슨 일이 생겼는지 몰라서 일단 백업삼아 bitbucket 에 repositiry 하나 잡고 소스를 올렸습니다. 아무래도 옛날 SVN과 인터페이스가 비슷해서 (TortoiseHg) 편한 Mercurial 로 세팅했고.. 공개로 일단 해놓기는 했는데.. 어차피 개발진이 몇...  
27 Talk 아랄트랜스 0.2 구글코드 svn 밴당했나요? whoami 2537   2014-02-15 2014-02-15 22:54
오랫만입니다... ^^ 새해 복 많이 받으세요.. 이미 늦었나. 아래 Wales 님이 코드수정을 몇 개 하신 것을 보고 오랫만에 svn 업데이트를 하려고 하니 에러가 뜨더군요. 그래서 구글코드 들어가 보니 프로젝트가 사라졌네요? 동일한 이름의 프로젝트를 만들려고...  
26 Talk ATCode 새로운 기능 추가. [5] EroGame 2518   2012-04-01 2012-04-03 19:19
제가 시간만 된다면 약간의 데모스럽게 소스라도 올려드리는데.. 좀 여의치 않군요. 일단 생각한 방안입니다. 예전부터 필요한 기능이라 생각했는데 이래저래 고민 끝에 해결방안이 나왔습니다. 현재 ATCode의 후킹 방식은 한 함수 내에 후킹 지점부터 리턴 포...  
25 Talk 스마트와 조금 다른 엔진의 처리...(알고보니 유리스엔진) [3] EroGame 1907   2012-05-30 2012-06-09 23:37
예전에 그 아랄과 최악의 상성으로 불리던 처리 방식이 KLEIN 사의 青空と雲と彼女の恋 여기서도 사용되네요. 그냥 포기할까 하다가... 스마트 방식과는 별개로 처리 방식을 하나 만들어야 될것 같습니다. (아래와 같은 처리를 한걸 여럿 보아왔기 때문에.. 스...