본문 바로가기

쓰기

그 뭐냐.

스마트 기능이 어째 제대로 빛을 발휘하지 못하고 있습니다.

 

왜그런가 되돌아서 생각해보니

발더스카이 개조할때 구현한 기능중 하나가

스마트에서 빠졌다는겁니다;;

 

그래서 요번 기가 사에서 나온 게임들 전부가

에러 팅팅 거리면서 꺼지더군요.

 

OTL

 

 

일단 결론입니다.

 

 

 

굳이 스마트 방식뿐만이 아닌

포인터 방식에서도 이 기능을 필요로 합니다.

 

 

후킹하는 지점이 call 지점을 겨냥한 상태일때 입니다.

(저번에 추가 건의한것과 별개입니다. 그거까지 적용된다면 금상첨화군요 안뚫리는 게임이 없어질겁니다.)

 

 

1000    CALL 2000   <-이곳을 후킹한다고 가정할때 (스마트 혹은 포인터 방식으로, 후킹하는 장소가 무조건 call 문일때)

--------------------------------

 

1000    CALL 5000 (아랄에서 번역실시 후 포인터를 넘겨줌)

 

5300    CALL 2000 (복사해온 조각 실행)

5306     ..

             ..

-------------------------------

 

 

구현하고자 하는건 저부분에서 약간 스크립트 형식을 따라한 형태일까요.

우선 전제조건은

1. 후킹한 장소(스마트 포인터방식 이나 , 포인터 방식일때) 가 무조건 CALL 문일때입니다.

 

사용하고자 하는 것은

포인터 방식이 아랄 번역한 메모리에 포인터 인자를 바꿔넣는 작업인데.

딱! 특정 함수만 거친뒤 다시 복구하는 겁니다.

 

위 예로 들었을때

5300 CALL 2000 을 실행한뒤

다시 수정된 포인터를 원래 포인터로 복구 후

실행되는 것이지요.

 

 

 

예전부터 구현하고자 하는 기능들이였습니다.

 

 

 

스마트, 콜지점선택, 콜진행후 포인터복구... 등.

또 생각나면 떠들겠습니다.

 

 

시간이 잘 안나네요..ㅠ

분류 :
Talk
조회 수 :
1865
등록일 :
2012.04.22
23:08:37
엮인글 :
https://arallab.hided.net/61747/2b4/trackback
게시글 주소 :
https://arallab.hided.net/board_devtalk/61747

프시쵸

2012.04.23
20:12:42

헐, 리뉴얼 됐다 싶었더니 여기서 거주하시는군요, 피시님. =ㅅ=

whoami

2012.05.05
00:21:15

아오.. 요즘 회사일이 바빠서 도대체 손을 못대는군요.

5월 중순 지나거나 6월은 되고 나서 돌아오도록 하겠습니다 oTL.

EroGame

2012.05.05
09:15:33

이름 번역 문제 해결 안된듯 합니다.

 

이름이 2번째 번역될때 번역이 되지 않는 현상이 몇몇 발생되고 있습니다.

확인해주세요~-~

(또한 한글자 이름도 제대로 번역이 되지 않더군요)

List of Articles
번호 제목 글쓴이 조회 수 추천 수sort 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155439   2008-08-03 2008-12-16 00:03
88 Archive [플러그인, 소스] DenyWord 테스트 버전 20080810 file whoami 8164   2008-08-10 2009-01-06 01:26
 
