본문 바로가기

쓰기

대화 인물 : 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: 이 두놈이 0.3의 발목을 제대로 잡네요
G2m: 액티브...X?
Hide_D: ㅇㅇ
G2m: ATS야
G2m: 일찌감찌 들어서
프시쵸: 내부 액티브 엑스 컴포넌트군요
G2m: 알고있었는데
G2m: ...
Hide_D: 이번 아랄트랜스는
Hide_D: 컨테이너가 ActiveX
Hide_D: 아니
Hide_D: 뭐랄까
Hide_D: 이걸..
Hide_D: 음 -_-;;;
G2m: ...?;;
Hide_D: 그러니까
Hide_D: 0.2
Hide_D: 아
Hide_D: 컨테이너라고 표현하면 안되겠군
Hide_D: 0.2에서는
Hide_D: 인젝터 -> 컨테이너
Hide_D: 의 구조였죠?
G2m: ㅇㅇ
Hide_D: AralTrans.exe -> ATCTNR.dll
Hide_D: 근데 이번엔
Hide_D: 서버 -> 컨테이너
Hide_D: 의 구조요 ㅇㅇ
Hide_D: 근데 이게 더 자세히 치자면
Hide_D: (인터페이스 -> 서버) -> 컨테이너
Hide_D: 의 구조로 되어있고
G2m: ㅇㅇ
Hide_D: 이 내부 처리를
Hide_D: MS HTML + ActiveX
평군: 우옹...
Hide_D: 구성하고 있습니다.
Hide_D: 인터페이스가 JScript로 짜여져 있고
Hide_D: JScript가
Hide_D: 실제 서버로
G2m: ㄷㄷㄷㄷ;
Hide_D: ActiveX로 짜여진 코드를 불러오는거죠
G2m: ;
Hide_D: 뭐 아시겠지만
Hide_D: ActiveX의 동작이
Hide_D: XP,Vista,7
Hide_D: 셋 다 다르구요
G2m: 굳
Hide_D: 이쪽 ActiveX가
G2m: 어쩌다
Hide_D: 악성 프로그램에
G2m: 그런 구조가 되었죠[...]
Hide_D: 1순위로 공격받는 루트라
Hide_D: 아마 스킨화의 필요성을 느꼈기 때문이 아닐까 싶은데요
G2m: ...
평군: 그렇군요...
프시쵸: 확실히 액티브엑스는
프시쵸: 보안성엔 쥐약이죠
Hide_D: 그러니까
Hide_D: 기본 서버 프레임
Hide_D: 로드 자체가 꼬이는 경우가 상당수
Hide_D: 사실 저게 꼬일 시점쯤 되면
Hide_D: 0.2도 진짜 간당간당 돌아간단 이야기이기도 한데
Hide_D: 그래도 0.2에선
Hide_D: 걍
Hide_D: Injector -> Container에
Hide_D: 단순 바로가기 인자 전달이라
Hide_D: 그런쪽엔 문제가 없거든요
G2m: ㅇㅇ
Hide_D: 일단 이게 심각합니다 ㅇㅇ
G2m: ㅇㅇ
G2m: ...
G2m: 0.3이
Hide_D: 게다가 XP에서 JScript는
G2m: 쉽게 죽는다고 생각했는데
G2m: 그거였군욤
G2m: ...
Hide_D: 생각보다 신통치 않거든요 -_-;
G2m: ㅈㅈ
프시쵸: 하는 일이 제한적이죠
Hide_D: 자바스크립트를
Hide_D: JScript로 통해서 돌리는건 다들 아실거고
Hide_D: 이 JScript의 성능이
Hide_D: 죽여줍니다 -_-+++++++
평군: ;;;
G2m: [;.........]
Hide_D: 절대로 못믿어요
Hide_D: 하기야 저게 제대로 돌아갔으면
Hide_D: 그 당시의 프로그램이
Hide_D: JScript를 썼지
G2m: ㅇㅇ
Hide_D: ActiveX를 썼겠어 -_-;
G2m: ㅈㅈㅈ
프시쵸: ㅈㅈ
Hide_D: XP가 남아있는 이상
Hide_D: JScript로 기반한
Hide_D: 각종 프로그램은
Hide_D: '똥'이 됩니다.
G2m: 안타까운듯
G2m: 아랄씨
G2m: 뭔가 위험한듯
Hide_D: 저건 아랄 자체를 해결한다고
Hide_D: 해결되는 문제가 아니라...
G2m: ㅇㅇ
Hide_D: 두번째로 ATS인데
Hide_D: 옵션 파일에
G2m: 설계상에서 드러나는 문제점이라니
G2m: 이 무슨 우울
G2m: ..
*Rynie: 뭔가 전체적으로 갈아엎어야 할지도 모르는  ㄱ-[......]
Hide_D: XML을 기반한 파일을 넣는다는건
Hide_D: 졸라 훌륭한 아이디어
G2m: ㅇㅇ
Hide_D: 근데 여기에서 몇가지 심각한 문제가 있는게
G2m: ㅇㅇ
평군: 흠
Hide_D: (1) 필터 '다운'로드
Hide_D: (2) 부가 파일 '다운'로드
프시쵸: 그 무섭다는 판 갈아엎기...
G2m: ...
*Rynie: ''ㅋ
G2m: 아
평군: ??
G2m: 그거 싫어진다 왠지
G2m: ;
Hide_D: 뭐 저는
Hide_D: XML 파일 자체에
Hide_D: Data를 내장하는 걸 건의했었는데
*Rynie: 자동 다운로드라는 물건 ㄱ-[.....]
Hide_D: 아랄씨는
Hide_D: ATS가
Hide_D: 실행시에도 사용되어야 한다고 생각하셔서리
Hide_D: 무거워지면 안된다고 생각한거죠 ㅇㅇ
*Rynie: +ats로만 원클릭 구동을 하기에
*Rynie: 는
G2m: ㅈㅈㅈ
*Rynie: .......실행파일개조한거
*Rynie: 흠좀 ㅈㅈ[.....]
Hide_D: 자 그러면
평군: ;;;
Hide_D: 여기에 추가로 발생하는게 무엇인가 하면
G2m: ㅇㅇ
Hide_D: 코드의 유지보수인데
Hide_D: ATS 파일을 넣을때
*Rynie: .....사망스토리군요
Hide_D: 자신이 다운받아야할 파일을
G2m: 설마
G2m: 수동?
G2m: ㅡ.ㅡ
Hide_D: '직접 경로'(Direct Link)로 지정하게 되어있습니다.
Hide_D: ㅇㅇ
G2m: 헐퀴
*Rynie: ㅇㅇ[.........]
평군: 음;;
G2m: 후덜
G2m: 뭐랄까
Hide_D: 자 그러면
G2m: 0.2때보다 좀더 난감해진
G2m: 느낌이 드는건
G2m: ..
Hide_D: 예상되는 사망 시나리오 1번을 들어보죠
Hide_D: 어떤 사람이
Hide_D: 오 ATCode가 떴다 +_+를 외치며
Hide_D: 'ATS 파일을 다운 받았습니다'[!!!!}
G2m: ㅇㅇ
프시쵸: ㅇㅇ
Hide_D: 그리고
Hide_D: 원래 코드 올린 사람은
Hide_D: 사소한 문제점(게임에 지장은 없는)을 발견하고
*Rynie: 아 뭔지 필이 온닼[.........]
Hide_D: 첨부파일을 바꾸고[!!!] ATS를 새로 올렸습니다[!!!]
*Rynie: ㅋㅋㅋㅋㅋ
Hide_D: 원터치 자동 설치라는 말을 믿은 사용자는
Hide_D: 전에 받았던 ATS를 더블클릭했고
Hide_D: .... 당연히 정상동작하지 않았습니다
Hide_D: -_-?
G2m: [.........]
G2m: 그거
G2m: 결사적으로
G2m: '막아야할
G2m: 필인데
G2m: ㅡ.ㅡ
Hide_D: ㅇㅇ
*Rynie: 당연히 [........]
Hide_D: 어쩌다보니 0.2보다 더 위험한 녀석이 나와버렸습죠 ㅇㅇ
G2m: ;;
*Rynie: 유령 ATS가 생긴다는 건가
*Rynie: -ㅁ-ㅋ;
Hide_D: ㅇㅇ
Hide_D: 유령 ATS가 생기는거죠
G2m: ㅈㅈ
프시쵸: 그것 참..아슷흐랄 하네요
Hide_D: 기똥찬 표현이네요
G2m: 뭔가
G2m: 뒤숭숭한게
G2m: 떠다니는거군요
G2m: 넷상에
G2m: ..
Hide_D: ㅇㅇ -_-;
*Rynie: 뭐 -ㅁ-'아는사람만 쓰슈'
*Rynie: 라는 느낌
*Rynie: .....
G2m: 시망
Hide_D: 그러니까
Hide_D: 사실 저걸
Hide_D: 온라인 다운로드로 하려면
*Rynie: 현재의 코드센터 구조부터
Hide_D: '가상 링크'(Symbolic Link)를 이용해서
*Rynie: 갈아엎어야 할 판 같은데 [....]
Hide_D: 올려야할겁니다
Hide_D: 예를 들자면...
Hide_D: 현재 코드센터는 두고
Hide_D: 버전센터 든 뭐든
Hide_D: 뭐 암튼 그렇게 명명을 합시다 ㅇㅇ
G2m: ㅇㅇ
Hide_D: 거기에
Hide_D: 각종 첨부파일을 올려두고
Hide_D: ATS파일은
Hide_D: 그 갱신되는 첨부파일이 담긴 문서를
Hide_D: 링크하고 있었어야 했습죠 ㅇㅇ
Hide_D: 뭐 이 경우에도
Hide_D: 기존 ATS 파일은 갱신되지 않으니
G2m: [..........]
Hide_D: 결국 반 유령화되긴 마찬가지
*Rynie: ㅇㅇ[.....]
G2m: ㅈㅈ
Hide_D: 그러니까
Hide_D: 결국
Hide_D: 이렇게 될거라면
Hide_D: 저 위에 언급했던
Hide_D: '버전센터'에서
Hide_D: 신버전의 ATS파일도 같이 가지고 있다가
Hide_D: ATS 파일이 실행될때 체크를 해줘야 한다는 이야기인데
평군: ;;;
Hide_D: 그러면 애초에 ATS를 받은 이유가 없잖
G2m: 이 무슨 삽질
G2m: ...
*Rynie: 차라리 ATS생성기를 만들어서 코드센터 주소를 받고 생성기가 그 주소에 있는 코드글을 읽어서(미리 규격화된 코드글) 자료받고 다 처리해서
Hide_D: ㅇㅇ
Hide_D: 그리고 최종적으로
*Rynie: 바로가기 만들수 있나요 [....]
Hide_D: 바로가기 하나 딱 만들고
Hide_D: 끝났으면
Hide_D: ㅇㅇ
Hide_D: 그게 가장 심플하죠
Hide_D: 그렇게 했으면 가장 좋았을걸
Hide_D: 이도저도 아닌 ATS 규격이 나와버리니
Hide_D: 몹시 당황스럽지 말입니다[...]
*Rynie: 고스트양산될필[.......]
미히: 로리?
G2m: 뒤숭숭한 무언가
Hide_D: 게다가 말이죠
G2m: 인덧
Hide_D: 에러케이스2가 또 있음여
Hide_D: 이번엔 더 미묘한거 -_-
Hide_D: 에러2.
Hide_D: 우선 ATS를 받아서
Hide_D: 바로 실행해보았습니다!
Hide_D: 일단 잘되는것 같습니다 ㅇㅇ
Hide_D: 근데 좀 진행되면 특정 부분(ex: 선택지)
G2m: ...
Hide_D: 에서 튕기는 현상이 발견되어서
평군: ....안습
Hide_D: 부랴부랴 새로 고친 ATS 파일이 올라왔슴다
평군: 그건... 해결할 방법이 있긴 할지;;
Hide_D: 물론 첨부 파일 포함요
G2m: ㅈㅈㅈㅈ
Hide_D: 그래서 이 라이트 유저는
Hide_D: 아 새로 나왔군!
Hide_D: 하면서
Hide_D: ATS를 새로 받고
Hide_D: 더블클릭해서
Hide_D: 게임을 다시 켰으나
G2m: [..................]
Hide_D: ... 고쳤다는 부분은 온데간데 없고
Hide_D: 또 튕깁니다
Hide_D: 어 시발 뭥미?
프시쵸: 일반 유저는 빡칠 덧...
Hide_D: Q : 왜 그랬을까요?
Hide_D: 좀 빨리 답을 달아보자면
Hide_D: ATData 폴더의 파일이 안바뀌어서 -_-
*Rynie: 아아 [..........]
*Rynie: ㅇㅇ;
G2m: [.........]
*Rynie: 다시 안받겠지요
*Rynie: [........]
G2m: 왠지
Hide_D: 그러면 AT코드를 올린 사람은
G2m: 암흑이군
G2m: 0.3은
G2m: -_-;
Hide_D: ATData폴더를 지워야해요!
Hide_D: 라고 말해야하는데
Hide_D: 그러면..
*Rynie: 질문세례 [.......]
Hide_D: 0.2와 다를게 없잖
*Rynie: power질문공세
G2m: 개인적으론
G2m: 0.2의 체제가
G2m: 가장 이상적인덧
G2m: ..
Hide_D: ㅇㅇ
Hide_D: 그래서 초기 설치 패키지
Hide_D: 같은걸로
Hide_D: 설치를 하고
Hide_D: 바로가기를 만들어 쓰는 형식
평군: 흠... 확실히 수동코드입력의 장점이 여러가지 있네요;;
G2m: ㅇㅇ
G2m: 코드입력하는법 모름ㅋ
G2m: 하는 무개념은
Hide_D: 그래서 2번 케이스의
프시쵸: 자동이 꼭 좋은 건 아님
G2m: 일단 둘째치고
G2m: ...
Hide_D: 문제점이 뭐냐면
Hide_D: 실행파일과 설치파일이 같기 때문에
Hide_D: 발생합니다 -_-;
G2m: ...;
*Rynie: ats에서
Hide_D: 그러니까
*Rynie: 실행때마다 즉석에서 홈피에서 코드떼오면되겠지만
Hide_D: 설치 파일을 따로 만들어 두었다면 (ex : ATI 라던가?)
*Rynie: 비 네트웤 환경 시망
*Rynie: [.....]
Hide_D: 이놈을 실행하면
Hide_D: 무조건 파일이 패치될테니 문제가 없는데
평군: 아니그건 그래픽카드상표 ㅋㅋ
Hide_D: ㅋㅋㅋㅋㅋ
G2m: 후덜
G2m: 그러고보니
Hide_D: ATS가 설치, 실행도 같이 하니
G2m: 특정겜들은
Hide_D: 실행할때 이 파일이 패치되어야하는지
G2m: 파일이름도 바꿔야 또
Hide_D: 안되어야하는지 알도리가 없죠
G2m: 실행이되는 놈들이
G2m: 있군염
G2m: ...
Hide_D: 뭐 실행팡리 바꿔야 되는 레벨은
Hide_D: 애초에 실행도 난감한 경우라
Hide_D: 어쩔 수 없다 치더라도요 ㅇㅇ
G2m: ATS대응도 시망일듯;
G2m: 이 무슨 삽질의 연쇄야
G2m: ...
Hide_D: 저 ATS 대응을 해결하는 방법중 하나는
평군: 방법이 쉽게 떠오르지 않네요 =ㅅ=;;
Hide_D: 옵션을 모조리 ATS로 처박는다!
G2m: 껒
G2m: ...
Hide_D: .. 뭐 그래봐야
Hide_D: CustomDic.txt는 어쩔건데?
G2m: ㅈㅈ
Hide_D: 이러면 물론 저도 모릅니다[..]
G2m: 스스로 만들어 쓰라해염
Hide_D: 역시 외부 파일은 있는게 좋으니
Hide_D: ATS같이
평군: 아니그건 0.2랑 다를바가없잖 ㅋㅋ
Hide_D: 실행/설치 같이 돌리는건
Hide_D: 이래저래 곤란한 거죠
Hide_D: ....
Hide_D: 뭐 여기까지가
Hide_D: 0.3의 버그가 고쳐지더래도
Hide_D: 곤란한 부분 2가지[..]
G2m: 뭔가
G2m: 필사적으로
평군: 외부파일은 확실히 남겨야 하는데 이걸 고치는게... 음...
G2m: 막아야할필;
G2m: 뭘해도 대응책이
G2m: 없는
Hide_D: 곤란해요 -_-;
G2m: 이난감한
G2m: 시망ㅋ
Hide_D: 아 위에꺼
Hide_D: 떠둬야겠다.
Hide_D: Dev Talk에 올려야지

