글 수 429
AralTrans의 Algorithm Plugin
ATCustom의 함수 목록입니다.
- 문서 상태 -
기본 함수 : 변경 중
변경 확률 보통
고급 함수 : 변경 중
변경 확률 높음
- 기본 함수 목록 -
핵심적인 기능을 가지거나
내부의 C++ 코드를 사용해야만 하는 함수의 목록입니다.
메모리 훅 : ATHookAddress
현재 훅 주소 반환 : ATGetAddressHere
현재 모듈 이름 반환 : ATGetModuleNameHere
모듈 주소 : ATGetModuleAddress
메모리 읽기 : ATReadMemory
메모리 쓰기 : ATSaveMemory
메모리 할당 : ATAllocMemory
메모리 해제 : ATFreeMemory
메모리 권한 : ATProtectMemory
레지스터 읽기 : ATGetRegister
레지스터 쓰기 : ATSetRegister
플래그 읽기 : ATGetFlag
플래그 쓰기 : ATSetFlag
정수값 추출 : ATArrayToInt
실수값 추출 : ATArrayToFloat
문자열 추출 : ATArrayToString
정수값 합성 : ATIntToArray
실수값 합성 : ATFloatToArray
문자열 합성 : ATStringToArray
NOT 연산 : ATNOT
AND 연산 : ATAND
OR 연산 : ATOR
XAND 연산 : ATXAND
XOR 연산 : ATXOR
왼쪽 시프트 연산 : ATShiftLeft
오른쪽 시프트 연산 : ATShiftRight
왼쪽 회전 연산 : ATRotateLeft
오른쪽 회전 연산 : ATRotateRight
번역 : ATTranslateRaw
번역 컨텍스트 생성 : ATMakeContext (0.3)
로케일 변경 : ATConvertLocale
메시지 창 띄우기 : ATAlert
C API 부르기 : ATCallWinAPI
추가창 띄우기 : ATShowTraceWindow
추가창 출력 : ATTrace
파일 가져오기 : ATGetFile
파일 내보내기 : ATSetFile
게임 실행 경로 : ATGetGameExePath
ATData 경로 : ATGetATDataPath
아랄트랜스 경로 : ATGetAralTransPath
- 일반(고급) 함수 목록 -
기본 함수를 사용해서 구현 가능한 함수의 목록입니다.
이 함수들은 JavaScript로 구현되어있습니다.
배열 기준 단위 변경 : ATNArrToNArr
메모리에서 문자열 읽기 : ATGetStringFromMemory
메모리에서 정수 읽기 : ATGetIntFromMemory
메모리에서 실수 읽기 : ATGetFloatFromMemory
메모리로 문자열 쓰기 : ATSetStringToMemory
메모리로 정수 쓰기 : ATSetIntToMemory
메모리로 실수 쓰기 : ATSetFloatToMemory
메모리 주소 계산 : ATCalcAddress
번역 : ATTranslate
라이브러리 설정 : ATSetLibrary
ATCustom의 함수 목록입니다.
- 문서 상태 -
기본 함수 : 변경 중
변경 확률 보통
고급 함수 : 변경 중
변경 확률 높음
- 기본 함수 목록 -
핵심적인 기능을 가지거나
내부의 C++ 코드를 사용해야만 하는 함수의 목록입니다.
메모리 훅 : ATHookAddress
현재 훅 주소 반환 : ATGetAddressHere
현재 모듈 이름 반환 : ATGetModuleNameHere
모듈 주소 : ATGetModuleAddress
메모리 읽기 : ATReadMemory
메모리 쓰기 : ATSaveMemory
메모리 할당 : ATAllocMemory
메모리 해제 : ATFreeMemory
메모리 권한 : ATProtectMemory
레지스터 읽기 : ATGetRegister
레지스터 쓰기 : ATSetRegister
플래그 읽기 : ATGetFlag
플래그 쓰기 : ATSetFlag
정수값 추출 : ATArrayToInt
실수값 추출 : ATArrayToFloat
문자열 추출 : ATArrayToString
정수값 합성 : ATIntToArray
실수값 합성 : ATFloatToArray
문자열 합성 : ATStringToArray
NOT 연산 : ATNOT
AND 연산 : ATAND
OR 연산 : ATOR
XAND 연산 : ATXAND
XOR 연산 : ATXOR
왼쪽 시프트 연산 : ATShiftLeft
오른쪽 시프트 연산 : ATShiftRight
왼쪽 회전 연산 : ATRotateLeft
오른쪽 회전 연산 : ATRotateRight
번역 : ATTranslateRaw
번역 컨텍스트 생성 : ATMakeContext (0.3)
로케일 변경 : ATConvertLocale
메시지 창 띄우기 : ATAlert
C API 부르기 : ATCallWinAPI
추가창 출력 : ATTrace
파일 가져오기 : ATGetFile
파일 내보내기 : ATSetFile
게임 실행 경로 : ATGetGameExePath
ATData 경로 : ATGetATDataPath
아랄트랜스 경로 : ATGetAralTransPath
- 일반(고급) 함수 목록 -
기본 함수를 사용해서 구현 가능한 함수의 목록입니다.
이 함수들은 JavaScript로 구현되어있습니다.
배열 기준 단위 변경 : ATNArrToNArr
메모리에서 문자열 읽기 : ATGetStringFromMemory
메모리에서 정수 읽기 : ATGetIntFromMemory
메모리에서 실수 읽기 : ATGetFloatFromMemory
메모리로 문자열 쓰기 : ATSetStringToMemory
메모리로 정수 쓰기 : ATSetIntToMemory
메모리로 실수 쓰기 : ATSetFloatToMemory
메모리 주소 계산 : ATCalcAddress
번역 : ATTranslate
라이브러리 설정 : ATSetLibrary
Hide_D
- 2010.07.22
- 00:01:12
function ATFreeMemory(Type,Address,Length,Option=null);
[LowLevel 함수]
(변경 가능합니다!)
인자 설명
Type : 할당된 메모리 타입을 지정합니다
0, 'delete[]' - delete(CRT)
1, 'delete' - delete[] (CRT)
2, 'free' - free (CRT)
3, 'HeapFree' - HeapFree
4, 'LocalFree' - LocalFree
5, 'GlobalFree' - GlobalFree
6, 'VirtualFree' - VirtualFree
7, 'VirtualFreeEx' - VirtualFreeEx
Address : 할당되었던 메모리의 시작 주소를 입력합니다.
Length : 메모리의 길이를 지정합니다. 대부분 값을 지정하지 않아도 됩니다.
Option : 추가로 지정할 인자를 지정합니다. VirtualFree의 경우 dwFreeType에 해당합니다.
반환값
해제의 성공 여부를 반환합니다.
설명
할당된 메모리를 해제하는 데 각각의 할당 함수에 맞게 해제를 해줘야 하며,
프로그램 내부에 선언된 메모리의 경우 원래의 할당 함수가 무엇인지 알기 어렵기 때문에
굳이 메모리를 반환하려 하는 것보다 프로세스 종료시 커널이 알아서 정리하도록 하는 것이
좀 더 나은 방법일 수 있습니다.
[LowLevel 함수]
(변경 가능합니다!)
인자 설명
Type : 할당된 메모리 타입을 지정합니다
0, 'delete[]' - delete(CRT)
1, 'delete' - delete[] (CRT)
2, 'free' - free (CRT)
3, 'HeapFree' - HeapFree
4, 'LocalFree' - LocalFree
5, 'GlobalFree' - GlobalFree
6, 'VirtualFree' - VirtualFree
7, 'VirtualFreeEx' - VirtualFreeEx
Address : 할당되었던 메모리의 시작 주소를 입력합니다.
Length : 메모리의 길이를 지정합니다. 대부분 값을 지정하지 않아도 됩니다.
Option : 추가로 지정할 인자를 지정합니다. VirtualFree의 경우 dwFreeType에 해당합니다.
반환값
해제의 성공 여부를 반환합니다.
설명
할당된 메모리를 해제하는 데 각각의 할당 함수에 맞게 해제를 해줘야 하며,
프로그램 내부에 선언된 메모리의 경우 원래의 할당 함수가 무엇인지 알기 어렵기 때문에
굳이 메모리를 반환하려 하는 것보다 프로세스 종료시 커널이 알아서 정리하도록 하는 것이
좀 더 나은 방법일 수 있습니다.
Hide_D
- 2010.07.22
- 00:14:27
function ATProtectMemory(Address,Length,Protect);
[LowLevel 함수]
인자 설명
Address : 메모리의 시작 주소를 입력합니다.
Length : 메모리의 길이를 지정합니다.
NewProtect : 새로운 프로텍트 모드를 지정합니다.
반환값 설명
변경에 성공했을 경우 기존 프로텍트 모드를 반환하며
실패했을 경우 null을 반환합니다.
설명
이 함수는 VirtualProtect 함수
http://msdn.microsoft.com/en-us/library/aa366898%28VS.85%29.aspx
의 래핑 버전이며, 읽기 전용으로 설정된 구간에 접근할 경우 이 함수를 통해
쓰기 가능으로 변경한 후 기록해야합니다.
추가로 작업 후 원래 ProtectMode로 변경이 필요할 수 있습니다.
[LowLevel 함수]
인자 설명
Address : 메모리의 시작 주소를 입력합니다.
Length : 메모리의 길이를 지정합니다.
NewProtect : 새로운 프로텍트 모드를 지정합니다.
반환값 설명
변경에 성공했을 경우 기존 프로텍트 모드를 반환하며
실패했을 경우 null을 반환합니다.
설명
이 함수는 VirtualProtect 함수
http://msdn.microsoft.com/en-us/library/aa366898%28VS.85%29.aspx
의 래핑 버전이며, 읽기 전용으로 설정된 구간에 접근할 경우 이 함수를 통해
쓰기 가능으로 변경한 후 기록해야합니다.
추가로 작업 후 원래 ProtectMode로 변경이 필요할 수 있습니다.
Hide_D
- 2010.07.22
- 00:24:50
function ATSetRegister(Value,Register);
[LowLevel 함수]
인자 설명
Value : 레지스터에 저장할 값을 정수로 지정합니다.
Register : 기록할 레지스터를 정합니다.
0, 'EAX' - EAX
1, 'EBX' - EBX
2, 'ECX' - ECX
3, 'EDX' - EDX
4. 'ESI' - ESI
5, 'EDI' - EDI
6, 'ESP' - ESP
7, 'EDI' - EDI
8, 'ESP' - ESP
9, 'EBP' - EBP
반환값
성공 여부를 반환합니다.
[LowLevel 함수]
인자 설명
Value : 레지스터에 저장할 값을 정수로 지정합니다.
Register : 기록할 레지스터를 정합니다.
0, 'EAX' - EAX
1, 'EBX' - EBX
2, 'ECX' - ECX
3, 'EDX' - EDX
4. 'ESI' - ESI
5, 'EDI' - EDI
6, 'ESP' - ESP
7, 'EDI' - EDI
8, 'ESP' - ESP
9, 'EBP' - EBP
반환값
성공 여부를 반환합니다.
Hide_D
- 2010.07.22
- 00:28:11
function ATSetFlag(Value,Flag);
[LowLevel 함수]
인자 설명
Flag : 저장할 플래그를 지정합니다.
0, 'C', 'CF' : Carry Flag
1, 'P', 'PF' : Parity Flag
2, 'A', 'AF' : Auxiliary Carry Flag
3, 'Z', 'ZF' : Zero Flag
4, 'S', 'SF' : Sign Flag
5, 'O', 'OF' : Overflow Flag
Value : Flag의 값을 true, false로 지정합니다.
반환값
성공 여부를 반환합니다.
[LowLevel 함수]
인자 설명
Flag : 저장할 플래그를 지정합니다.
0, 'C', 'CF' : Carry Flag
1, 'P', 'PF' : Parity Flag
2, 'A', 'AF' : Auxiliary Carry Flag
3, 'Z', 'ZF' : Zero Flag
4, 'S', 'SF' : Sign Flag
5, 'O', 'OF' : Overflow Flag
Value : Flag의 값을 true, false로 지정합니다.
반환값
성공 여부를 반환합니다.
Hide_D
- 2010.07.22
- 00:30:57
function ATArrayToInt(Array,Length=4,Signed=true);
[Utility 함수]
인자 설명
Array : ATReadMemory를 통해 받아온 ByteArray를 지정합니다.
Signed : 해당 값이 부호가 있는지 여부를 지정합니다.
Length : 해당 값의 길이를 지정합니다.
반환값
해당 값을 32비트 부호 있는(또는 부호 없는) 정수로 변환한 값을 반환합니다.
설명
지정한 Array를 Little Endian으로 작성된 수가 담긴 C의 배열로 가정하고
수를 읽어옵니다.
[Utility 함수]
인자 설명
Array : ATReadMemory를 통해 받아온 ByteArray를 지정합니다.
Signed : 해당 값이 부호가 있는지 여부를 지정합니다.
Length : 해당 값의 길이를 지정합니다.
반환값
해당 값을 32비트 부호 있는(또는 부호 없는) 정수로 변환한 값을 반환합니다.
설명
지정한 Array를 Little Endian으로 작성된 수가 담긴 C의 배열로 가정하고
수를 읽어옵니다.
Hide_D
- 2010.07.22
- 00:50:50
function ATArrayToString(Array,Length=-1,Locale='Shift-JIS',Terminator='00' 또는 ='00 00');
[Utility 함수]
인자 설명
Array : ATReadMemory를 통해 받아온 ByteArray를 지정합니다.
Length : 읽어올 [글자의 길이]를 입력받습니다. 바이트 수가 아닙니다. 문자열 종료시까지 읽어올경우
0보다 작은값을 입력합니다.
Locale : 언어로케일을 숫자, 또는 문자열로 지정합니다.
Terminator : 문자열의 종결자를 지정합니다.
Hex 문자열로 표기합니다. '00' <- 1바이트 0x00, '00 00' <- 바이트 0x0000
반환값
해당 값을 UTF-8 문자열로 변환한 값을 반환합니다.
설명
ByteArray를 C, C++의 문자열로 해석하고 읽어옵니다.
변환중 각각 '\0' L'\0'에 해당하는 값을 만날 경우, 길이가 남아있더라도 문자열이 종료된 것으로
판단하고 반환합니다.
Terminator가 없을 경우 현재 길이의 끝까지를 문자열로 인식합니다.
[Utility 함수]
인자 설명
Array : ATReadMemory를 통해 받아온 ByteArray를 지정합니다.
Length : 읽어올 [글자의 길이]를 입력받습니다. 바이트 수가 아닙니다. 문자열 종료시까지 읽어올경우
0보다 작은값을 입력합니다.
Locale : 언어로케일을 숫자, 또는 문자열로 지정합니다.
Terminator : 문자열의 종결자를 지정합니다.
Hex 문자열로 표기합니다. '00' <- 1바이트 0x00, '00 00' <- 바이트 0x0000
반환값
해당 값을 UTF-8 문자열로 변환한 값을 반환합니다.
설명
ByteArray를 C, C++의 문자열로 해석하고 읽어옵니다.
변환중 각각 '\0' L'\0'에 해당하는 값을 만날 경우, 길이가 남아있더라도 문자열이 종료된 것으로
판단하고 반환합니다.
Terminator가 없을 경우 현재 길이의 끝까지를 문자열로 인식합니다.
Hide_D
- 2010.07.22
- 01:19:53
function ATStringToArray(String,Locale='Shift-JIS',Length=-1,Terminator='00' 또는 '00 00');
[HighLevel Utility 함수]
인자 설명
String : 기록할 문자열을 지정합니다.
Locale : 언어로케일을 숫자, 또는 문자열로 지정합니다.
Length : 기록할 [글자 수]를 지정합니다. 바이트 수가 아닙니다.
Terminator : 문자열의 종결자를 지정합니다.
Hex 문자열로 표기합니다. '00' <- 1바이트 0x00, '00 00' <- 바이트 0x0000
반환값
해당 문자열을 Byte Array로 반환합니다.
설명
UTF-8 문자열을 Byte Array로 변환합니다.
[HighLevel Utility 함수]
인자 설명
String : 기록할 문자열을 지정합니다.
Locale : 언어로케일을 숫자, 또는 문자열로 지정합니다.
Length : 기록할 [글자 수]를 지정합니다. 바이트 수가 아닙니다.
Terminator : 문자열의 종결자를 지정합니다.
Hex 문자열로 표기합니다. '00' <- 1바이트 0x00, '00 00' <- 바이트 0x0000
반환값
해당 문자열을 Byte Array로 반환합니다.
설명
UTF-8 문자열을 Byte Array로 변환합니다.
Hide_D
- 2010.07.22
- 01:22:38
function ATNOT(Value,Length=4);
function ATXOR(Value1,Value2,Length=4);
function ATXAND(Value1,Value2,Length=4);
function ATOR(Value1,Value2,Length=4);
function ATAND(Value1,Value2,Length=4);
[Utility 함수]
인자 설명
Value1, Value2 : 값을 연산할 정수 대상입니다.
Length : 바이트 수를 지정합니다. 바이트 수 범위 내에 있지 않을 경우 모두 0으로 처리됩니다.
반환값
계산된 값을 정수로 반환합니다.
설명
C의 비트 기본 연산을 수행합니다.
function ATXOR(Value1,Value2,Length=4);
function ATXAND(Value1,Value2,Length=4);
function ATOR(Value1,Value2,Length=4);
function ATAND(Value1,Value2,Length=4);
[Utility 함수]
인자 설명
Value1, Value2 : 값을 연산할 정수 대상입니다.
Length : 바이트 수를 지정합니다. 바이트 수 범위 내에 있지 않을 경우 모두 0으로 처리됩니다.
반환값
계산된 값을 정수로 반환합니다.
설명
C의 비트 기본 연산을 수행합니다.
Hide_D
- 2010.07.22
- 01:24:26
function ATShiftLeft(Value,Bit,Length=4);
function ATShiftRight(Value,Bit,Length=4);
function ATRotateLeft(Value,Bit,Length=4);
function ATRotateRight(Value,Bit,Length=4);
[Utility 함수]
인자 설명
Value : 값열 연산할 대상 정수입니다.
Bit : 회전, 이동 시킬 비트 수입니다.
Lenght : 정수의 기준 바이트 수를 지정합니다.
반환값
계산된 값을 정수로 반환합니다.
설명
C의 비트 기본 연산을 수행합니다.
function ATShiftRight(Value,Bit,Length=4);
function ATRotateLeft(Value,Bit,Length=4);
function ATRotateRight(Value,Bit,Length=4);
[Utility 함수]
인자 설명
Value : 값열 연산할 대상 정수입니다.
Bit : 회전, 이동 시킬 비트 수입니다.
Lenght : 정수의 기준 바이트 수를 지정합니다.
반환값
계산된 값을 정수로 반환합니다.
설명
C의 비트 기본 연산을 수행합니다.
Hide_D
- 2010.07.22
- 01:42:11
function ATCallWinAPI(DLLName,FuncName,...);
[Utility 함수]
인자 설명
DLLName : 함수가 담긴 DLL의 이름입니다. 로드 되지 않았을 경우 자동으로 LoadLibrary를 수행합니다.
FuncName : 실행하고자 하는 함수의 이름입니다.
... : 실제 사용할 인자 목록입니다.
정수, ByteArray가 쓰일 수 있으며
정수는 값으로, ByteArray는 C에서 주소값(포인터)를 사용하여 넘어갑니다.
만약 인자로 실수가 필요하다면 Hex를 통해 직접 보내야합니다.
반환값
함수의 반환값을 32비트 정수로 반환합니다.
만약 함수를 부르는데 실패했다면 null을 반환합니다.
설명
WinAPI또는 기타 C의 함수들을 부를 수 있습니다.
ex:
ATCallWinAPI("Kernel32.dll","MultiByteToWideChar",932,0,jpAnsi,-1,jpUnicode,300);
[Utility 함수]
인자 설명
DLLName : 함수가 담긴 DLL의 이름입니다. 로드 되지 않았을 경우 자동으로 LoadLibrary를 수행합니다.
FuncName : 실행하고자 하는 함수의 이름입니다.
... : 실제 사용할 인자 목록입니다.
정수, ByteArray가 쓰일 수 있으며
정수는 값으로, ByteArray는 C에서 주소값(포인터)를 사용하여 넘어갑니다.
만약 인자로 실수가 필요하다면 Hex를 통해 직접 보내야합니다.
반환값
함수의 반환값을 32비트 정수로 반환합니다.
만약 함수를 부르는데 실패했다면 null을 반환합니다.
설명
WinAPI또는 기타 C의 함수들을 부를 수 있습니다.
ex:
ATCallWinAPI("Kernel32.dll","MultiByteToWideChar",932,0,jpAnsi,-1,jpUnicode,300);
Hide_D
- 2010.07.22
- 02:30:16
function ATTranslate(String,InLocale='Shift-JIS',OutLocale='Shift-JIS'); //0.2
function ATTranslate(String,ContextName,InLocale='Shift-JIS',OutLocale='Shift-JIS'); //0.3
[High Level 함수]
인자 설명
ByteArray : 번역할 ByteArray 문자열(MBCS)을 지정한다.
String : 번역할 UTF-8 문자열을 지정한다.
ContextName : 사용할 번역 컨텍스트의 이름을 지정한다.
InLocale : 번역 파이프라인 원문에 사용할 언어 로케일을 지정한다.
OutLocale : 번역 파이프라인 번역문에 사용할 언어 로케일을 지정한다.
반환 값
번역 완료된 UTF-8 문자열을 반환한다.
function ATTranslate(String,ContextName,InLocale='Shift-JIS',OutLocale='Shift-JIS'); //0.3
[High Level 함수]
인자 설명
ByteArray : 번역할 ByteArray 문자열(MBCS)을 지정한다.
String : 번역할 UTF-8 문자열을 지정한다.
ContextName : 사용할 번역 컨텍스트의 이름을 지정한다.
InLocale : 번역 파이프라인 원문에 사용할 언어 로케일을 지정한다.
OutLocale : 번역 파이프라인 번역문에 사용할 언어 로케일을 지정한다.
반환 값
번역 완료된 UTF-8 문자열을 반환한다.
Hide_D
- 2010.07.22
- 03:03:14
지원할 코드 목록 (대소문자 구분 없음)
932 = 'Shift_JIS' = 'Shift-JIS' = 'CP932' = 'CP-932'
949 = 'CP949' = 'CP-949' = 'ks_c_5601_1987' = 'MS949'
65001 = 'UTF-8' = 'UTF8' = 'CP_UTF8'
1200 = 'UTF16' = 'UTF-16' = 'UTF16LE' = 'UTF16-LE'
1201 = 'UTF16BE' = 'UTF16-BE'
12000 = 'UTF32' = 'UTF-32' = 'UTF32LE' = 'UTF32-LE'
12001 = 'UTF32BE' = 'UTF32-BE'
이외의 숫자 코드는
Windows 내부에서 그 코드를 지원 할 경우 동작한다.
932 = 'Shift_JIS' = 'Shift-JIS' = 'CP932' = 'CP-932'
949 = 'CP949' = 'CP-949' = 'ks_c_5601_1987' = 'MS949'
65001 = 'UTF-8' = 'UTF8' = 'CP_UTF8'
1200 = 'UTF16' = 'UTF-16' = 'UTF16LE' = 'UTF16-LE'
1201 = 'UTF16BE' = 'UTF16-BE'
12000 = 'UTF32' = 'UTF-32' = 'UTF32LE' = 'UTF32-LE'
12001 = 'UTF32BE' = 'UTF32-BE'
이외의 숫자 코드는
Windows 내부에서 그 코드를 지원 할 경우 동작한다.
Hide_D
- 2010.07.22
- 12:58:22
function ATGetStringFromMemory(ModuleName,Address,Locale='Shift-JIS',MaxLength=-1,Terminator='00' 또는 '00 00');
[HighLevel 함수]
인자 설명
Module Name : 모듈의 이름을 지정한다 NULL로 줄 경우 절대 경로로 동작한다.
Address : 모듈의 시작점을 기반으로 한 상대 주소를 지정한다.
Locale : 원 메모리의 언어 로케일을 적는다.
MaxLength : 읽어올 최대 바이트 수를 적는다.
Terminator : 문자열의 종결자를 지정한다.
Hex를 문자열로 표기한다. '00' <- 1바이트 0x00, '00 00' <- 바이트 0x0000
반환 값
변환한 UTF-8문자열을 반환합니다.
설명
메모리의 문자열을 JavaScript의 UTF-8문자열로 가져옵니다.
ATReadMemory 함수와 ATArrayToString 함수의 조합으로 볼 수 있습니다.
[HighLevel 함수]
인자 설명
Module Name : 모듈의 이름을 지정한다 NULL로 줄 경우 절대 경로로 동작한다.
Address : 모듈의 시작점을 기반으로 한 상대 주소를 지정한다.
Locale : 원 메모리의 언어 로케일을 적는다.
MaxLength : 읽어올 최대 바이트 수를 적는다.
Terminator : 문자열의 종결자를 지정한다.
Hex를 문자열로 표기한다. '00' <- 1바이트 0x00, '00 00' <- 바이트 0x0000
반환 값
변환한 UTF-8문자열을 반환합니다.
설명
메모리의 문자열을 JavaScript의 UTF-8문자열로 가져옵니다.
ATReadMemory 함수와 ATArrayToString 함수의 조합으로 볼 수 있습니다.
Hide_D
- 2010.07.22
- 13:12:55
function AT1ArrTo2Arr(Array);
function AT2ArrTo1Arr(Array);
function AT1ArrTo4Arr(Array);
function AT4ArrTo1Arr(Array);
function ATNArrToNArr(Array,InN,OutN);
[HighLevel Utility 함수]
인자 설명
Array : 변환할 배열을 지정합니다.
InN : 입력되는 배열의 기준 단위값을 입력합니다.
OutN : 출력될 배열의 기준 단위값을 입력합니다.
반환 값
해당 크기 단위의 Array로 반환합니다.
설명
편의를 위해 기준 단위를 1Byte, 2Byte, 4Byte로 변경합니다.
그러나 LowLevel 함수는 무조건 Byte Array(1Byte)만 사용해야한다는 점을 주의하십시오.
function AT2ArrTo1Arr(Array);
function AT1ArrTo4Arr(Array);
function AT4ArrTo1Arr(Array);
function ATNArrToNArr(Array,InN,OutN);
[HighLevel Utility 함수]
인자 설명
Array : 변환할 배열을 지정합니다.
InN : 입력되는 배열의 기준 단위값을 입력합니다.
OutN : 출력될 배열의 기준 단위값을 입력합니다.
반환 값
해당 크기 단위의 Array로 반환합니다.
설명
편의를 위해 기준 단위를 1Byte, 2Byte, 4Byte로 변경합니다.
그러나 LowLevel 함수는 무조건 Byte Array(1Byte)만 사용해야한다는 점을 주의하십시오.
Hide_D
- 2010.07.22
- 13:44:18
function ATSetStringToMemory(String,ModuleName,Address,Locale='Shift-JIS',MaxLength=-1,Terminator='00' 또는 '00 00');
[HighLevel 함수]
인자 설명
String : 기록할 UTF-8 문자열을 지정한다.
Module Name : 모듈의 이름을 지정한다 NULL로 줄 경우 절대 경로로 동작한다.
Address : 모듈의 시작점을 기반으로 한 상대 주소를 지정한다.
Locale : 메모리로 기록할 언어 로케일을 적는다.
MaxLength : 기록할 최대 바이트 수를 적는다.
Terminator : 문자열의 종결자를 지정한다.
Hex를 문자열로 표기한다. '00' <- 1바이트 0x00, '00 00' <- 바이트 0x0000
반환값
성공 여부를 반환합니다.
설명
JavaScript의 UTF-8문자열을 메모리에 원하는 언어셋으로 기록합니다.
ATSaveMemory 함수와 ATStringToArray 함수의 조합으로 볼 수 있습니다.
[HighLevel 함수]
인자 설명
String : 기록할 UTF-8 문자열을 지정한다.
Module Name : 모듈의 이름을 지정한다 NULL로 줄 경우 절대 경로로 동작한다.
Address : 모듈의 시작점을 기반으로 한 상대 주소를 지정한다.
Locale : 메모리로 기록할 언어 로케일을 적는다.
MaxLength : 기록할 최대 바이트 수를 적는다.
Terminator : 문자열의 종결자를 지정한다.
Hex를 문자열로 표기한다. '00' <- 1바이트 0x00, '00 00' <- 바이트 0x0000
반환값
성공 여부를 반환합니다.
설명
JavaScript의 UTF-8문자열을 메모리에 원하는 언어셋으로 기록합니다.
ATSaveMemory 함수와 ATStringToArray 함수의 조합으로 볼 수 있습니다.
Hide_D
- 2010.07.22
- 22:15:20
function ATAlert(Content,Title,Type=0);
[Utility 함수]
인자 설명
Content : 메시지 창의 본문 내용입니다.
Title : 메시지 창의 제목 내용입니다.
Type : 메시지 창의 특성입니다.
반환
::MessageBoxW의 실행 결과를 반환합니다.
설명
WinAPI의 ::MessageBoxW 의 Wrapping 함수입니다.
실행시 메시지 창이 뜨게 됩니다.
MessageBoxW의 자세한 사항은
http://msdn.microsoft.com/en-us/library/ms645505%28VS.85%29.aspx
을 참고해주세요.
[Utility 함수]
인자 설명
Content : 메시지 창의 본문 내용입니다.
Title : 메시지 창의 제목 내용입니다.
Type : 메시지 창의 특성입니다.
반환
::MessageBoxW의 실행 결과를 반환합니다.
설명
WinAPI의 ::MessageBoxW 의 Wrapping 함수입니다.
실행시 메시지 창이 뜨게 됩니다.
MessageBoxW의 자세한 사항은
http://msdn.microsoft.com/en-us/library/ms645505%28VS.85%29.aspx
을 참고해주세요.
Hide_D
- 2010.07.23
- 10:35:35
function ATGetIntFromMemory(ModuleName,Address,Length=4,Signed=true);
[HighLevel 함수]
인자 설명
Module Name : 모듈의 이름을 지정한다 NULL로 줄 경우 절대 경로로 동작한다.
Address : 모듈의 시작점을 기반으로 한 상대 주소를 지정한다.
Length : 읽어올 바이트 수를 적는다. 1, 2, 4을 지정할 수 있다.
Signed : 해당 값이 부호가 있는지 여부를 지정한다.
반환 값
해당 메모리 주소를 64bit 정수값으로 변환한 값을 반환한다.
설명
ATReadMemory와 ATArrayToInt의 조합버전
[HighLevel 함수]
인자 설명
Module Name : 모듈의 이름을 지정한다 NULL로 줄 경우 절대 경로로 동작한다.
Address : 모듈의 시작점을 기반으로 한 상대 주소를 지정한다.
Length : 읽어올 바이트 수를 적는다. 1, 2, 4을 지정할 수 있다.
Signed : 해당 값이 부호가 있는지 여부를 지정한다.
반환 값
해당 메모리 주소를 64bit 정수값으로 변환한 값을 반환한다.
설명
ATReadMemory와 ATArrayToInt의 조합버전
Hide_D
- 2010.07.23
- 10:49:31
function ATGetFloatFromMemory(ModuleName,Address,Length=4);
[HightLevel 함수]
인자 설명
Module Name : 모듈의 이름을 지정한다 NULL로 줄 경우 절대 경로로 동작한다.
Address : 모듈의 시작점을 기반으로 한 상대 주소를 지정한다.
Length : 읽어올 바이트 수를 적는다. 4, 8을 지정할 수 있다.
반환 값
해당 메모리 주소를 double float으로 변환한 값을 반환한다.
설명
ATReadMemory와 ATArrayToFloat의 조합버전
[HightLevel 함수]
인자 설명
Module Name : 모듈의 이름을 지정한다 NULL로 줄 경우 절대 경로로 동작한다.
Address : 모듈의 시작점을 기반으로 한 상대 주소를 지정한다.
Length : 읽어올 바이트 수를 적는다. 4, 8을 지정할 수 있다.
반환 값
해당 메모리 주소를 double float으로 변환한 값을 반환한다.
설명
ATReadMemory와 ATArrayToFloat의 조합버전
Hide_D
- 2010.07.24
- 03:52:49
function ATCalcAddress(AddressString);
[HighLevel 함수]
인자 설명
AddressString : 계산할 메모리 주소를 입력합니다.
값 기호([]), 레지스터이름(EAX ... ESP), 사칙연산(+,-,*,/,%) 을 쓸 수 있습니다.
반환 값
계산된 메모리 주소를 반환합니다.
설명
어셈블에서 흔히 사용하는 메모리 계산 방식대로 계산해주는 함수입니다.
ex : [[[EDX]+0x20]+0x100]-0x20
ATGetRegister와 ATGetIntFromMemory의 조합으로 이루어져 있습니다.
[HighLevel 함수]
인자 설명
AddressString : 계산할 메모리 주소를 입력합니다.
값 기호([]), 레지스터이름(EAX ... ESP), 사칙연산(+,-,*,/,%) 을 쓸 수 있습니다.
반환 값
계산된 메모리 주소를 반환합니다.
설명
어셈블에서 흔히 사용하는 메모리 계산 방식대로 계산해주는 함수입니다.
ex : [[[EDX]+0x20]+0x100]-0x20
ATGetRegister와 ATGetIntFromMemory의 조합으로 이루어져 있습니다.
[LowLevel 함수]
인자 설명
Module Name : 모듈의 이름을 지정한다 NULL로 줄 경우 절대 경로로 동작한다.
Address : 모듈의 시작점을 기반으로 한 상대 주소를 지정한다.
Length : 읽어올 바이트 수를 적는다.
반환 값
읽어온 메모리 값을 Byte Array로 반환한다.
실패할 경우 null을 반환합니다.