본문 바로가기

쓰기

http://polaris.aralgood.com/index.php?document_srl=1779329

 

예시 코드

 

 

 

 

*기능

HEX-16 (VIEW)

원문                                                    XX XX XX XX                  XX XX XX XX    XX XX XX XX   <-원문도 박힘

(포인터 4 BYTE, 또는 메모리 효율상 한 라인으로 해결될때는 14~15BYTE 로 사용하여 원문이 메모리에 있음)

 

텍스트 길이                                           잡아먹을 메모리크기        XX XX XX XX    XX XX XX XX

(유니코드일때는 그 텍스트 길이)      (아스키 유니코드 관계 없이 한 라인으로 환산 ex. 아스키 0x0F, 유니코드 0x07)

 

 

따라서, 원문을 번역문으로 놓든 가로채든 할 경우

아래쪽 메모리에 길이 및 최대버퍼를 박아놓음

 

유니코드 일때와 멀티바이트 둘다 사용 가능.

 

 

위 코드 예제의 경우는...

 

(ECX)

XXXXXXXX       원문           XXXXXXXX     XXXXXXXX

XXXXXXXX       길이           길이최대         XXXXXXXX

 

(ECX)2번째 경우의 수

XXXXXXXX       원문                                       (00)00         // 유니코드일때는 (00)도 최대 NULL 문자

XXXXXXXX       길이           길이최대         XXXXXXXX

 

----------------------------------------------------------------------------------------------

첫번째 방법.

 

원문(포인터), 길이(大 14~15byte 이상)

->TRANS([ecx+0x4],PTRCHEAT(LENCHANGE))

 

원문(메모리버퍼), 길이(小 1~14,15byte 이하)

->TRANS(ecx+0x4,OVERWRITE(LENCHANGE,BUFCHANGE)))

//내용이 작은 글은 길어질때 포인터로 전환.

----------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------

두번째 방법.

 

원문(포인터&메모리버퍼 자동판단), 길이(관계없음)

->TRANS(ecx+0x4,UNICODE,OVERWRITE(BUFCHANGE)))

//포인터일 경우 포인터는 바꾸지 않고 그 내부 버퍼 덮어쓰기

//내용이 작은 메모리버퍼 일 경우 번역 길이가 짧으면 덮고, 길 경우에만 포인터 바꾸기

 

+추가. 기존 버퍼 무시 기능과 연동하여 버퍼 무시를 사용하지 않을경우

원 메모리에 글 길이에 맞춰 덮어쓰기 (포인터 변동 안함)

----------------------------------------------------------------------------------------------

 

주의사항,  첫번째 방법은 인자값(TRANS) 의 순서를 중요하게 여기게 됨.

코드로 넣은 순서에 따라(혹은, 전체 코드로 집어넣을때 순서)서 코드를 번역하게 됨/

(위에 첫번째 방법에는 포인터를 먼져 번역후, 두번째로 메모리인자를 확인할때 번역유무를 자동 판단)

이점을 유의(이용)하여 코드를 생성.

 

둘다 같은 결과가 나올지도 모르지만. 엔진에 따라 어느 방법이 안전이 좌우 될지는 모르는 상황.

따라서 2개 모두 구현완료.

 

 

 

*기타 추가사항

1.메모리 및 글 확인시 첫번째 데이타 확인 방법은 유니코드, 멀티바이트 개별로 나누어 검사

2.비정상적인 메모리를 포인터로 받으려고 하는 것은 무시 처리

3.위 기능에 대한 충돌현상 제거

4.메모리 옆 체크박스가 초기화 되지 않던점 보안

5.기타 기억 안나는 사항들. 

 

 http://erogame.wisegiga.net/?document_srl=9225

분류 :
Archive
조회 수 :
5924
등록일 :
2011.10.03
17:35:01
엮인글 :
https://arallab.hided.net/47815/5ae/trackback
게시글 주소 :
https://arallab.hided.net/board_devtalk/47815

whoami

2011.10.03
21:53:26

안녕하세요 피시님 ^^

 

소스를 같이 올려 주시거나 혹은 SVN 에 등록(커밋)해주시겠어요?

그래야 다른 분들 (아랄님이시라던가 Hide_D君님이시라던가) 이 최신으로 업데이트도 하실 수 있고

0.3 용으로도 제작을 하실테니까요.

프시쵸

2011.10.04
21:35:53

음, 전설의 그 '아랄'님은 이제 안 오시는 거 아닌가염=ㅅ=

프시쵸

2011.10.04
21:36:10

으음, 역시 멋진!!!



List of Articles
번호 제목 글쓴이 조회 수 추천 수 날짜 최근 수정일sort
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155437   2008-08-03 2008-12-16 00:03
109 Talk ATCode에 @가 붙은 글꼴을 빼버려야겠군요 Hide_D 16792   2010-12-11 2010-12-11 16:28
질문 게시판에 백년 만년 올라오는 왜 글자가 옆으로 누워있죠? 를 막으려면 역시 @붙은 글꼴은 빼는게 제격입니다 ㅠ 대신 아래에 체크로 @ 허용 같은거 하나 만들어두고요  
108 Talk DenyWord + 정규표현식? Hide_D 17305   2010-12-18 2010-12-18 00:05
어차피 문자열을 찾는 구조였으니 그냥 Boost꺼나 C++0x의 STL에 달려있는 정규표현식 모듈 들고와서 Deny, Allow, Exact에다 정규 표현식도 합쳐볼까요?  
107 Talk 웹 계정 아이디/비밀번호 secret Hide_D 1   2011-01-02 2011-01-02 16:21
비밀글입니다.  
106 Archive [소스] CustomDic v4 20110102 테스트버전 [1] file Hide_D 17513   2011-01-02 2011-01-03 06:08
 
