본문 바로가기

쓰기

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


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

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


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

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

간단히 이유가


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

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

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


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

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

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



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

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

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




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

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

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

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

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


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

분류 :
Talk
조회 수 :
666
등록일 :
2013.07.06
20:37:24
엮인글 :
https://arallab.hided.net/107822/345/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 [필독] 테스트필터 사용시 주의사항 라파에 155436   2008-08-03 2008-12-16 00:03
409 Archive [플러그인] CustomDic 4.0.4.131 RC [5] file Hide_D 24298   2011-01-05 2011-04-24 21:07
 
408 Archive [플러그인, 소스] preHK2FK [3] file whoami 23991   2008-07-04 2009-01-06 02:08
 
407 Talk ATS의 문제점.. Hide_D 23578   2010-05-15 2010-05-15 19:18
0.2의 그 복잡하고 어려운 방식은 일단 뒤로 두고 0.3의 ATS가 갖는 허점이 1. 첨부파일, 필터 경로들을 [일일히!] 입력해야 한다. 2. 코드가 갱신되었을 때 대처할 방법이 전혀 없다. 일일히 입력하는 것 자체는 나쁘지 않은데, 2번 때문에 심각한 문제가 됩...  
406 Talk FixLine 버그 발생 [1] Hide_D 23382   2010-04-25 2010-05-01 22:19
!梨桜 01 21 979C 8DF7 을 처리하기 위해 %01%21{T} 로 설정하면 FixLine이 씹고 다음 데이터를 뱉지 않음 %21{T} 로 설정하면 아예 '닥치고 튕김' 지정된 문자열 + 임의의 문자열 구조로 했을때 버그가 있는듯 최대한 빨리 수리를 -_-;  
405 Talk '잡담인데' [2] FrigateBird 23212   2010-02-22 2011-06-28 01:25
0.3에서 일부 게임이 코드를 잠시 none 해야 되는 녀석들이 있잖아염 코드를 잠시 슬쩍 어디 처 올리든 해서 단축키로 전환하면 좋겠는데  
404 Talk [뻘글] 요새 프로텍터가 하도 무서워서 Hide_D 22878   2010-10-26 2010-10-26 00:15
대상 클라이언트에 최소한의 Injector만 '꽂아'두고 실제 동작은 '서버'에서 Injector와 IPC만으로 구동하는 형식은 어떨까 싶군요. Injector에서 '메모리' 입출력 관현 함수와 기본 WinAPI에 사용되는 DLL 로드(이건 위험하지 않으니까!)와 실제 WinAPI를 실...  
403 OtherFiles [소스, 실행파일]MeCab을 독음 변환기로 사용한 예제 file Hide_D 22690   2009-09-09 2011-06-28 01:25
 
402 Talk 뭐라고 설명해야할까요 -_-; 하여간 설명 file G2m 22598   2010-01-21 2010-01-21 19:17
 
401 Talk KiriKiri 텍스트 파싱 개선 프로젝트! Hide_D 22403   2010-10-28 2010-10-28 00:21
필요가 생겨서[!] 이제 좀 개선을 시켜볼 생각입니다. 우선 문제가 되는 곳은 text=""겠군요  
400 Archive [플러그인,소스] 사용자 사전 플러그인 0.1 20080718_2 [5] file Hide_D 22052   2008-07-18 2009-11-13 00:53
 
399 Archive [번역툴]QuickTrans Beta 0.0.6 [6] file HaruKaze 21991   2009-01-28 2011-04-27 12:51
 
398 Archive [플러그인,소스] KiriKiri 테스트 버전 20090729 [11] file whoami 21238   2009-07-29 2009-09-13 14:57
 
397 Talk FixLine 테스트버전 081215 [1] file 그레이 20429   2008-12-16 2008-12-16 16:37
 
396 Archive 정착한A님 여기 ATCode.dll 이거!! [3] file 아랄 20120   2008-10-07 2009-01-06 01:24
 
395 Archive [소스, 플러그인] Cache 테스트버전 101127 file Hide_D 19949   2010-11-27 2010-11-27 04:19
 
394 Talk Hide_D's Todo List [1] Hide_D 19790   2010-03-01 2012-08-03 09:02
좀 써 놔야 할것 같습니다 -_-; 안써두니까 안해요 1. FixLine v2 패턴간 빈칸을 없애는 옵션을 추가 -> 아마 큰 패턴 단위로 옵션을 추가할 수 있도록 하는게 좋을 것 같다. 처리 순서 변경 -> 선 개행, 선 패턴, 번역, 후 패턴, 후 개행을 선 패턴, 선 개행,...  
393 Talk 음음... 제가 도와드릴 일이 있을까요,,,? [2] S.sage 19487   2008-11-20 2009-01-06 01:10
뭐 별볼일 없는 고양이손이긴 하지만.;;;;;; 놀고있는 인원 여기하나 있으니 쓸려면 써주세요~..;;;  
392 Talk 히데님이 부탁하신거.... [1] file 류제로 19458   2009-03-21 2011-06-28 01:25
 
391 Talk 1빠!!! [1] 아랄 19435   2008-07-08 2011-06-28 01:25
옹예~  
390 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