본문 바로가기

쓰기

코드 게시글에 '스마트 방식이라 윈7에서 튕길지도 모른다'는 잘못된 인식을 불어넣는 것을 발견했기에 미리 사전에 이야기합니다.


해당사항의 정확한 원인은 아직까지 발견된 사례의 하나인

기가사나 타 브랜드에서 사용하는 넥서스 엔진에서만 해당하는 사항이며


그 엔진에서는 스마트 방식만이 아닌 포인터 바꿔치기로도 또한 튕깁니다.

이것이 어째서 윈 xp 에서는 안튕기고 윈7 에서만 튕기냐 입니다만

간단히 이유가


아랄 dll 에서 할당받은 메모리를 게임 엔진인 외부에서 직접 해제하려고 들때

xp는 해제 후 해제 한 메모리의 -0x4, -0x8 지점의 값을 그대로 두지만

윈7에서는 좀 더 메모리의 참조 및 간섭이 엄격해져 2개소의 값을 초기화 해버립니다.


따라서 아랄이 게임에서 초기화 해버린 메모리를 다시 읽으려 할때나

게임 자체에서 해당 메모리의 +- 위치에서 메모리 재할당을 시도할 경우

튕기는 것으로 확인되었습니다.



즉, 위를 해결하기 위해 복구코드가 생기게 되었으며

복구코드로 게임 자체에서 메모리를 할당하거나, 해제하기 이전의 위치에서

우리가 사용하고자 하는 곳에서만 데이터를 바꿔치고 원래대로 되돌려 놓기 위하여 구현된 것입니다.




정리하면 윈7에서는 스마트 방식이 튕길수도 있다는 정보는 전혀 올바르지 못하고

포인터 바꿔치기의 형태로 동작하는건 전부 튕긴다가 맞습니다.

(애시당초 스마트 방식은 '포인터 바꿔치기'에 하위개념으로 포함되옵니다.)

또한 메모리 해제에 별 지장이 없는 지역에 후킹한다면 윈7에서도 문제는 당연히 없습니다.

결국 제대로 된 장소에 후킹을 하지 못했다는 것입니다.


이상, 잘못된 견해를 올바르게 고치고자 작성하였습니다.

분류 :
Talk
조회 수 :
666
등록일 :
2013.07.06
20:37:24
엮인글 :
https://arallab.hided.net/107822/c43/trackback
게시글 주소 :
https://arallab.hided.net/board_devtalk/107822

Wales

2013.07.06
20:54:51

기가의 사례가 와전된듯 싶습니다.

윈7이라고 스마트방식에서 잘 팅기는게 아니죠.


뭐...요점은 좀더 안정적인 지점을 찾으면 되는 겁니다[.....]



두통

2013.07.06
21:26:00

XP 유저로 코드를 올리다보면 유독 스마트 방식으로 코드를 올릴경우 항시 따라붙는 댓글이 WIN7 튕깁니다

이러다보니 이게 IME 관련 유저문제인지 (이것도 유독 스마트후킹때만 발생하는 문제이고)

후킹방식의로 인한 다른 문제인지 확인할수는 없지만

경험적으로 자주 튕긴다는걸 인지하고있는 저로서는 빠른 아랄후킹을 포기하고 타 후킹툴을 쓰라는 권고적인 메세지로

위 문구를 적어 놓고있습니다.


최근에는 스마트+복구코드로 올리고있는데 이 경우에는 대다수 문제가 없더군요.


스마트도 아닌 포인터도 튕긴다는 경우는 GXP및 미노리사는

포인터로 했을시 문제없지만 스마트로 했을시 문제가 있었던 경우입니다.


시글러스도 작년에는 WIN7에서도 됐다는 글이 있었지만 최근에 올린건 대부분 튕긴다는 글이더군요.


넥서스도 튕긴다고했지만. 길이 원문에 맞춤 + 스마트로 가능하다는 게시글도있습니다.



된다는 사람이 반절 안된다는 사람이 반절

이러하다보니 스마트+WIN7 = 호환안좋다 라는 인식이 생겨버렸나보군요.


기가사

마테리얼 브레이브 이그니션(1.03v추가,win7코드추가)




GXP 엔진 계열

えれくと! 初回限定 PREMIUM EDITION (수정)


미노리사

[수정]여름 하늘의 페르세우스 , 夏空のペルセウス


