글 수 429
회원님들이 올려주신 소스와 답변덕에
더디지만 조금씩 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이라고 써서 잘되고 있긴 하지만요 ^^
더디지만 조금씩 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이라고 써서 잘되고 있긴 하지만요 ^^
함수형을 아는 방법은 리버스 엔지니어링을 사용한 방법 밖에는 없습니다. 해당 함수가 불리는 부분을 찾아 push 되는 인자를 확인하거나 함수 내부에 ESP 에 + 되는 값 등을 확인하고 리턴값에 뭐가 들어가는지 보는 것이죠. 소스가 감춰진 경우 중간에 더미(dummy) DLL 을 집어넣어 넘어오는 레지스터 및 스택값을 일일이 확인하는 방법도 있겠군요.