본문 바로가기

쓰기

- 소개 -
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/a0c/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
64 Talk XML 파싱 부분에 문제가 하나 있네요. Hide_D 15772   2009-12-30 2009-12-30 21:42
xml 태그에서 그 태그에 대한 내용이 없을경우 <tag></tag> 로도 표현할 수 있지만 <tag/> 로도 표현 가능합니다. 현재 파서 부분을 보니 <tag/>형식의 태그에는 대응이 되어 있지 않은것 같습니다.  
63 Talk [소스] ATPluginFrame 프레임워크 20100101 테스트 버전 file whoami 17564   2010-01-01 2010-01-01 16:59
 
62 Talk 0.3 Filter 간추려서 정리좀 해봤습니다. [1] file Hide_D 17301   2010-01-01 2010-01-02 05:08
 
61 Talk 문자열의 길이를 반영하는 '필터' [4] Hide_D 15027   2010-01-19 2010-01-22 01:28
문자열 길이가 고정되어서 포인터 바꿔치기를 통해서도 길이가 바뀌지 않는 것들이 있는데, 이놈들을 위해 길이를 반영하는 필터가 있으면 좋을것 같습니다. 인자로 반영할 메모리 주소 1. 모듈(메모리 주소) 기반 2. 레지스터 기반 으로 ATCode의 그것과 비슷...  
60 Talk 문자열 길이에 대한 건의 file G2m 15608   2010-01-21 2010-01-21 18:44
 
59 Talk 뭐라고 설명해야할까요 -_-; 하여간 설명 file G2m 22598   2010-01-21 2010-01-21 19:17
 
58 Talk 어떤 정신나간 게임은 UTF-32를 쓰네요 -_-;; [1] Hide_D 19284   2010-01-30 2010-01-30 22:52
개발자가 미쳐서 Visual C++ 6.0에 iconv라도 섞어쓰는지 (아니면 gcc에 iconv... 던가) 내부 문자 처리를 UTF-32로 합니다 OTL  
57 Talk '잡담인데' [2] FrigateBird 23212   2010-02-22 2011-06-28 01:25
0.3에서 일부 게임이 코드를 잠시 none 해야 되는 녀석들이 있잖아염 코드를 잠시 슬쩍 어디 처 올리든 해서 단축키로 전환하면 좋겠는데  
56 Talk Hide_D's Todo List [1] Hide_D 19791   2010-03-01 2012-08-03 09:02
좀 써 놔야 할것 같습니다 -_-; 안써두니까 안해요 1. FixLine v2 패턴간 빈칸을 없애는 옵션을 추가 -> 아마 큰 패턴 단위로 옵션을 추가할 수 있도록 하는게 좋을 것 같다. 처리 순서 변경 -> 선 개행, 선 패턴, 번역, 후 패턴, 후 개행을 선 패턴, 선 개행,...  
55 Talk 아랄3 디버깅이 말이죠... [2] file JKLeetro 35689   2010-04-20 2010-10-20 07:18
 
54 Talk FixLine 버그 발생 [1] Hide_D 23382   2010-04-25 2010-05-01 22:19
!梨桜 01 21 979C 8DF7 을 처리하기 위해 %01%21{T} 로 설정하면 FixLine이 씹고 다음 데이터를 뱉지 않음 %21{T} 로 설정하면 아예 '닥치고 튕김' 지정된 문자열 + 임의의 문자열 구조로 했을때 버그가 있는듯 최대한 빨리 수리를 -_-;  
53 Talk 0.3님 제발 자비좀[.....] [2] G2m 29951   2010-05-05 2010-05-23 06:21
디에스 이레 뚫으면서 알게된건데 일단 히데찌 말로는 관리자씨가 말하길 0.3 유니코드 완벽이염 ㅇㅇ 라고는 하는데 그 뭐랄까 문장 스크립트 형식이 00 30으로 시작하는 놈은 아랄이가 고대로 씹어 드셔서[............] 이걸 픽스로 잡아도 조트망이고 흠. ...  
52 Talk ATS의 문제점.. Hide_D 23578   2010-05-15 2010-05-15 19:18
0.2의 그 복잡하고 어려운 방식은 일단 뒤로 두고 0.3의 ATS가 갖는 허점이 1. 첨부파일, 필터 경로들을 [일일히!] 입력해야 한다. 2. 코드가 갱신되었을 때 대처할 방법이 전혀 없다. 일일히 입력하는 것 자체는 나쁘지 않은데, 2번 때문에 심각한 문제가 됩...  
51 Talk 0.3님 제발 자비좀[.....] file 아무개 31299   2010-05-23 2010-05-23 06:20
 
50 Talk 6월 1일 2시 챗던 Talk Hide_D 18098   2010-06-01 2010-06-01 02:34
대화 인물 : Hide_D, Rynie, G2m, 프시쵸 대화 주제 : 0.3 [ActiveX, ATS] Hide_D 본인이 직접 뜯어본것이 아니므로 사실과 다를 수 있습니다. Hide_D: 아 0.3 자체는 괜찮아요 Hide_D: 다만... G2m: ㅇㅇ Hide_D: 1. ActiveX Hide_D: 2. ATS Hide_D: 이 두놈...  
49 Talk 번역 모듈로 인터넷을 이용하는 방법. Hide_D 30169   2010-06-04 2010-06-04 23:54
굳이 번역기를 이지트랜스를 쓰지 않아도 아랄트랜스를 사용하는 방법이 필요합니다. 네이버 번역 등을 인터넷으로 접근해서 쓰는 방법으로 번역 모듈을 만들어 보겠습니다.  
48 Talk [0.2] OnPluginInit단에서 스레드를 만들 때 [회피법] Hide_D 27118   2010-06-23 2010-06-23 02:10
http://lab.aralgood.com/board_documents/3202 에 나온대로 플러그인이 초기화되는 시점이 '안전하지' 않기 때문에 Init 단에 스레드를 추가하기가 어려운데, 이를 위한 회피 방법입니다 [OnInitThread에 AfxBeginThread를 사용하면 '무조건' 얼어버리는 현상...  
47 Talk AT 0.2에서 내부 버퍼가 4096을 넘을 수 있어야 합니다. [1] Hide_D 34245   2010-07-13 2011-03-04 05:56
ATCode인지 뭔지 내부 버퍼 길이가 4096바이트로 제한되어있어서 그보다 큰 길이가 들어올 경우 문제가 생깁니다. 길이를 제한하는 플러그인들은 모두 대용량의 텍스트도 받아올 수 있도록 처리해야할 것 같습니다.  
46 Talk ATCustom - 함수 Reference [47] Hide_D 103937   2010-07-20 2010-08-28 04:59
AralTrans의 Algorithm Plugin ATCustom의 함수 목록입니다. - 문서 상태 - 기본 함수 : 변경 중 변경 확률 보통 고급 함수 : 변경 중 변경 확률 높음 - 기본 함수 목록 - 핵심적인 기능을 가지거나 내부의 C++ 코드를 사용해야만 하는 함수의 목록입니다. 메...  
» Talk ATCustom - 프로젝트 소개 [8] Hide_D 32701   2010-07-22 2011-07-14 11:21
- 소개 - ATCustom은 사용자가 직접 메모리 훅 및 메모리 작업을 할 수 있는 Script 기반 Algorithm 플러그인입니다. Google Chrome에 탑재된 v8 JavaScript Engine을 사용하여 JavaScript 파일을 파싱하여 동작하며, ATCustom에서 제공하는 API를 사용하여 작...