분류 :
Talk
조회 수 :
18098
등록일 :
2010.06.01
02:34:28
엮인글 :
https://arallab.hided.net/35526/4b8/trackback
게시글 주소 :
https://arallab.hided.net/board_devtalk/35526
List of Articles
번호 제목 글쓴이 조회 수sort 추천 수 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155439   2008-08-03 2008-12-16 00:03
69 Talk ATCode에 추가했던 ASLR 있잖아요. [2] EroGame 1767   2012-06-18 2012-08-03 08:38
http://lab.aralgood.com/index.php?document_srl=49989 이때 추가한건데 이거 따로 분리해서 사용 유무 지정하는게 좋을것 같네요. (xp에서는 무반응으로 처리하고) 특정 게임에서 연산중 뻗는 경우 발견되었습니다. 더미다 같은경우는 굳이 연산안들어가고 ...  
68 Talk LEN 기능에서 체크기능 제거 및 투가기능. EroGame 1766   2012-05-10 2012-05-10 10:37
현재 LEN 기능으로 길이 연산 체크를 할때 -1이나 0의 범위까지 0x00인 NULL 문자로 길이 체크를 하잖아요? 그렇지 않은 경우도 있네요. 길이는 있으나 해당 번역문+길이 위치에 NULL문자가 없는 형태의 길이 교체형태도 추가주세요. (그때는 길이값만 변하도...  
67 Archive [소스, 플러그인] ATCode 120613 [1] file EroGame 1740   2012-06-13 2012-07-12 19:27
 
66 Archive [실행파일, 플러그인] AralTrans, ATCTNR, ATCode 121106 [10] file EroGame 1720   2012-11-06 2012-11-07 22:20
 
65 Archive [소스, 플러그인] ATCode 120725 [22] file EroGame 1702   2012-07-25 2012-07-30 08:14
 
64 Archive [실행파일, 플러그인] AralTrans, ATCTNR 121104 [14] file EroGame 1680   2012-11-04 2012-11-05 13:13
 
63 Archive [플러그인] ATCode 120730 [10] file EroGame 1677   2012-07-30 2012-08-03 08:14
 
62 Archive [소스, 플러그인] ATCode 120618 [2] file EroGame 1634   2012-06-14 2012-06-18 00:48
 
61 Talk 아랄트랜스 번역플러그인에 이 프로그램들을 추가해주시면 안될까요? [5] 암흑마제 1536   2013-03-14 2013-03-14 22:16
1.TransCAT KJ/JK - 한일,일한 양방향 실시간 번역 프로그램 창신소프트의 이지트랜스와 마찬가지로 한일,일한 번역 프로그램입니다. 이지트랜스와 마찬가지로 사용자사전 기능을 제공하여 사용자사전을 잘만 이용하면 번역은 더 좋아집니다. 공통적인 성격을...  
60 Archive [플러그인] ATCode 121201 [1] file EroGame 1508   2012-12-01 2012-12-02 20:50
 
59 Archive [실행파일, 플러그인] AralTrans, AralUpdater, ATCTNR, ATCode 2013/01/31 [2] file EroGame 1443   2013-01-30 2013-02-01 19:17
 
58 Archive [플러그인] ATCode 120826 (120906 수정) file EroGame 1436   2012-08-26 2012-09-06 20:52
 
57 Archive [플러그인] N eueGoogleTrans 180202 [5] file oscarw854 1414   2018-02-02 2018-02-03 17:45
 
56 Archive [플러그인] ATCode, DumpText, DenyWord 130104 [2] file EroGame 1390   2013-01-04 2013-01-05 20:12
 
55 Archive [플러그인] ATCode 120827 [4] file EroGame 1305   2012-08-26 2012-08-28 10:27
 
54 Archive [플러그인] ATCode, ezTransXP, TransCAT 130728 (수정) file TwoComet 1289   2013-07-28 2013-08-04 13:50
 
53 Talk ATCode 120817 [1] EroGame 1283   2012-08-17 2012-08-26 23:12
좀 큰 버그가 있어서 잡고나서 업데이트.  
52 Archive [실행파일] AralTrans 121101 - 테스트 - 파기 [10] file EroGame 1242   2012-11-01 2012-11-03 00:01
 
51 Archive [실행파일, 플러그인] AralTrans, ATCTNR 121103 [1] file EroGame 1200   2012-11-03 2012-11-04 03:52
 
50 Talk ATCTNR.dll 120809 업데이트..완료 EroGame 1174   2012-08-09 2012-08-09 14:31
원본 방식으로 후킹시 뒤에 밀린 명령어가 0x90 (nop) 로 밀어버려서 언훅시에 그 복사한 값에서 5길이 밖에 복구하지 않더군요. 버그 잡고.. 언훅 잘되는거 확인완료. 주의? 할점은 원본 후킹방식일때는 되도록이면 후킹 장소 지점에 명령어로부터 5 이상의 ...