87 Talk 맵을 이렇게 사용해도 되나요? [2] Hide_D 8705   2008-08-09 2008-08-09 22:13
void CCustomDic2::SetKey(LPCSTR JpnWord, LPCSTR KorWord) { map<UINT,struct DicWord> EmptyMap; struct DicWord TempWord; map<size_t,UINT>::iterator iterBook; TempWord.WordLen = strlen(KorWord); TempWord.WordN = WordN++; UINT Hash=MakeStringHas...  
86 Archive [플러그인, 소스] 사용자 대본 & 사전 플러그인 20080809(테스트버전) [2] file Hide_D 8362   2008-08-09 2008-08-10 00:02
 
85 Talk 플러그인을 다시 Multi2용으로 만들면서 생긴 궁금증 [4] Hide_D 8374   2008-08-09 2009-01-06 01:26
MFC를 그대로 써야하는지라 API용의 기본틀을 쓸순 없어서 새로 만들었는데, extern "C" __declspec(dllexport) BOOL __stdcall OnPluginInit(HWND hSettingWnd, LPSTR cszSettingStringBuffer); extern "C" __declspec(dllexport) BOOL __stdcall OnPluginOpt...  
84 Archive [플러그인, 소스] DenyWord 테스트 버전 20080809 [1] file whoami 8067   2008-08-09 2009-01-06 01:26
 
83 Archive [플러그인, 소스] CmdFilter 테스트 버전 20080807_2 file whoami 12660   2008-08-07 2009-01-06 01:26
 
82 Archive [플러그인, 소스] CmdFilter 테스트 버전 20080807 whoami 8699   2008-08-07 2009-01-06 01:26
고급 옵션 설정시 중복되는 버그 고친 버전입니다. 이상한데.. 분명히 고친 것 같았는디... 버그가 또 발견되어 삭제합니다. http://aralgood.com/zbxe/56444 를 참조.  
81 Archive [플러그인,소스] ezTransXP with CustomDic 0.3 20080806(테스트버전) [1] file Hide_D 8712   2008-08-06 2009-01-06 01:00
 
80 Archive [플러그인, 소스] CmdFilter 테스트 버전 20080806 [4] file whoami 7719   2008-08-06 2009-01-06 01:00
 
79 Archive [플러그인, 소스] RLCmd 20080806 file whoami 7775   2008-08-06 2009-01-06 01:00
 
78 Archive [플러그인,소스] ezTransXP with CustomDic 0.3 20080805(테스트버전) file Hide_D 7830   2008-08-04 2008-08-05 01:06
 
77 Talk 함수, 변수 작명법 잘 정리된곳 없나요; [1] Hide_D 9291   2008-08-03 2009-01-06 01:00
결국 소스로 올려야하니까 좀 정리는 해둬야겠다.. 싶어서 번역쪽은 그냥 0.2버전(캐시 초기화) + 약간의 강화로 변경  
76 Talk 현재까지 작업물 + 에러 OTL [2] file Hide_D 9891   2008-08-03 2008-08-03 21:08
 
75 OtherFiles [잡다]UTF8텍스트파일 -> Hex 출력기 file Hide_D 10613   2008-08-03 2008-08-03 16:26
 
74 Talk VS 2005로 갈아탔습니다 [1] Hide_D 8272   2008-08-03 2009-01-06 01:34
MFC, 리소스 에디터 때문에 도저히 못 버티다가 옮겼습니다. VS 2008 깔고는 그 느린 속도에 기겁했는데, 이쪽은 꽤 빠르네요. [우홋홋] 근데, 2005와 2008 차이가 뭐죠? 버전 옮길때 그냥 파일 열고 버전 숫자만 바꾸면 땡이네요[...]  
73 Talk 0.3에서 추가할것 Hide_D 7908   2008-08-03 2009-01-06 01:00
까먹을까봐 정리 사용자 사전계 1. 사용자사전 유/무 2. 범용사용자사전 유/무 3. 사용자 정의한 주소의 파일 열기(취소) 4. 탭처리 5. 검색 알고리즘 강화(보류) ezTransXP 강화계 1. 번역후 괄호 처리(다이얼로그에 추가)(보류) 2. 사용자 사전과 완벽히 분...  
72 Talk DumpText는 아직 개선이 좀 필요한듯; [3] Hide_D 8111   2008-08-03 2009-01-06 01:00
여러개를 켤 수가 없다는 단점이 있네요[...] 그나저나 질문, 헤더 파일에서 extern으로 선언하면 그 프로그램 전체에서 공유되는건가요? 그렇다면, 창은 하나만 띄우고 플러그인 로드될때마다 번호를 매겨서 옵션을 먹여야 하려나요..  
71 Talk 문자열 -> Hex 변환이 제대로 안되네요. [7] Hide_D 7561   2008-08-02 2009-01-06 01:00
LPSTR ConvertHex(LPCSTR source){ size_t Len=strlen(source); char Temp[2048]=""; BYTE szBuf[3] = { '', }; int j=0; for(size_t i=0;i<Len;i++){ szBuf[0]=(BYTE) source[i]; szBuf[1]=(BYTE) source[i+1]; if(szBuf[0]<0x80){ //1바이트 코드라면 j += ...  
70 Archive [플러그인, 소스] RLCmd 20080802 [1] file whoami 8818   2008-08-02 2009-01-06 01:00