본문 바로가기

쓰기

회원님들이 올려주신 소스와 답변덕에
더디지만 조금씩 EzTranceXp안에 UserDict.jk 파일 편집프로그램을 완성해 나가고 있습니다.
다시 한번 모든분들께 감사드리고요 (꾸벅)

염치없지만 다시 막힌부분에서 질문 또 올리게 되었습니다.

1. dll 파일에서 함수형을 알아낼수 있는 방법이 있나요?
어찌어찌해서 함수이름은 알아내는 방법은 알았는데...
그러니까 올려주신 소스에 있는
char* (__stdcall * J2K_TranslateMMNT)(int data0, const char *jpStr);
이런 부분 같이... 어떻게 저 함수형을 알아냈는지가 무척 궁금하네요...

2.J2KEngine.dll 안에 있는 J2K_ReloadUserDict 함수의 형을 알수 있을까요?
이름 그대로 UserDict.jk파일을 다시 읽어오는 함수같은데 형을 모르니 사용할수가 없네요..

3.J2KEngine.dll 파일을 LoadLibrary한후에
J2K_Terminate () 함수를 사용하거나 FreeLibbrary (hLibModule) 해버리면
프로그램이 뻗어버리더라구요...
올려주신 소스도 Close부분 보면 이부분은 주석처리로 되어있구요..
혹시 해결방법을 알수있을까요?

PS.
아 그리고.....J2K_TrancelateMMNT (int,const char *)에서
앞에 int 인자의 의미는 뭐죠?
올려주신 소스엔 0으로 값을 대입해서 저도 그냥 0이라고 써서 잘되고 있긴 하지만요 ^^
분류 :
Talk
조회 수 :
16881
등록일 :
2008.09.29
01:52:31
엮인글 :
https://arallab.hided.net/3860/341/trackback
게시글 주소 :
https://arallab.hided.net/board_devtalk/3860

whoami

2008.09.29
14:45:27
함수명이 데코레이션된 경우 함수명에서 힌트를 얻을 수는 있지만 일반적인 경우 익스포트 테이블만 보고 알 수 있는 방법은 없습니다. 현재 알려진 함수형은 제가 알기로 오하라님의 OhTextHooker 소스코드에 있는 함수형을 그대로 쓰는 것으로 알고 있습니다.

함수형을 아는 방법은 리버스 엔지니어링을 사용한 방법 밖에는 없습니다. 해당 함수가 불리는 부분을 찾아 push 되는 인자를 확인하거나 함수 내부에 ESP 에 + 되는 값 등을 확인하고 리턴값에 뭐가 들어가는지 보는 것이죠. 소스가 감춰진 경우 중간에 더미(dummy) DLL 을 집어넣어 넘어오는 레지스터 및 스택값을 일일이 확인하는 방법도 있겠군요.

Hide_D

2008.09.29
23:18:26
http://www.debuglab.com/board/board_detail.aspx?id=26&table=qna&pagenum=21

IDA를 쓰면 인자 정보를 알기에 좀 낫다는군요[어렵긴 매한가지겠지만 =ㅅ=]

호기심맨

2008.09.30
20:55:30

솔직히 이번 질문은 하면서도 대답을 반쯤 포기한 질문이었는데요...
역시 AralTrance라는 괴물급 프로그램을 만드시는 분들이라 그런지 엄청난 답을 듣게 되었네요..
정말 너무 감사드립니다.

그나저나 히데님 소개해주신 그 툴.... 무시무시한 툴이군요...
순식간에 질문했던 4개문제가운데 3개가 풀려버리네요...
정말 다시한번 감사드립니다 (꾸벅)

List of Articles
번호 제목 글쓴이 조회 수 추천 수 날짜 최근 수정일sort
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155439   2008-08-03 2008-12-16 00:03
368 Talk RLCmd, KoFilter 의 디버그 로그 기능에 대해 - 2 whoami 10308   2008-07-28 2009-01-06 01:26
현재 정식버전에 디버그 로그기능은 살아있습니다. 단, 일반 사용자가 건드릴 수 없도록 옵션창에는 빠져 있습니다. 사용하시려면.. 멀티플러그인의 옵션 직접입력 창에서 집어넣거나 바로가기 편집에서 직접 넣어주시기 바랍니다.  
367 Archive [플러그인, 소스] RLCmd 20080728_2 file whoami 8784   2008-07-28 2009-01-06 01:26
 
366 Talk 사용자 사전 플러그인에 대해서 설문 [5] Hide_D 8785   2008-07-30 2008-07-30 22:47
으음 기본적으로 모든 게임에 사용되는 사용자 사전 을 목표로 진행중이기 때문에 ezTransXPwithCustomDic이 아니라 ezTransXP가 되고 싶습니다만... 0.2에서는 특별한 다이얼로그가 없기 때문에 이걸 그냥 ezTransXP.dll로 만들어 달라기도 애매한 상황입니다...  
365 Archive [플러그인, 소스] CmdFilter 테스트 버전 20080730 [2] file whoami 10233   2008-07-30 2009-01-06 01:26
 