105 Archive [소스] CustomDic v4 20110104 테스트버전 [3] file Hide_D 16410   2011-01-04 2011-01-05 06:00
 
104 Archive [플러그인] CustomDic 4.0.4.131 RC [5] file Hide_D 24298   2011-01-05 2011-04-24 21:07
 
103 Talk 폰트함수인덧 아무개 18005   2011-01-11 2011-01-11 23:38
CreateFontIndirect_Correct 누가 후킹 하나열[...........]  
102 Talk AppLoc.exe를 거치지 않고 AppLocale 가동시키는 법! Hide_D 18684   2011-01-28 2011-01-28 01:54
환경 변수 두개를 다음과 같이 세팅합니다. set __COMPAT_LAYER=#APPLICATIONLOCALE set AppLocaleID=411 그리고 나서 원하는 프로그램을 돌리면 자동으로 AlLayer.dll이 인젝션 됩니다.  
101 Talk 작전명. '누덕누덕' 작전 시작 Hide_D 10674   2011-02-18 2011-02-18 00:02
AralTrans 0.2에서 시작해서 눈꼽만큼씩 고쳐나갈 생각입니다. 주 타겟 OS : Windows 7 32bit 목표 일자 : 2012년 오기 전 PS : JSCustom 프로젝트는 연기되었습니다.  
100 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...  
99 Talk 컨텍스트 구조 제안(핸들러 구조) [4] Hide_D 8336   2011-04-21 2011-04-23 20:17
가령 모듈 3가지가 DumpText, FixLine, EzTransXP 요렇게 있다고 가정할때 var c0_EzTransXP = new EzTransXP("NoSpace"); var c0_DumpText = new DumpText("KOut,KHex,KHex16"); var c0_FixLine = new FixLine("/ATData/c0.dat"); c0_DumpText.setNext(c0_EzT...  
98 Talk Windows 7, UAC, 64bit Hide_D 9107   2011-04-24 2011-06-28 01:25
사실상 요새 구입하는 '최신형' 컴퓨터들이 갖는 세팅이 Windows 7 64bit에다가 UAC를 기본값으로 두고 사용하는 방식인데, 기존 아랄트랜스가 여기에 대응하지 못하는 부분이 많습니다. Windows 7 - 사실 이게 제일 속편합니다. 이거 자체로는 문제되는 부분...  
» Archive ATCode 손보기 20111003 [3] FrigateBird 5924   2011-10-03 2011-12-12 18:46
http://polaris.aralgood.com/index.php?document_srl=1779329 예시 코드 *기능 HEX-16 (VIEW) 원문 XX XX XX XX XX XX XX XX XX XX XX XX <-원문도 박힘 (포인터 4 BYTE, 또는 메모리 효율상 한 라인으로 해결될때는 14~15BYTE 로 사용하여 원문이 메모리에 ...  
96 Archive [실행파일] AralTrans 테스트 버전 20111027 [4] file whoami 5178   2011-10-27 2011-11-01 21:40
 
95 Talk FrigateBird님의 ATCode 20111003버전에 대하여.. [9] whoami 4957   2011-11-02 2011-12-10 16:16
일단 FrigateBird(잘 알려진 피시로 호칭)님의 ATCode 20111003 (줄여서 1003버전) 을 한번 훑어보았는데요, 1003 버전의 주된 변경점은 Siglus 엔진에 대한 지원이 주를 이루고 있습니다. 물론 기존 ATCode 의 버그를 잡은 것도 있지만 마이너하니 넘어갑니다...  
94 Talk AralTrans, ATCTNR 111112 버전 SVN에 추가. [1] whoami 5260   2011-11-12 2012-06-17 14:29
ATCTNR 의 SVN 소스가 후킹모드 2로 되어있었는데.. 아마 예전에 지나가다정착한이A 님이 발안해서 테스트하던 후킹모드 2 판의 소스가 올라가있었던 듯 합니다. 뭐.. 실제 머리싸매고 고민하다 보니 의외로 돌려놓기가 어렵지 않아서 후킹모드 1로 돌려놓고 ...  
93 Talk XP3Dumper! [1] Hide_D 4996   2011-12-12 2011-12-24 02:57
기리기리랑 합치면 좀 재밌는게 나올 것 같아서 뜯어보고 있습니다. 결과물은 아마 내년(ㅋㅋㅋ)에 나올것 같네요  
92 Archive [소스,플러그인] ATCode 테스트 버전 20120207 [16] file whoami 3274   2012-02-07 2012-03-01 04:26
 
91 Talk AralTrans 20120214 버전 변경점 [6] whoami 4193   2012-02-14 2012-06-17 14:29
아랄트랜스 20120214 버전에서의 변경점 1. ATCTNR.dll 버그 수정 - 모듈 정보에서 이미지 파일 크기가 부정확할 경우 Access Violation 에러가 나는 문제 해결. Rewrite (Key) 에서 작동 확인. 다른 게임은 미확인이나 피시님의 ATCTNR 패치가 거의 동일하기 ...  
90 Talk CustomDic의 동작 방식에 대해서 secret Hide_D 4   2012-02-14 2012-02-14 13:36
비밀글입니다.