호크아이 이름및 선택지

츠치도씨의 순애로드 , 辻堂さんの純愛ロード


AIW6

마려 환자는 가텐계 (麻呂の患者はガテン系)


시글러스엔진



계속 WIN7튕긴다는 댓글을 보다보니 노이로제 걸린듯....


TwoComet

2013.07.07
03:37:48

실제 위 4작품은 윈7 에서 86/64 bit 2가지

제가 사용하는 컴퓨터들에 확인결과시 전부 이상없이 되었습니다.


댓글들은 아마 윈7이 나오지 않았다고 하여도

xp 유저들이 튕긴다는 댓글이 난무했을 것입니다.
(과거 코드글을 보시면 같은 느낌의 글들이 많습니다)

이것은 없어지지 않는 계층들입니다.

굴러가는시간

2013.07.06
22:00:43

이건 윈7, xp의 문제가 아닌듯 싶네요..

그냥 타인의 컴퓨터에 최적화된 코드를 받아 써서 생기는 문제인 듯 합니다.

시간이 지나면 다들 튕길 수도 있다는걸 받아들이겠죠.

List of Articles
번호 제목 글쓴이 조회 수 추천 수 날짜sort 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155440   2008-08-03 2008-12-16 00:03
24 Talk SOW 방식 지원 ATCode 플러그인 소스 커밋하였습니다.. [2] whoami 8829   2008-07-27 2008-07-27 21:12
빠진 파일은 없을겁니다; 버전 정보는 손대지 않았습니다. 버전 정보 업데이트 해주시고.. 혹시라도 문제가 있으면 알려주시기 바랍니다. (개인적으로는 아랄님 자주 보고 싶은데 덧글 하나 없이 대화방에도 없이 스리슬쩍 사라져 버리셔서 아쉽.. ㅡ.ㅡ)  
23 Talk ATCode 버전업에 대해 - 관리자님 봐주세요.. [1] whoami 9241   2008-07-26 2008-07-27 02:35
오랫동안의 (.. 그리 오랫동안은 아닌 것 같은 기분도 들지만) ATCode 테스트 버전의 테스트로 SOW 모드가 어느정도 안정이 되었다고 생각됩니다. 그래서 기존 ATCode 에 융합해서 버전업을 하고 싶은데 어떻게 했으면 좋겠습니까? 그냥 SVN 내에서 커밋만 하...  
22 Talk RLCmd, KoFilter 의 디버그 로그 기능에 대해.. whoami 9246   2008-07-26 2009-01-06 01:26
슬슬 RLCmd와 KoFilter 의 테스트버전 딱지를 떼어줘야겠는데요, 디버그 로그 기능을 뺄까 그냥 놔둘까 생각중입니다. 어떻게 하면 좋을까요? 1. 필요하므로 그냥 놔둔다. 2. 없애고 로그기능만 넣은 디버그용 로그 필터를 하나 새로 만든다.. (단 디버그용 로...  
21 Talk cmd로 리버ex 테스트 [2] file 앙마vv 8011   2008-07-25 2009-01-06 01:27
 
20 Talk Re: SOW 모드의 신기한 점? file whoami 11209   2008-07-23 2009-01-06 01:27
 
19 Talk Vmware 가상 일윈으로 즐기기.. [3] file ㅌㅌ 14029   2008-07-23 2008-07-24 21:11
 
18 Talk 어? ezTransXP 플러그인을 분석하다 생각난건데 [1] Hide_D 8162   2008-07-22 2008-11-22 16:38
이 플러그인에서는 전각 기호는 다른 코드로 치환해 뒀다가 다시 전각 기호로 되돌려주는데, 반각기호는 처리법이 약~간 특이합니다. 1. 원문에 ()<>{}가 없고, 번역문에 ()<>{}가 있으면, ()<>{}와 그 안의 내용을 날립니다. 2. 원문에 ()<>{}가 있고, 번역문...  
17 Talk 역시 번역 플러그인 테스트용으론 Hide_D 11417   2008-07-21 2008-07-21 12:50
체험판이 최고군요 +_+ 사쿠라슈트랏세웹 체험판 설치해놓고 전에 관리자님이 올리신 코드로 잘 돌아가니 이걸로 테스트 해야겠군요  
16 Talk http svn을 운용하는건 어떨까요? [3] 아랄 8950   2008-07-20 2009-01-06 01:35
몇몇 개발자 분들께서 열악한 버전관리 환경 속에서도 플러그인을 개발하시는데 조금이나마 도움이 되고싶네요 소스는 svn상으로 함께 공유하며 자발적으로 개선해 나갔으면 하는데요 현재 기존의 플러그인에서 분기되거나 또는 아랄트랜스 기본 기능에 넣고 ...  
15 Talk 아무나 rc 파일 좀 만들어 주실분 안계세요? [2] Hide_D 12831   2008-07-19 2008-07-19 22:41
대충 이렇게 생겨먹었습니다. ┌──────────────────────┐│                      ││ □사용자사전사용             ││  경로 - ○ 게임폴더ATDataCustomDic.txt ││      ○ 사용자정의 |       |...|││    ...  
14 Talk whoami님 [3] Hide_D 9072   2008-07-18 2008-07-18 21:25
아래에 만든 플러그인이 에러가 납니다. 맨 처음에 만들었던 개발모드가 풀유니코드로 작성되어있고, 이녀석이 그냥 돌릴땐 잘 돌아가길래 그냥 Ctrl+C, Ctrl+V 해주고, 위 아래에 Ansi -> Unicode Unicode -> Ansi만 붙여넣은 거라 아무래도 변환부에 문제가 ...  
13 Talk 귀차니즘 발동 Hide_D 10755   2008-07-18 2009-01-06 01:00
현재 프로그래밍을 공부하면서 플러그인을 만드는 관계로 진척속도가 좀 많이 느립니다 =ㅅ=;; 그냥 플러그인 0.1 내놓고, 나중에 마저 개발해야겠네요. 데굴데굴  
12 Talk 아 이런 클라나드 [1] file my Vagina 11070   2008-07-13 2009-01-06 01:00
 
11 Talk 줄 바꿈을 n으로 하는 게임에서 벽뚫기 방지 해결책 [1] Hide_D 15082   2008-07-12 2008-07-12 18:09
http://aralgood.com/zbxe/33245 여기 스샷보고 생각난건데, 자릿수를 지정해 주고, n을 새로 먹여주면 벽뚫기가 줄어들지 않을까요.  
10 Talk 어제 말씀드렸던것... 알아냈습니다. file 나는누구인감? 14332   2008-07-10 2008-07-10 14:17
 
9 Talk RealLive 게임 목록 Hide_D 16886   2008-07-10 2009-01-06 01:27
자게에도 써놨지만, 원래 있어야 할 위치는 여기인것 같아서.. http://www.product.co.jp/?enter=1&page=1 商品?分를 PC게임 키네틱노벨 로 맞추면 됩니다.  
8 Talk 일단 기리기리 미 번역 파트(선택지) 보고? file Hide_D 14675   2008-07-10 2008-07-10 00:34
 
7 Talk 기리기리 번역... [8] 나는누구인감? 18994   2008-07-09 2008-07-10 13:34
루이토모를 하다보니 대사창이 아닌곳에 텍스트를 뿌리는 장면이 있더군요. 초반에 채팅창이 나오는데 그 채팅창이 이미지로 되어있는줄 알았는데 텍스트였습니다... 스크립트 열어보니 해당부분 번역되어 있더군요. 루이토모 외에 Temptation-Naked 2도 이런...  
6 Talk AGTH의 /L과 AT의 /L [1] Hide_D 17165   2008-07-08 2008-08-12 00:50
AT에서는 어플로케일 메시지가 뜨는데, AGTH에서는 그게 안뜬단 말이죠? 자체 구현인가...하면, 어플로케일이 없으면 /L옵션이 안먹는걸로 봐선 똑같이 어플로케일을 사용하는 것일텐데.. 이놈들은 어떻게 어플로케일 메시지가 안뜨게 하는걸까요?  
5 Talk [질문] HKCU/Software/AralGood/M2WAddr ? [3] whoami 14960   2008-07-08 2008-07-08 19:14
// CATCodeMgr::Init(ATCodeMgr.cpp) 중에서... // 어플로케일 관련 함수 m_sTextFunc.pfnOrigMultiByteToWideChar = (PROC_MultiByteToWideChar) CRegistryMgr::RegReadDWORD(_T("HKEY_CURRENT_USER\Software\AralGood"), _T("M2WAddr")); m_sTextFunc.pfnOri...