364 Talk 쓸모가 있을것 같은 기능들 [4] Hide_D 18225   2008-07-30 2010-08-04 16:58
1. 줄 재배치 (기능) 사용자 입력으로 개행 기호 (r, n, <br> 등등)를 입력 받고 일본어 부분에서 일단 저것들을 제거했다가 번역후 다시 넣는 기능. (효과) (1) 번역률 향상 개행문자가 사이에 있으면 심오한 번역문이 나옵니다. (2) 벽뚫기 완화 개행문자를 ...  
363 Talk 전에 쓸모 있는 기능의 2번 관련 Hide_D 8860   2008-07-31 2009-01-06 01:00
whoami님이 생각하시는 것 처럼 정규식도 생각은 해봤는데, 이건 저로서는 무리고 =ㅅ=; 저거 비스무~리 하게 와일드 카드만 사용 할 수 있는 모델을 게획해 봤는데, '이걸 만들어야 할지 말아야 할지' Hide_D는 연습장에 적힌 내용을 소환했다. > 문장의 시작...  
362 Talk 리얼라이브 세이브에 대해서... [4] 나는누구인감? 7894   2008-08-01 2009-01-06 01:00
오늘 학교에서 하라는 공부는 안하고 곰곰히 생각을 해봤습니다. 세이브 할 경우 현재 위치의 이미지 정보 읽어들임 → 현재 위치의 대사 정보 읽어들임 → 세이브 파일에 저장 로드 할 경우 세이브 파일의 이미지 정보 읽어들임 → 세이브 파일의 대사 정보 읽어...  
361 Talk DumpText를 만들고 있는데... [2] Hide_D 7892   2008-08-02 2008-08-02 12:04
밖에서 모달리스 다이얼로그 안으로 데이터를 넣어주는 간단한 방법 없나요 =ㅅ=; 저 방법이 생각안나서 지금 해보려고 하는게, 실시간으로 바깥의 isTextFilled 를 체크해서 true인 경우만 밖의 텍스트를 가져온 다음에 isTextFilled를 false로 만드는 방법밖...  
360 Talk 퓩퓩... 퓩퓩... oTL whoami 7557   2008-08-02 2009-01-06 01:35
원인을 알아냈습니다. 하지만 이건.. 참 난감하군요. 이 문제는 RLCmd의 문제가 아닙니다. 이 문제는 SOW방식의 문제도 아닙니다. 이 문제는 한글 완성형 코드의 문제입니다... oTL 예전에 KoFilter 를 한참 만들고 있을 때... 이 이야기가 나온 적이 있었습니...  
359 Archive [플러그인, 소스] RLCmd 20080802 [1] file whoami 8818   2008-08-02 2009-01-06 01:00
 
358 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 += ...  
357 Talk DumpText는 아직 개선이 좀 필요한듯; [3] Hide_D 8111   2008-08-03 2009-01-06 01:00
여러개를 켤 수가 없다는 단점이 있네요[...] 그나저나 질문, 헤더 파일에서 extern으로 선언하면 그 프로그램 전체에서 공유되는건가요? 그렇다면, 창은 하나만 띄우고 플러그인 로드될때마다 번호를 매겨서 옵션을 먹여야 하려나요..  
356 Talk 0.3에서 추가할것 Hide_D 7908   2008-08-03 2009-01-06 01:00
까먹을까봐 정리 사용자 사전계 1. 사용자사전 유/무 2. 범용사용자사전 유/무 3. 사용자 정의한 주소의 파일 열기(취소) 4. 탭처리 5. 검색 알고리즘 강화(보류) ezTransXP 강화계 1. 번역후 괄호 처리(다이얼로그에 추가)(보류) 2. 사용자 사전과 완벽히 분...  
355 Talk VS 2005로 갈아탔습니다 [1] Hide_D 8272   2008-08-03 2009-01-06 01:34
MFC, 리소스 에디터 때문에 도저히 못 버티다가 옮겼습니다. VS 2008 깔고는 그 느린 속도에 기겁했는데, 이쪽은 꽤 빠르네요. [우홋홋] 근데, 2005와 2008 차이가 뭐죠? 버전 옮길때 그냥 파일 열고 버전 숫자만 바꾸면 땡이네요[...]  
354 OtherFiles [잡다]UTF8텍스트파일 -> Hex 출력기 file Hide_D 10613   2008-08-03 2008-08-03 16:26
 
353 Talk 현재까지 작업물 + 에러 OTL [2] file Hide_D 9891   2008-08-03 2008-08-03 21:08
 
352 Talk 함수, 변수 작명법 잘 정리된곳 없나요; [1] Hide_D 9291   2008-08-03 2009-01-06 01:00
결국 소스로 올려야하니까 좀 정리는 해둬야겠다.. 싶어서 번역쪽은 그냥 0.2버전(캐시 초기화) + 약간의 강화로 변경  
351 Archive [플러그인,소스] ezTransXP with CustomDic 0.3 20080805(테스트버전) file Hide_D 7830   2008-08-04 2008-08-05 01:06
 
350 Archive [플러그인, 소스] RLCmd 20080806 file whoami 7775   2008-08-06 2009-01-06 01:00