아래 프로그램 코어부분만 떼어 놓은것..
(스크립트 예제가 다름.. - 핵이 아니라 그냥 디스 어셈블결과만 출력)
일단 압축을 풀면 3개의 파일이 나옴..
- mpd.exe : 메인 프로그램..
- js32.dll : 자바스크립트 처리 엔진
- ******.js : 예제 스크립트들
실행 방법
- 예제 스크립트를 드래그 한다.
- mpd.exe에 드롭한다.
- 실행된다.
현재 구현된 API 목록은 아래에 주르륵..
#include#include #include // Script API 읽어오기 #include "api.h" static JSFunctionSpec BuiltInFunc[] = { /* ETC 함수 */ {"print", Jprint, 1, 0, }, {"exit", Jexit, 0, 0, }, {"free", Jfree, 1, 0, }, {"system", Jsystem, 1, 0, }, /* Detect 함수 */ {"DetectPattern", JDetectPattern, 5, 0, }, {"Disassemble", JDisassemble, 3, 0, }, {"JXXtoJMP", JJXXtoJMP, 1, 0, }, /* File 함수 */ {"GetPrivateProfileInt", JGetPrivateProfileInt, 4, 0, }, {"WritePrivateProfileInt", JWritePrivateProfileInt, 4, 0, }, {"WritePrivateProfileString", JWritePrivateProfileString, 4, 0, }, /* Memory 함수 */ {"ReadProcessMemory", JReadProcessMemory, 3, 0, }, {"WriteProcessMemory", JWriteProcessMemory, 4, 0, }, {"Pointer2Array", JPointer2Array, 2, 0, }, {"Array2Pointer", JArray2Pointer, 1, 0, }, {"DumpMemory", JDumpMemory, 2, 0, }, /* Process 함수 */ {"GetProcessIdByWindowName", JGetProcessIdByWindowName, 1, 0, }, {"GetProcessHandleByWindowName", JGetProcessHandleByWindowName, 1, 0, }, {"GetProcessIdByImageName", JGetProcessIdByImageName, 1, 0, }, {"ProcessId2Handle", JProcessId2Handle, 1, 0, }, {0,} };
MPD Project.zip