본문 바로가기

쓰기

회원님들이 올려주신 소스와 답변덕에
더디지만 조금씩 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/ada/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
84 Talk 옵션 스트링 버퍼 말이죠? [1] Hide_D 10830   2008-08-11 2008-08-11 23:22
ezTransXP단부터 확인을 해봤더니 ezTransXP도 LPSTR을 이용하는 군요 ㄱ- 옵션으로 파일명을 받으려고 했는데, 이거 참 난감하게 됬네요. c:ゲ?ムABCA_Route.txt 하면 못열테니까요. 아직 LPTSTR은 안줘봐서 모르겠지만 안된다면 충격이 좀 클듯;  
83 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...  
82 Talk 쓰레드를 사용하려고 하는데 제대로 안되네요; [2] Hide_D 10808   2008-12-25 2008-12-26 22:53
음 일단 쓰레드를 사용하는 파일은 CAutoLoad 클래스 하나뿐이구요. CustomDic에 포함됩니다. 5초마다 한번씩 파일리스트에 등록된 파일의 수정된 날짜를 체크해서 새로 갱신된것이면 새로 읽는다...라는 기능을 가지고 있는데, 애초부터 쓰레드가 동작조차 하...  
81 Talk 하루카제님 요청하신거 C++로 만들어봤습니다. [3] Hide_D 10779   2009-01-05 2009-01-05 18:30
// Test.cpp : 콘솔 응용 프로그램에 대한 진입점을 정의합니다. // #include <stdio.h> #include <tchar.h> #include <math.h> typedef unsigned int UINT; struct BoolArray{ bool Data[32]; }; BoolArray NewBoolArray(); UINT Algorithm(char * szSource)...  
80 Talk 귀차니즘 발동 Hide_D 10755   2008-07-18 2009-01-06 01:00
현재 프로그래밍을 공부하면서 플러그인을 만드는 관계로 진척속도가 좀 많이 느립니다 =ㅅ=;; 그냥 플러그인 0.1 내놓고, 나중에 마저 개발해야겠네요. 데굴데굴  
79 Talk FixLine 예상 작동 방식 [1] file Hide_D 10715   2008-08-23 2009-01-06 02:04
 
78 Talk 작전명. '누덕누덕' 작전 시작 Hide_D 10674   2011-02-18 2011-02-18 00:02
AralTrans 0.2에서 시작해서 눈꼽만큼씩 고쳐나갈 생각입니다. 주 타겟 OS : Windows 7 32bit 목표 일자 : 2012년 오기 전 PS : JSCustom 프로젝트는 연기되었습니다.  
77 Talk 토모요 애프터...... [2] file whoami 10576   2008-08-26 2009-01-06 02:04
 
76 Talk AT 0.3 재설계 프로젝트 [1] 아랄 10551   2011-04-16 2011-04-17 09:52
1. 인젝터-서버 방식 2. IDE = vs2010 3. AT 0.3에서 시도하려 했던 중복 기능의 모듈화는 유효, 모듈 명명은 언제든 변할 수 있음 FontMapper, UITrans 4. 스크립트 엔진 = v8 5. 각 플러그인은 운용중인 파일을 반환하는 인터페이스를 가져야 함 6. Launcher...  
75 Talk 죄송해요 ㅠ_ㅠ SVN 위치 trunk -> trunk2 로 옮겨주세요. Hide_D 10477   2008-10-01 2009-01-06 01:24
제가 세팅을 잘못한 모양인지 trunk 그 상태로는 도저히 원상 복구가 안되네요 ㅠ_ㅠ 죄송합니다 위치를 trunk에서 trunk2로 바꿔주시면 감사하겠습니다  
74 Talk 하루카 원문 [1] 나는누구인감? 10337   2008-09-16 2008-09-17 01:00
원문  
73 Talk RLCmd, KoFilter 의 디버그 로그 기능에 대해 - 2 whoami 10308   2008-07-28 2009-01-06 01:26
현재 정식버전에 디버그 로그기능은 살아있습니다. 단, 일반 사용자가 건드릴 수 없도록 옵션창에는 빠져 있습니다. 사용하시려면.. 멀티플러그인의 옵션 직접입력 창에서 집어넣거나 바로가기 편집에서 직접 넣어주시기 바랍니다.  
72 Talk 으아아앍 SVN [1] Hide_D 10267   2008-09-27 2009-01-06 01:24
구조가 꼬였네요 orz 어쩌지[...]  
71 Talk 다음 계획 [1] Hide_D 9995   2008-08-10 2009-01-06 01:33
1. 개행 문자 처리 사용자가 정한 문자열(hex나 문자열중 하나 선택해서 입력)으로 벽을 뚫지 않도록[...] 개행문자를 처리해주는 기능 번역률 향상도 기해 할 수 있을듯. 2. 사용자 대본 기능 관련 http://koreajapan.pe.kr/make.htm 이녀석 문법 귀찮네요[.....  
70 Talk 관리자님께 '옵션코드 입력'에 관해서 요청~ Hide_D 9990   2009-01-03 2009-01-03 11:02
일반적으로 아랄트랜스에서 '옵션'을 긁어 온다면 두가지 방법으로 긁어올수 있습니다. /a:ATCode{HOOK(0x004016B0,TRANS([ESP+0x8],PTRCHEAT))} /f:DumpText{SET(10100)} /t:ezTransXP{} 이 형식과 HOOK(0x004016B0,TRANS([ESP+0x8],PTRCHEAT)) DumpText{SET(...  
69 Talk CustomSD 원문 단어 흘리기 결과. [2] whoami 9910   2008-08-10 2009-01-06 02:06
제가 다른분이 제작하신 플러그인 테스트를 하게 될줄은.. 어쨌든. 원문 - 誰だ⑤ 誰なんだよ⑤@n美奈⑤ そいつは誰なんだ⑤ 번역 - 누구다⑤ 누구이에요놡@n미나⑤ 그 녀석은 누구야 놡 단어 흘리기 (?) 가 되다 안되다 하는군요. 중간에 "놡" 은 된 것이고.. ⑤ ...  
68 Talk 현재까지 작업물 + 에러 OTL [2] file Hide_D 9891   2008-08-03 2008-08-03 21:08
 
67 Talk VB용 커스텀스크립트 Hash 함수 [2] HaruKaze 9835   2009-01-05 2009-02-14 11:01
비주얼베이직에서 사용할 수 있는 커스텀스크립트 Hash 생성 함수입니다. 비주얼베이직에서는 이진 변환과 이진 연산을 할 수 없기 때문에 이진 변환과 연산을 할 수 있게 해주는 함수를 작성하여 만들었습니다. - 정수를 이진 문자열로 변환하는 함수 - 이진...  
66 Talk DenyWord 변경한 내용입니다 Hide_D 9493   2008-09-11 2008-09-11 23:04
1. 일단 EXACT를 추가했습니다. 정보(옵션버튼), 플러그인초기화부분, DenyWord클래스의 초기화부분이 변경되었고 실제 처리부분에서는 먼저 처리를 해준 다음 if문 대신 루프의 n값을 0으로 고쳐 루프를 돌지 않도록 처리했습니다. 2. 1바이트인지 확인하는 ...  
65 Talk 함수, 변수 작명법 잘 정리된곳 없나요; [1] Hide_D 9291   2008-08-03 2009-01-06 01:00
결국 소스로 올려야하니까 좀 정리는 해둬야겠다.. 싶어서 번역쪽은 그냥 0.2버전(캐시 초기화) + 약간의 강화로 변경