본문 바로가기

쓰기

대화 인물 : 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/0db/trackback
게시글 주소 :
https://arallab.hided.net/board_devtalk/35526
List of Articles
번호 제목 글쓴이 조회 수 추천 수 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155435   2008-08-03 2008-12-16 00:03
309 Talk 번역 모듈로 인터넷을 이용하는 방법. Hide_D 30163   2010-06-04 2010-06-04 23:54
굳이 번역기를 이지트랜스를 쓰지 않아도 아랄트랜스를 사용하는 방법이 필요합니다. 네이버 번역 등을 인터넷으로 접근해서 쓰는 방법으로 번역 모듈을 만들어 보겠습니다.  
» 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: 이 두놈...  
307 OtherFiles EncodeKor(한국어 <-> 일본어 문자 코드 대치) 재 작성 프로젝트! [16] file Hide_D 75319   2010-05-29 2010-10-25 09:55
 
306 OtherFiles [프로그램, 소스] AT 환경 수집기 20100526 [1] file Hide_D 30118   2010-05-26 2016-05-28 15:42
 
305 Talk 0.3님 제발 자비좀[.....] file 아무개 31299   2010-05-23 2010-05-23 06:20
 
304 Talk ATS의 문제점.. Hide_D 23578   2010-05-15 2010-05-15 19:18
0.2의 그 복잡하고 어려운 방식은 일단 뒤로 두고 0.3의 ATS가 갖는 허점이 1. 첨부파일, 필터 경로들을 [일일히!] 입력해야 한다. 2. 코드가 갱신되었을 때 대처할 방법이 전혀 없다. 일일히 입력하는 것 자체는 나쁘지 않은데, 2번 때문에 심각한 문제가 됩...  
303 Talk 0.3님 제발 자비좀[.....] [2] G2m 29951   2010-05-05 2010-05-23 06:21
디에스 이레 뚫으면서 알게된건데 일단 히데찌 말로는 관리자씨가 말하길 0.3 유니코드 완벽이염 ㅇㅇ 라고는 하는데 그 뭐랄까 문장 스크립트 형식이 00 30으로 시작하는 놈은 아랄이가 고대로 씹어 드셔서[............] 이걸 픽스로 잡아도 조트망이고 흠. ...  
302 Talk FixLine 버그 발생 [1] Hide_D 23382   2010-04-25 2010-05-01 22:19
!梨桜 01 21 979C 8DF7 을 처리하기 위해 %01%21{T} 로 설정하면 FixLine이 씹고 다음 데이터를 뱉지 않음 %21{T} 로 설정하면 아예 '닥치고 튕김' 지정된 문자열 + 임의의 문자열 구조로 했을때 버그가 있는듯 최대한 빨리 수리를 -_-;  
301 Talk 아랄3 디버깅이 말이죠... [2] file JKLeetro 35689   2010-04-20 2010-10-20 07:18
 
300 Talk Hide_D's Todo List [1] Hide_D 19790   2010-03-01 2012-08-03 09:02
좀 써 놔야 할것 같습니다 -_-; 안써두니까 안해요 1. FixLine v2 패턴간 빈칸을 없애는 옵션을 추가 -> 아마 큰 패턴 단위로 옵션을 추가할 수 있도록 하는게 좋을 것 같다. 처리 순서 변경 -> 선 개행, 선 패턴, 번역, 후 패턴, 후 개행을 선 패턴, 선 개행,...  
299 Talk '잡담인데' [2] FrigateBird 23212   2010-02-22 2011-06-28 01:25
0.3에서 일부 게임이 코드를 잠시 none 해야 되는 녀석들이 있잖아염 코드를 잠시 슬쩍 어디 처 올리든 해서 단축키로 전환하면 좋겠는데  
298 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  
297 Talk 뭐라고 설명해야할까요 -_-; 하여간 설명 file G2m 22598   2010-01-21 2010-01-21 19:17
 
296 Talk 문자열 길이에 대한 건의 file G2m 15608   2010-01-21 2010-01-21 18:44
 
295 Talk 문자열의 길이를 반영하는 '필터' [4] Hide_D 15025   2010-01-19 2010-01-22 01:28
문자열 길이가 고정되어서 포인터 바꿔치기를 통해서도 길이가 바뀌지 않는 것들이 있는데, 이놈들을 위해 길이를 반영하는 필터가 있으면 좋을것 같습니다. 인자로 반영할 메모리 주소 1. 모듈(메모리 주소) 기반 2. 레지스터 기반 으로 ATCode의 그것과 비슷...  
294 Archive [소스] ATPluginFrame 프레임워크 20100105 테스트 버전 file whoami 17913   2010-01-05 2010-01-05 19:47
 
293 Talk 0.3 Filter 간추려서 정리좀 해봤습니다. [1] file Hide_D 17301   2010-01-01 2010-01-02 05:08
 
292 Talk [소스] ATPluginFrame 프레임워크 20100101 테스트 버전 file whoami 17563   2010-01-01 2010-01-01 16:59
 
291 Talk XML 파싱 부분에 문제가 하나 있네요. Hide_D 15772   2009-12-30 2009-12-30 21:42
xml 태그에서 그 태그에 대한 내용이 없을경우 <tag></tag> 로도 표현할 수 있지만 <tag/> 로도 표현 가능합니다. 현재 파서 부분을 보니 <tag/>형식의 태그에는 대응이 되어 있지 않은것 같습니다.  
290 Talk 번역함수가 불렸을 때 자신이 불린 컨텍스트 이름을 아는 문제.. [8] whoami 15151   2009-12-24 2009-12-26 15:34
4. procTranslate 로 지정된 번역함수가 불렸을 때 자신이 어떤 컨텍스트로 불렸는지 아는 방법 현재 컨텍스트의 이름을 얻는 것 외에는 대부분 원하는게 가능할 것 같습니다. pObjectExtention 에 어떤 객체의 포인터를 넣어 놓고, procTranslate 가 호출되었...