본문 바로가기

쓰기

회원님들이 올려주신 소스와 답변덕에
더디지만 조금씩 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/433/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
289 Archive [플러그인] DenyWord 테스트 버전 20080924 [1] file Hide_D 10891   2008-09-24 2009-01-06 01:24
 
288 Talk 픽스 라인 연기로 인한 임시 대책 Hide_D 10821   2008-09-26 2009-01-06 01:24
본래 목적인 FixLine이 완성이 늦춰지면서 약간 작전을 변경하도록 하겠습니다. FixLine을 완성시키는 것은 유지하고 FixLine을 3개로 쪼갭니다. OutRuby : FixLine의 TextOnly옵션 DivideLine : FixLine의 Base 기능(DCOnly 대체용) FixChar : FixLine의 Add...  
287 Archive [플러그인] DivideLine 테스트 버전 20080927 [1] file Hide_D 10926   2008-09-27 2009-01-06 01:24
 
286 Talk 으아아앍 SVN [1] Hide_D 10267   2008-09-27 2009-01-06 01:24
구조가 꼬였네요 orz 어쩌지[...]  
285 Archive [플러그인] OutRuby 테스트 버전 20080927 [2] file Hide_D 10236   2008-09-27 2008-10-12 03:58
 
284 Talk ...? [3] file 북극 12001   2008-09-28 2008-12-30 08:55
 
» Talk [질문] J2kEngine.dll 에관해 이것저것 [3] 호기심맨 16881   2008-09-29 2009-01-06 01:24
회원님들이 올려주신 소스와 답변덕에 더디지만 조금씩 EzTranceXp안에 UserDict.jk 파일 편집프로그램을 완성해 나가고 있습니다. 다시 한번 모든분들께 감사드리고요 (꾸벅) 염치없지만 다시 막힌부분에서 질문 또 올리게 되었습니다. 1. dll 파일에서 함수...  
282 Talk SVN 말이죠 ㅠ_ㅠ [3] file Hide_D 11128   2008-09-29 2009-01-06 01:24
 
281 Talk 죄송해요 ㅠ_ㅠ SVN 위치 trunk -> trunk2 로 옮겨주세요. Hide_D 10477   2008-10-01 2009-01-06 01:24
제가 세팅을 잘못한 모양인지 trunk 그 상태로는 도저히 원상 복구가 안되네요 ㅠ_ㅠ 죄송합니다 위치를 trunk에서 trunk2로 바꿔주시면 감사하겠습니다  
280 Talk DumpText2 계획안 [6] file Hide_D 14432   2008-10-02 2009-01-06 01:24
 
279 Talk 사용자대본 지나가다정착한이A님 특별판[...] file Hide_D 11242   2008-10-02 2009-01-06 01:24
 
278 Archive 정착한A님 여기 ATCode.dll 이거!! [3] file 아랄 20120   2008-10-07 2009-01-06 01:24
 
277 Talk 기리기리 스크립트. 원본, 작업물. file 나는누구인감? 11933   2008-10-07 2008-10-07 22:53
 
276 Archive [소스, 파일] 기리기리, 페이트 전용 매크로(완료) [4] file Hide_D 11256   2008-10-07 2008-10-09 00:08
 
275 Archive 임시 소스 보관 DumpText2 file Hide_D 10305   2008-10-11 2009-01-06 01:52
 
274 Archive [플러그인] OutRuby 테스트 버전 20081012 file Hide_D 9206   2008-10-12 2008-10-12 11:30
 
273 Archive [플러그인] OutRuby 임시 버전 20081012_2 [7] file Hide_D 28333   2008-10-12 2015-07-14 15:18
 
272 OtherFiles vs2008 - Remote Debugging file 아랄 12710   2008-10-13 2008-10-13 23:55
 
271 Talk 기리기리 버그, [6] Hide_D 13829   2008-10-19 2009-01-06 01:48
기리기리에서는 라인 외부 함수로 @,*를 사용하고 내부 함수(매크로?)로 [] 를 사용하고 있는데, []안에 올바른 매크로가 들어가지 않는 경우, 튕겨버립니다 ezTransXP나 KiriKiri나 둘중에 한녀석 손좀 봐둬야 할듯 =ㅅ=; http://www.aralgood.com/zbxe/13278...  
270 Talk ATCode UI 버그 [1] Hide_D 11730   2008-11-01 2009-01-06 01:03
HOOK(0x00480A10,TRANS([ESP+0x28],PTRCHEAT,SAFE)),ENCODEKOR,HOOK(0x005622B0,TRANS([ESP+0x4],PTRCHEAT ​ ,SAFE)),HOOK(0x00562CB0,TRANS([ESP+0x4],PTRCHEAT,SAFE)),HOOK(0x004F5590,TRANS([ESP+0x4],PTRCHEAT,SAFE)) ​ ,HOOK(0x00481790,TRANS([ESP+0x40]...