본문 바로가기

쓰기

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


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

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


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

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

간단히 이유가


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

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

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


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

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

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



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

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

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




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

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

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

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

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


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

분류 :
Talk
조회 수 :
666
등록일 :
2013.07.06
20:37:24
엮인글 :
https://arallab.hided.net/107822/993/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
번호 제목 글쓴이 조회 수 추천 수 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155436   2008-08-03 2008-12-16 00:03
204 Talk 아랄 트랜스 github/svn [6] ka7713 733   2018-12-26 2018-12-30 17:26
안녕하세요. 아랄트랜스 0.2/0.3 업데이트가 되지 않는 것이 안타까운데, github나 다른 곳으로 올려주실 생각은 없으신지요. 큰 도움은 안되더라도 조금이나마 기여하고 싶네요.  
203 Talk VB.NET에서 ezTransXP.dll사용하는 방법은 없나요? [1] R2D2 358   2016-06-14 2018-06-20 14:44
vb.net에서 MFC dll을 써서 이지트랜스로 번역해서 결과물을 가져오고 싶습니다. 그런데 아무리찾아봐도 방법을 모르겠습니다. Imports System.Runtime.InteropServices  Private Declare Fu*nction Translate Lib "ezTransXP.dll" (ByRef cszJapanese As Stri...  
202 Talk ATCTNR에다가 Python만 갖다 붙여도...? [1] Hide_D 279   2016-01-11 2016-01-12 01:30
ATCTNR에 몇가지 버그는 좀 있지만 이거 좀 보완하고, 인젝터 세팅가능하게 한다음에 ATCTNR + ProtocolBuffer(+gRPC) + Python 3 정도로 해서 묶으면, 꽤 재미있는 물건이 나오지 않을까 생각해봅니다 ㅇㅇ 이쪽은 Standalone으로 해볼만할 것 같기도 하고...  
201 Talk UTF-8이나 유니코드 원활한 필터처리를 위해 생각해봤는데 [5] Wales 620   2014-06-16 2014-07-29 16:39
Translate함수에 포함된 필터 전후처리를 따로 빼서 원문 전환전과 번역후에 필터 처리를 하도록 하는건데 문제는 필터들 전부 멀티바이트 중점으로 만들어지다 보니 필터 전부를 손봐야 하는 상황이 오는군요. 그래서 일단 보류중...  
200 Talk 엔드 아랄호환 문제를 모두 수정했습니다 [2] kiereh 490   2014-04-28 2014-04-30 01:25
http://www.eroha.net/%ed%94%84%eb%a1%9c%ec%a0%9d%ed%8a%b8/%ec%97%94%eb%93%9c/ 오늘자 버전 (140428)으로 엔드와 아랄트랜스간의 호환 문제가 수정되었습니다. 멀티쓰레드로 번역문을 막 쏘면 문자열 포인터가 튀면서 잘못된 참조를 하던 문제, %가 들어갈...  
199 Talk 요 며칠간 아랄트랜스 사이트가 인기군요. [2] file whoami 924   2014-04-18 2014-04-28 16:06
 
198 Talk aralgood.com 도메인 부활... [7] whoami 566   2014-03-02 2014-03-17 22:48
혹시나 하고 매일 한번씩 체크하곤 하는데.. 오늘 보니 도메인이 부활했군요! 아랄님이 체크하시고 부활시키셨나? 어쨌든 그에 따라 자동업데이트도 부활하고 좋군요. 혹시 아랄님이나 Hide_D군님 보시면.. 제로보드 업데이트 하실 생각 없으신가요? 꽤 오래된...  
197 Talk 이지트랜스 플러그인 Ehnd 제작자입니다. [6] kiereh 3429   2014-02-27 2014-03-01 17:59
에그헤드의 필터 기능을 타 써드파티 프로그램에서도 사용할 수 있게 하자는 발상으로 이지트랜스 플러그인인 Ehnd를 제작하게 되었습니다. 플러그인이라고 하는 이유는 Proxy DLL 기법을 이용해 구현하였고 (Ehnd의 DLL 이름은 J2KEngine.dll, 기존 이지트랜...  
196 Talk 아랄트랜스 0.2 소스 bitbucket 으로 올려놨습니다. [7] whoami 2831   2014-02-18 2018-12-27 18:27
구글코드 SVN 에 무슨 일이 생겼는지 몰라서 일단 백업삼아 bitbucket 에 repositiry 하나 잡고 소스를 올렸습니다. 아무래도 옛날 SVN과 인터페이스가 비슷해서 (TortoiseHg) 편한 Mercurial 로 세팅했고.. 공개로 일단 해놓기는 했는데.. 어차피 개발진이 몇...  
195 Talk 아랄트랜스 0.2 구글코드 svn 밴당했나요? whoami 2536   2014-02-15 2014-02-15 22:54
오랫만입니다... ^^ 새해 복 많이 받으세요.. 이미 늦었나. 아래 Wales 님이 코드수정을 몇 개 하신 것을 보고 오랫만에 svn 업데이트를 하려고 하니 에러가 뜨더군요. 그래서 구글코드 들어가 보니 프로젝트가 사라졌네요? 동일한 이름의 프로젝트를 만들려고...  
194 Talk atcode.dll이 출력 못하는 글자를 수집해 봅니다. [2] file Wales 488   2014-02-05 2014-02-07 20:13
 
» Talk 스마트 방식과 윈7의 호환에 관한 잘못된 견해 [4] TwoComet 666   2013-07-06 2013-07-07 03:37
코드 게시글에 '스마트 방식이라 윈7에서 튕길지도 모른다'는 잘못된 인식을 불어넣는 것을 발견했기에 미리 사전에 이야기합니다. 해당사항의 정확한 원인은 아직까지 발견된 사례의 하나인 기가사나 타 브랜드에서 사용하는 넥서스 엔진에서만 해당하는 사항...  
192 Talk 정말 오래간만입니다. [5] Hide_D 694   2013-05-08 2013-07-04 04:45
중간에 폴라리스 폭파되었다는 소식 듣고 한번 들렀던 걸 제외하면 거의 1년 넘게 접속을 안하고 있었던 셈이네요 -0-;; 랩에 진행중인 과제도 있고해서 아직도 좀 바쁘긴 한데, 시간 나는데로 플러그인 관련으로 쌓인 일 좀 처리해 볼까 합니다. PS. 아직 관...  
191 Talk 어플로케일이 후킹하는 함수리스트... [2] TwoComet 862   2013-03-22 2013-03-27 10:26
NTDLL.DLL RtlMultiByteToUnicodeN RtlAnsiStringToUnicodeString RtlUnicodeToMultiByteN RtlUnicodeStringToAnsiString RtlOemToUnicodeN RtlOemStringToUnicodeString RtlUnicodeToOemN RtlUnicodeStringToOemString RtlUpcaseUnicodeToMultiByteN RtlUpcas...  
190 Talk 아랄트랜스 번역플러그인에 이 프로그램들을 추가해주시면 안될까요? [5] 암흑마제 1532   2013-03-14 2013-03-14 22:16
1.TransCAT KJ/JK - 한일,일한 양방향 실시간 번역 프로그램 창신소프트의 이지트랜스와 마찬가지로 한일,일한 번역 프로그램입니다. 이지트랜스와 마찬가지로 사용자사전 기능을 제공하여 사용자사전을 잘만 이용하면 번역은 더 좋아집니다. 공통적인 성격을...  
189 Talk 변경된 소스 좀 올려주세요. [1] whoami 715   2013-03-06 2013-03-06 19:09
안녕하세요. 오랫만입니다. 간만에 들러보니 폴라리스쪽에 큰 일이 있었더군요. 뭐 자세한 사항은 잘 모르겠지만.. 어쨌든.. 오랫만에 다시 한번 볼까 하고 SVN 업데이트를 했더니 1/31 이 마지막인데 이후로도 업데이트가 많이 되었더군요. SVN 업데이트를 가...  
188 Talk 추후 업데이트(언젠가, 누군가) 해야 할 사항입니다. (7/28) [5] TwoComet 1858   2013-01-22 2013-09-21 03:00
1. SCP 기능 추가(ATCode에 병합) - 파기(현재 잠정적인 해결) 2. 기리기리 W2M, M2W 변환체크 추가(NTLEA를 이용한 대사수집) - 일시보류 3. 종결문자 따로 강제지정 (0x00을 \0으로 변환하고 표기불가능 문자는 %xx, 종결문자는 특정 헥스값을 입력하여 서치...  
187 Talk ATCode 120817 [1] EroGame 1283   2012-08-17 2012-08-26 23:12
좀 큰 버그가 있어서 잡고나서 업데이트.  
186 Talk ATCTNR.dll 120809 업데이트..완료 EroGame 1171   2012-08-09 2012-08-09 14:31
원본 방식으로 후킹시 뒤에 밀린 명령어가 0x90 (nop) 로 밀어버려서 언훅시에 그 복사한 값에서 5길이 밖에 복구하지 않더군요. 버그 잡고.. 언훅 잘되는거 확인완료. 주의? 할점은 원본 후킹방식일때는 되도록이면 후킹 장소 지점에 명령어로부터 5 이상의 ...  
185 Talk ATCode에 추가했던 ASLR 있잖아요. [2] EroGame 1767   2012-06-18 2012-08-03 08:38
http://lab.aralgood.com/index.php?document_srl=49989 이때 추가한건데 이거 따로 분리해서 사용 유무 지정하는게 좋을것 같네요. (xp에서는 무반응으로 처리하고) 특정 게임에서 연산중 뻗는 경우 발견되었습니다. 더미다 같은경우는 굳이 연산안들어가고 ...