본문 바로가기

쓰기

회원님들이 올려주신 소스와 답변덕에
더디지만 조금씩 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/535/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 [필독] 테스트필터 사용시 주의사항 라파에 155441   2008-08-03 2008-12-16 00:03
69 Archive 대략 0.2 아랄 업뎃... [5] file EroGame 1918   2012-07-26 2012-07-26 18:37
 
68 Archive [플러그인] ATCode 120730 [10] file EroGame 1677   2012-07-30 2012-08-03 08:14
 
67 Archive [소스, 플러그인] ATCode 120805 - 파기 [9] file EroGame 1055   2012-08-05 2012-08-09 09:52
 
66 Archive [플러그인] ATCode 120809 . 3 [1] file EroGame 1027   2012-08-09 2012-08-09 16:26
 
65 Talk ATCTNR.dll 120809 업데이트..완료 EroGame 1174   2012-08-09 2012-08-09 14:31
원본 방식으로 후킹시 뒤에 밀린 명령어가 0x90 (nop) 로 밀어버려서 언훅시에 그 복사한 값에서 5길이 밖에 복구하지 않더군요. 버그 잡고.. 언훅 잘되는거 확인완료. 주의? 할점은 원본 후킹방식일때는 되도록이면 후킹 장소 지점에 명령어로부터 5 이상의 ...  
64 Archive [소스, 플러그인] ATCode 120811 [3] file EroGame 972   2012-08-11 2012-08-11 22:41
 
63 Archive [플러그인] ATCode 120812 [9] file EroGame 1056   2012-08-12 2012-08-13 00:22
 
62 Archive [플러그인] ATCode 120813 [2] file EroGame 1051   2012-08-13 2012-08-13 20:04
 
61 Archive [소스, 플러그인] ATCode 120814 [4] file EroGame 1073   2012-08-14 2012-08-14 20:19
 
60 Talk ATCode 120817 [1] EroGame 1283   2012-08-17 2012-08-26 23:12
좀 큰 버그가 있어서 잡고나서 업데이트.  
59 Archive [플러그인] ATCode 120826 (120906 수정) file EroGame 1436   2012-08-26 2012-09-06 20:52
 
58 Archive [플러그인] ATCode 120827 [4] file EroGame 1305   2012-08-26 2012-08-28 10:27
 
57 Archive [플러그인] ATCode 120906 [2] file EroGame 1063   2012-09-06 2012-09-06 20:56
 
56 Archive [플러그인] ATCode 121001 [10] file EroGame 952   2012-10-01 2012-10-02 18:27
 
55 Archive [플러그인] ATCode 121003 file EroGame 1014   2012-10-03 2012-10-03 02:19
 
54 Archive [플러그인] ATCode 121005 (필독사항포함) [1] file EroGame 1008   2012-10-05 2012-10-07 00:19
 
53 Archive [플러그인] ATCode 121014 (수정) - 파기 [6] file EroGame 3027   2012-10-14 2012-10-14 20:42
 
52 Archive [플러그인] ATCode 121015 [1] file EroGame 972   2012-10-14 2012-10-19 13:38
 
51 Archive [플러그인] ATCode 121020 (파기) file EroGame 988   2012-10-21 2012-10-21 13:10
 
50 Archive [플러그인] ATCode 121021 file EroGame 967   2012-10-21 2012-10-21 13:42