본문 바로가기

쓰기

- 소개 -
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/0bf/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 [필독] 테스트필터 사용시 주의사항 라파에 155439   2008-08-03 2008-12-16 00:03
329 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...  
328 Talk 플러그인을 만들다가 '또다시' 엄청난 실수를 저질렀다는걸 깨달았습니다. [2] Hide_D 7929   2008-08-12 2009-01-06 01:01
이쪽은 프로그래밍이라보가는 구상과 관련된 문제네요 ㅠ_ㅠ 현재 제가 손대고 있는 플러그인이 사용자사전 사용자대본 개행문자처리 컨트롤문자처리 인데, 두개씩 묶여있는 구조죠. 그런데... 사용자대본 -> 문장단위처리 사용자사전 -> 단어단위처리 개행문...  
327 Archive [플러그인,소스] 사용자사전 0.3 20080813 (RC) file Hide_D 7965   2008-08-13 2008-08-14 23:24
 
326 Archive [플러그인, 소스] FixControlCharactor 20080815(테스트버전) [2] file Hide_D 7533   2008-08-15 2009-01-06 02:06
 
325 Archive [플러그인, 소스] FixControlCharactor 20080816(테스트버전) [1] file Hide_D 8131   2008-08-16 2009-01-06 02:05
 
324 Archive [플러그인, 소스] FixControlCharactor 20080816_2(테스트버전) file Hide_D 8836   2008-08-16 2009-01-06 01:01
 
323 Talk 빈공간[...] file Hide_D 11531   2008-08-16 2008-08-19 00:01
 
322 Archive [플러그인, 소스] FixControlCharactor 20080817(테스트버전) file Hide_D 8126   2008-08-17 2009-01-06 01:01
 
321 Archive [플러그인, 소스] FixControlCharactor 20080817_2(테스트버전) file Hide_D 9034   2008-08-17 2009-01-06 01:01
 
320 Archive [플러그인, 소스] FixControlCharactor 20080817_3(테스트버전) file Hide_D 8928   2008-08-17 2009-01-06 01:01
 
319 Archive [플러그인, 소스] FixControlCharactor 20080817_4(테스트버전) file Hide_D 7877   2008-08-17 2009-01-06 01:01
 
318 OtherFiles 히데님께! 디카포2의 헥스코드 모음 입니다. [2] file 라파에 8846   2008-08-17 2008-08-17 16:10
 
317 Talk 라파에님 한번 테스트해보세요. [2] file Hide_D 8759   2008-08-17 2008-08-17 16:55
 
316 Talk 라파에님 다시 한번 테스트해보세요. [3] file Hide_D 10896   2008-08-17 2008-08-17 17:23
 
315 Talk 루비문자 처리 스샷 입니다. file 라파에 8595   2008-08-17 2008-08-17 17:43
 
314 Archive [플러그인, 소스] D.C.2 Only (테스트버전) [2] file Hide_D 9547   2008-08-17 2008-08-17 18:18
 
313 Archive [플러그인, 소스] D.C.2 Only 20080817_2(테스트버전) [5] file Hide_D 8703   2008-08-17 2008-08-28 22:53
 
312 Talk 개행 처리 관련해서 일단 제 구상입니다 Hide_D 8149   2008-08-21 2009-01-06 01:05
랄까 어느새인가 개행처리가 아니라 텍스트 처리 필터가 되어있습니다만[......] (CmdFilter는 텍스트와 텍스트 바깥을 구분하고, 이건 텍스트 내부를 처리하는 느낌?) 우선 입력 받을 내용은 MaxLine MaxWord (MaxChar?) 개행 기호 문자열(또는 Hex) 그리고 ...  
311 Talk 아... 괴물한자의 정체가 Hide_D 8458   2008-08-23 2009-01-06 01:05
일반적인 과정 후킹시에 MS949 -> Shift-JIS(괴물 한자) 아랄이 인식한 텍스트 출력 함수에서 Shift-JIS(괴물 한자) -> MS949 인데, 괴물세트(?) 후킹시에 MS949 -> Shift-JIS(괴물 한자) 아랄이 인식 하지 못한 텍스트 출력 함수에서 Shift-JIS(괴물 한자) ->...  
310 Talk FixLine 예상 작동 방식 [1] file Hide_D 10715   2008-08-23 2009-01-06 02:04