Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Dekaron > Dekaron Private Server
You last visited: Today at 07:01

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Decompiling ScriptProcess.dll

Discussion on Decompiling ScriptProcess.dll within the Dekaron Private Server forum part of the Dekaron category.

Reply
 
Old   #1
 
ItsNobody's Avatar
 
elite*gold: 0
Join Date: Nov 2008
Posts: 784
Received Thanks: 339
Decompiling ScriptProcess.dll

Im trying to decompile the dll using boomerang and it keeps hanging during the decompile process. Any ideas anyone?
ItsNobody is offline  
Old 04/16/2009, 04:28   #2
 
elite*gold: 0
Join Date: Dec 2008
Posts: 505
Received Thanks: 70
I don't know if this is what u was looking for :S Nvm i couldnt decompile it.
scriptprocess.c source code:




unsigned int global7;

void ?OnGetItem@IScript@Quest@ScriptProcess@@UAEXG@Z();
void ?OnGetItem@IScript@Quest@ScriptProcess@@UAEXG@Z();
void ?OnGetItem@IScript@Quest@ScriptProcess@@UAEXG@Z();
void ?OnGetItem@IScript@Quest@ScriptProcess@@UAEXG@Z();
void ?OnGetItem@IScript@Quest@ScriptProcess@@UAEXG@Z();
void ?OnGetItem@IScript@Quest@ScriptProcess@@UAEXG@Z(__ size32 param1);

// address: 0x100ae25f
void ?OnGetItem@IScript@Quest@ScriptProcess@@UAEXG@Z(__ size32 param1) {
unsigned int eax; // r24
void *ebp; // r29
void *ebp_1; // r29{127}
void *ebp_2; // r29{106}
void *ebp_3; // r29{73}
void *ebp_4; // r29{58}
void *ebp_5; // r29{44}
__size32 ebx; // r27
unsigned int edi; // r31
int esi; // r30
void *esp; // r28
void *esp_1; // r28{127}
void *esp_10; // r28{212}
void *esp_11; // r28{194}
void *esp_12; // r28{203}
void *esp_13; // r28{163}
void *esp_14; // r28{154}
void *esp_2; // r28{106}
void *esp_3; // r28{90}
void *esp_4; // r28{73}
void *esp_5; // r28{58}
void *esp_6; // r28{44}
void *esp_7; // r28{8}
void *esp_8; // r28{185}
void *esp_9; // r28{172}
unsigned int local0; // m[esp - 12]
int local1; // m[esp - 8]
void *local10; // esp_11{194}
void *local11; // esp_12{203}
void *local12; // esp_10{212}
int local2; // m[esp - 4]
int local3; // m[esp - 4]{106}
int local4; // m[esp - 8]{106}
int local5; // m[esp - 12]{106}
void *local6; // esp_14{154}
void *local7; // esp_13{163}
void *local8; // esp_9{172}
void *local9; // esp_8{185}

ebx = ?OnGetItem@IScript@Quest@ScriptProcess@@UAEXG@Z(pc , 0x100c86d0, 12, param1); /* Warning: also results in esp_7, ebp */
local6 = esp_7;
local7 = esp_7;
local11 = esp_7;
eax = 1;
*(__size32*)(ebp - 28) = 1;
esi = *(ebp + 12);
edi = 0;
if (esi == 0 && *0x100d1178 == 0) {
L2:
esp_12 = local11;
eax = 0;
flags = LOGICALFLAGS32(0);
local12 = esp_12;
} else {
*(__size32*)(ebp - 4) = 0;
if (esi == 1) {
L21:
eax = global7;
if (global7 != 0) {
*(__size32*)(esp_7 - 4) = *(ebp + 16);
*(int*)(esp_7 - 8) = esi;
*(__size32*)(esp_7 - 12) = *(ebp + 8);
(*global7)(local0, local1, local2, global7, ebx, ebp, esi, 0, <all>, SUBFLAGS32(global7, 0, global7), global7 == 0, global7 < 0);
local6 = esp_6;
*(unsigned int*)(ebp_5 - 28) = eax;
}
ebx = param1;
esp_14 = local6;
tmp1 = *(ebp - 28) - edi;
local10 = esp_14;
if (*(ebp - 28) == edi) {
L3:
esp_11 = local10;
*(int*)(ebp - 4) = *(ebp - 4) | -1;
local11 = esp_11;
goto L2;
} else {
*(__size32*)(esp_14 - 4) = *(ebp + 16);
*(int*)(esp_14 - 8) = esi;
*(__size32*)(esp_14 - 12) = *(ebp + 8);
eax = ?OnGetItem@IScript@Quest@ScriptProcess@@UAEXG@Z(lo cal0, local1, local2, eax, param1, ebp, esi, edi, <all>, SUBFLAGS32(*(ebp - 28), edi, tmp1), tmp1 == 0, *(ebp - 28) < edi); /* Warning: also results in ebx, esp_5, ebp_4, esi, edi */
local7 = esp_5;
local10 = esp_5;
*(unsigned int*)(ebp_4 - 28) = eax;
flags = SUBFLAGS32(eax, edi, eax - edi);
if (eax == edi) {
goto L3;
} else {
L15:
esp_13 = local7;
ebx = *(ebp + 16);
*(__size32*)(esp_13 - 4) = ebx;
*(int*)(esp_13 - 8) = esi;
*(__size32*)(esp_13 - 12) = *(ebp + 8);
eax = ?OnGetItem@IScript@Quest@ScriptProcess@@UAEXG@Z(lo cal0, local1, local2, eax, ebx, ebp, esi, edi, <all>, flags, ZF, CF); /* Warning: also results in ebx, esp_4, ebp_3, esi, edi */
local8 = esp_4;
*(unsigned int*)(ebp_3 - 28) = eax;
if ( !(esi != 1 || eax != edi)) {
*(__size32*)(esp_4 - 4) = ebx;
*(unsigned int*)(esp_4 - 8) = edi;
*(__size32*)(esp_4 - 12) = *(ebp_3 + 8);
eax = ?OnGetItem@IScript@Quest@ScriptProcess@@UAEXG@Z(lo cal0, local1, local2, eax, ebx, ebp_3, esi, edi, <all>, SUBFLAGS32(eax, edi, eax - edi), eax - edi == 0, eax < edi); /* Warning: also results in ebx, esp_3, esi, edi */
local8 = esp_3;
local8 = esp_3;
}
esp_9 = local8;
flags = SUBFLAGS32(esi, edi, esi - edi);
local9 = esp_9;
if (esi == edi) {
L10:
*(__size32*)(esp_9 - 4) = ebx;
*(int*)(esp_9 - 8) = esi;
*(__size32*)(esp_9 - 12) = *(ebp_3 + 8);
eax = ?OnGetItem@IScript@Quest@ScriptProcess@@UAEXG@Z(lo cal0, local1, local2, eax, ebx, ebp_3, esi, edi, <all>, flags, ZF, CF); /* Warning: also results in ebx, esp_2, ebp_2, esi, edi */
local9 = esp_2;
if (eax == 0) {
*(unsigned int*)(ebp_2 - 28) = edi;
}
if ( !(*(ebp_2 - 28) == edi || global7 == edi)) {
*(__size32*)(esp_2 - 4) = ebx;
*(int*)(esp_2 - 8) = esi;
*(__size32*)(esp_2 - 12) = *(ebp_2 + 8);
(*global7)(local5, local4, local3, global7, ebx, ebp_2, esi, edi, <all>, SUBFLAGS32(global7, edi, global7 - edi), global7 - edi == 0, global7 < edi);
local9 = esp_1;
local9 = esp_1;
*(unsigned int*)(ebp_1 - 28) = eax;
}
} else {
flags = SUBFLAGS32(esi, 3, esi - 3);
if (esi == 3) {
goto L10;
}
}
esp_8 = local9;
*(int*)(ebp_3 - 4) = *(ebp_3 - 4) | -1;
flags = LOGICALFLAGS32(*(ebp_3 - 4));
eax = *(ebp_3 - 28);
local12 = esp_8;
}
}
} else {
flags = SUBFLAGS32(esi, 2, esi - 2);
if (esi != 2) {
goto L15;
} else {
goto L21;
}
}
}
esp_10 = local12;
?OnGetItem@IScript@Quest@ScriptProcess@@UAEXG@Z(lo cal0, local1, local2, eax, ebx, ebp, esi, edi, <all>, flags, ZF, CF);
return;
}
LeQuebecoisqc is offline  
Thanks
1 User
Old 04/16/2009, 04:37   #3
 
ItsNobody's Avatar
 
elite*gold: 0
Join Date: Nov 2008
Posts: 784
Received Thanks: 339
lol thx LQ but this thing is being a pain in the ass this is the furthest i got and it was in the decoding process

/* NOTE: All functions in this file are assumed to be PASCAL calling convention
(hard coded in FrontEnd::readLibraryCatalog()) */

typedef unsigned int UINT;
typedef int INT;
typedef unsigned int SIZE_T;
typedef unsigned int LONG;
typedef unsigned char BYTE;
typedef BYTE *LPBYTE;
typedef LONG *LPLONG;
typedef const void *LPCVOID;
typedef void *LPVOID;
typedef void *PVOID;
typedef const char *LPCSTR;
typedef char *LPSTR;
typedef const short *LPCWSTR;
typedef short *LPWSTR;
typedef short wchar_t;
typedef unsigned int DWORD;
typedef unsigned short WORD;
typedef int HWND;
typedef int HMENU;
typedef int HFONT;
typedef int HLOCAL;
typedef int HINSTANCE;
typedef int HICON;
typedef int HCURSOR;
typedef int HBRUSH;
typedef int HACCEL;
typedef int HDC;
typedef int HGDIOBJ;
typedef int WPARAM;
typedef int LPARAM;
typedef int LRESULT;
typedef int ATOM;
typedef int BOOL;
typedef int HRSRC;
typedef int HMODULE;
typedef int HGLOBAL;
typedef unsigned int ULONG;
typedef unsigned char BYTE;
typedef char CHAR;
typedef int HRESULT;
typedef LRESULT WndProc(
HWND hwnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
typedef WndProc *WNDPROC;
typedef int CRITICAL_SECTION;
typedef CRITICAL_SECTION *LPCRITICAL_SECTION;

typedef int WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
);

HLOCAL LocalFree(HLOCAL hMem);
DWORD FormatMessageA(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, LPSTR lpBuffer, DWORD nSize, va_list* Arguments);
LPSTR CharNextA(
LPCSTR lpsz
);
LPWSTR CharNextW(
LPCWSTR lpsz
);
LPSTR GetCommandLineA(void);
LPWSTR GetCommandLineW(void);

typedef struct {
UINT cbSize;
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCSTR lpszMenuName;
LPCSTR lpszClassName;
HICON hIconSm;
} WNDCLASSEX;
typedef struct {
UINT cbSize;
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCWSTR lpszMenuName;
LPCWSTR lpszClassName;
HICON hIconSm;
} WNDCLASSEXw;


ATOM RegisterClassExW(WNDCLASSEXw *lpwcx);
ATOM RegisterClassExA(WNDCLASSEX *lpwcx);

int LoadStringA(
HINSTANCE hInstance,
UINT uID,
LPSTR lpBuffer,
int nBufferMax
);

int LoadStringW(
HINSTANCE hInstance,
UINT uID,
LPWSTR lpBuffer,
int nBufferMax
);

HACCEL LoadAcceleratorsA(
HINSTANCE hInstance,
LPCSTR lpTableName
);

HACCEL LoadAcceleratorsW(
HINSTANCE hInstance,
LPCWSTR lpTableName
);

typedef struct {
int x;
int y;
} POINT;
typedef POINT *LPPOINT;

typedef struct {
int cx;
int cy;
} SIZE;

typedef struct {
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
DWORD time;
POINT pt;
} MSG;
typedef MSG *LPMSG;

BOOL GetMessageA(
LPMSG lpMsg,
HWND hWnd,
UINT wMsgFilterMin,
UINT wMsgFilterMax
);
BOOL GetMessageW(
LPMSG lpMsg,
HWND hWnd,
UINT wMsgFilterMin,
UINT wMsgFilterMax
);

int TranslateAcceleratorA(
HWND hWnd,
HACCEL hAccTable,
LPMSG lpMsg
);

int TranslateAcceleratorW(
HWND hWnd,
HACCEL hAccTable,
LPMSG lpMsg
);

BOOL TranslateMessage(
const MSG *lpMsg
);

LRESULT DispatchMessageA(
const MSG *lpmsg
);

LRESULT DispatchMessageW(
const MSG *lpmsg
);

HICON LoadIconW(
HINSTANCE hInstance,
LPCWSTR lpIconName
);

HCURSOR LoadCursorW(
HINSTANCE hInstance,
LPCWSTR lpCursorName
);

HICON LoadIconA(
HINSTANCE hInstance,
LPCSTR lpIconName
);

HCURSOR LoadCursorA(
HINSTANCE hInstance,
LPCSTR lpCursorName
);

HWND CreateWindowExA(
DWORD dwExStyle,
LPCSTR lpClassName,
LPCSTR lpWindowName,
DWORD dwStyle,
int x,
int y,
int nWidth,
int nHeight,
HWND hWndParent,
HMENU hMenu,
HINSTANCE hInstance,
LPVOID lpParam
);

HWND CreateWindowExW(
DWORD dwExStyle,
LPCWSTR lpClassName,
LPCWSTR lpWindowName,
DWORD dwStyle,
int x,
int y,
int nWidth,
int nHeight,
HWND hWndParent,
HMENU hMenu,
HINSTANCE hInstance,
LPVOID lpParam
);

BOOL ShowWindow(
HWND hWnd,
int nCmdShow
);

BOOL UpdateWindow(
HWND hWnd
);

int MessageBoxA(
HWND hWnd,
LPCSTR lpText,
LPCSTR lpCaption,
UINT uType
);

int MessageBoxW(
HWND hWnd,
LPCWSTR lpText,
LPCWSTR lpCaption,
UINT uType
);

BOOL GetProcessDefaultLayout(DWORD *pdwDefaultLayout);
BOOL SetProcessDefaultLayout(DWORD dwDefaultLayout);

HLOCAL LocalAlloc(
UINT uFlags,
SIZE_T uBytes
);

BOOL IsDialogMessageA(HWND hDlg, LPMSG lpMsg);
BOOL IsDialogMessageW(HWND hDlg, LPMSG lpMsg);

BOOL IsChild(HWND hWndParent, HWND hWnd);

HBRUSH GetSysColorBrush(int nIndex);

BOOL SystemParametersInfoA(
UINT uiAction,
UINT uiParam,
PVOID pvParam,
UINT fWinIni
);

BOOL SystemParametersInfoW(
UINT uiAction,
UINT uiParam,
PVOID pvParam,
UINT fWinIni
);

BOOL SetMenu(HWND hWnd, HMENU hMenu);
BOOL DestroyWindow(HWND hWnd);
BOOL DestroyMenu(HMENU hMenu);

typedef int INT_PTR;
typedef INT_PTR DlgProc(
HWND hwndDlg,
UINT uMsg,
WPARAM wParam,
LPARAM lParam
);
typedef DlgProc *DLGPROC;

HWND CreateDialogParamA(
HINSTANCE hInstance,
LPCSTR lpTemplateName,
HWND hWndParent,
DLGPROC lpDialogFunc,
LPARAM dwInitParam
);

HWND CreateDialogParamW(
HINSTANCE hInstance,
LPCWSTR lpTemplateName,
HWND hWndParent,
DLGPROC lpDialogFunc,
LPARAM dwInitParam
);

LRESULT DefWindowProcA(
HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam
);

void PostQuitMessage(
int nExitCode
);

typedef struct {
LONG left;
LONG top;
LONG right;
LONG bottom;
} RECT;
typedef RECT *LPRECT;

typedef struct {
HDC hdc;
BOOL fErase;
RECT rcPaint;
BOOL fRestore;
BOOL fIncUpdate;
BYTE rgbReserved[32];
} PAINTSTRUCT;
typedef PAINTSTRUCT *LPPAINTSTRUCT;

HDC BeginPaint(
HWND hwnd,
LPPAINTSTRUCT lpPaint
);

BOOL EndPaint(
HWND hWnd,
LPPAINTSTRUCT lpPaint
);

BOOL GetClientRect(
HWND hWnd,
LPRECT lpRect
);

int DrawTextA(
HDC hDC,
LPCSTR lpString,
int nCount,
LPRECT lpRect,
UINT uFormat
);

int DrawTextW(
HDC hDC,
LPCWSTR lpString,
int nCount,
LPRECT lpRect,
UINT uFormat
);

BOOL GetTextExtentPointA(
HDC hDC,
LPCSTR lpStr,
int len,
SIZE* sz
);

HGDIOBJ SelectObject(
HDC hDC,
HGDIOBJ hObj
);

INT_PTR DialogBoxParamA(
HINSTANCE hInstance,
LPCSTR lpTemplateName,
HWND hWndParent,
DLGPROC lpDialogFunc,
LPARAM dwInitParam
);

INT_PTR DialogBoxParamW(
HINSTANCE hInstance,
LPCWSTR lpTemplateName,
HWND hWndParent,
DLGPROC lpDialogFunc,
LPARAM dwInitParam
);

BOOL EndDialog(
HWND hDlg,
INT_PTR nResult
);

int wsprintfA(
LPSTR lpOut,
LPCSTR lpFmt,
...
);

char *_gcvt(double value, int digits, char *buffer); /* Convert flt to str */
int MulDiv(int number, int numerator, int denominator);
HFONT CreateFontIndirectA(void* lf);
HFONT CreateFontA(
int nHeight, // height of font
int nWidth, // average character width
int nEscapement, // angle of escapement
int nOrientation, // base-line orientation angle
int fnWeight, // font weight
DWORD fdwItalic, // italic attribute option
DWORD fdwUnderline, // underline attribute option
DWORD fdwStrikeOut, // strikeout attribute option
DWORD fdwCharSet, // character set identifier
DWORD fdwOutputPrecision, // output precision
DWORD fdwClipPrecision, // clipping precision
DWORD fdwQuality, // output quality
DWORD fdwPitchAndFamily, // pitch and family
LPCTSTR lpszFace // typeface name
);

typedef DWORD LCID;
LCID GetThreadLocale();
HLOCAL LocalReAlloc(
HLOCAL hMem,
SIZE_T uBytes,
UINT uFlags
);
UINT GetProfileIntA(
LPCSTR lpAppName,
LPCSTR lpKeyName,
INT nDefault
);
UINT GetProfileIntW(
LPCWSTR lpAppName,
LPCWSTR lpKeyName,
INT nDefault
);
DWORD GetProfileStringA(
LPCSTR lpAppName,
LPCSTR lpKeyName,
LPCSTR lpDefault,
LPSTR lpReturnedString,
DWORD nSize
);
DWORD GetProfileStringW(
LPCWSTR lpAppName,
LPCWSTR lpKeyName,
LPCWSTR lpDefault,
LPWSTR lpReturnedString,
DWORD nSize
);
DWORD GetSysColor(
int nIndex
);
BOOL GetWindowRect(
HWND hWnd,
LPRECT lpRect
);
LONG GetWindowLongA(
HWND hWnd,
int nIndex
);
LONG GetWindowLongW(
HWND hWnd,
int nIndex
);
LONG SetWindowLongA(
HWND hWnd,
int nIndex,
LONG dwNewLong
);
LONG SetWindowLongW(
HWND hWnd,
int nIndex,
LONG dwNewLong
);
HMENU LoadMenuA(
HINSTANCE hInstance,
LPCSTR lpMenuName
);
HMENU LoadMenuW(
HINSTANCE hInstance,
LPCWSTR lpMenuName
);
LRESULT SendMessageA(
HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam
);
LRESULT SendMessageW(
HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam
);
BOOL InvalidateRect(
HWND hWnd,
LPRECT lpRect,
BOOL bErase
);
HWND GetDlgItem(
HWND hDlg,
int nIDDlgItem
);
BOOL EnableWindow(
HWND hWnd,
BOOL bEnable
);
int MapWindowPoints(
HWND hWndFrom,
HWND hWndTo,
LPPOINT lpPoints,
UINT cPoints
);
BOOL OffsetRect(
LPRECT lprc,
int dx,
int dy
);
BOOL SetWindowPos(
HWND hWnd,
HWND hWndInsertAfter,
int X,
int Y,
int cx,
int cy,
UINT uFlags
);
HMENU GetMenu(
HWND hWnd
);
HMENU GetSubMenu(
HMENU hMenu,
int nPos
);
DWORD CheckMenuItem(
HMENU hmenu,
UINT uIDCheckItem,
UINT uCheck
);
BOOL SetDlgItemTextA(
HWND hDlg,
int nIDDlgItem,
LPCSTR lpString
);
BOOL SetDlgItemTextW(
HWND hDlg,
int nIDDlgItem,
LPCWSTR lpString
);
BOOL CheckRadioButton(
HWND hDlg,
int nIDFirstButton,
int nIDLastButton,
int nIDCheckButton
);
HCURSOR SetCursor(
HCURSOR hCursor
);
BOOL TextOutA(
HDC hDC,
int x, int y,
char* sz, int len);

int FillRect(
HDC hDC, // handle to DC
RECT *lprc, // rectangle
HBRUSH hbr // handle to brush
);

struct SLIST_ENTRY {
SLIST_ENTRY *Next;
};

typedef SLIST_ENTRY *PSLIST_ENTRY;

PSLIST_ENTRY InterlockedPushEntrySList(
PSLIST_HEADER ListHead,
PSLIST_ENTRY ListEntry
);

PSLIST_ENTRY InterlockedPopEntrySList(
PSLIST_HEADER ListHead
);

ULONGLONG VerSetConditionMask(
ULONGLONG dwlConditionMask,
DWORD dwTypeBitMask,
BYTE dwConditionMask
);

int FreeLibrary(unsigned int hModule);
int VirtualFree(void* lpAddress, int dwSize, unsigned int dwFreeType);

HRSRC FindResourceA(HMODULE hModule, LPCSTR lpName, LPCSTR lpType);
HGLOBAL LoadResource(HMODULE hModule, HRSRC hResInfo);
LPVOID LockResource(HGLOBAL hResData);
DWORD GetTempPathA(DWORD nBufferLength, LPSTR lpBuffer);
DWORD SizeofResource(HMODULE hModule, HRSRC hResInfo);
HINSTANCE ShellExecuteA(HWND hwnd, LPCSTR lpOperation, LPCSTR lpFile, LPCSTR lpParameters, LPCSTR lpDirectory, INT nShowCmd);

typedef struct {
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
CHAR szCSDVersion[128];
} OSVERSIONINFOA;

typedef struct {
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
WCHAR szCSDVersion[128];
} OSVERSIONINFOW;

BOOL GetVersionExA(OSVERSIONINFOA *v);
BOOL GetVersionExW(OSVERSIONINFOW *v);

typedef struct {
DWORD dwOemId;
DWORD dwPageSize;
LPVOID lpMinimumApplicationAddress;
LPVOID lpMaximumApplicationAddress;
DWORD dwActiveProcessorMask;
DWORD dwNumberOfProcessors;
DWORD dwProcessorType;
DWORD dwReserved1;
DWORD dwReserved2;
} SYSTEM_INFO;

void GetSystemInfo(SYSTEM_INFO *sinf);

typedef struct {
DWORD dwLength; // sizeof(MEMORYSTATUS)
DWORD dwMemoryLoad; // % in use
DWORD dwTotalPhys;
DWORD dwAvailPhys;
DWORD dwTotalPageFile;
DWORD dwAvailPageFile;
DWORD dwTotalVirtual;
DWORD dwAvailVirtual;
} MEMORYSTATUS;

void GlobalMemoryStatus(MEMORYSTATUS *mst);

typedef struct {
UINT MaxCharSize;
BYTE DefaultChar[2]; // MAX_DEFAULTCHAR
BYTE LeadByte[12]; // MAX_LEADBYTES
} CPINFO;

BOOL GetCPInfo(UINT uCodePage, CPINFO *lpCPInfo);

typedef void *HANDLE;

HANDLE RegisterEventSourceA(char *uncServerName, char *sourceName);
BOOL DeregisterEventSource(HANDLE eventLog);

typedef void *FARPROC;

FARPROC GetProcAddress(HANDLE module, char *procName);

LONG InterlockedExchange(LONG *target, LONG *val);

HINSTANCE LoadLibraryExA(LPCSTR lib, HANDLE file, DWORD flags);
HINSTANCE LoadLibraryExW(LPCWSTR lib, HANDLE file, DWORD flags);

int MultiByteToWideChar(UINT CodePage, DWORD dwFlags,
LPCSTR lpMultiByteStr, int cbMultiByte,
LPWSTR lpWideCharStr, int cchWideChar);

// long name causes assertion failure
// typedef DWORD ACCESS_MASK;
typedef DWORD ACC_MSK;

LONG RegOpenKeyExA(HANDLE hKey, LPCTSTR lpSubKey, DWORD ulOptions,
ACC_MSK regsam, HANDLE *phkResult);
LONG RegOpenKeyExW(HANDLE hKey, LPCTSTR lpSubKey, DWORD ulOptions,
ACC_MSK regsam, HANDLE *phkResult);
LONG RegCloseKey(HANDLE hKey);

void SetLastError(DWORD error);

void Sleep(DWORD milliseconds);

LPVOID HeapAlloc(HANDLE hHeap, DWORD dwFlags, DWORD dwBytes);

BOOL HeapFree(HANDLE hHeap, DWORD dwFlags, LPVOID lpMem);

DWORD GetModuleFileNameA(HMODULE hModule, LPSTR lpFilename, DWORD nSize);
DWORD GetModuleFileNameW(HMODULE hModule, LPWSTR lpFilename, DWORD nSize);

HANDLE GetStdHandle(DWORD nStdHandle);
BOOL SetStdHandle(DWORD nStdHandle, HANDLE hHandle);

BOOL WriteFile(
HANDLE hFile,
LPCVOID lpBuffer,
DWORD nNumberOfBytesToWrite,
LPDWORD lpNumberOfBytesWritten,
LPOVERLAPPED lpOverlapped
);

LPVOID VirtualAlloc(
LPVOID lpAddress,
DWORD dwSize,
DWORD flAllocationType,
DWORD flProtect
);

BOOL FlushFileBuffers(HANDLE hFile);

DWORD GetLastError(void);

DWORD
SetFilePointer(
HANDLE hFile,
LONG lDistanceToMove,
PLONG lpDistanceToMoveHigh,
DWORD dwMoveMethod
);

BOOL CloseHandle(HANDLE hObject);
BOOL CheckMenuRadioItem(
HMENU hmenu,
UINT idFirst,
UINT idLast,
UINT idCheck,
UINT uFlags
);

BOOL SetWindowTextA(
HWND hWnd,
LPCSTR lpString
);

BOOL SetWindowTextW(
HWND hWnd,
LPCWSTR lpString
);

HWND SetFocus(
HWND hWnd
);

LPSTR lstrcpynA(
LPSTR lpString1,
LPCSTR lpString2,
int iMaxLength
);

LPWSTR lstrcpynW(
LPWSTR lpString1,
LPCWSTR lpString2,
int iMaxLength
);

LPSTR lstrcatA(
LPSTR lpString1,
LPSTR lpString2
);

LPWSTR lstrcatW(
LPWSTR lpString1,
LPWSTR lpString2
);

wchar_t *lstrcpyW(wchar_t *dst, wchar_t *src);

int lstrlenW( const wchar_t *string );

void _CxxThrowException(int a, int b);

BOOL DisableThreadLibraryCalls(
HMODULE hModule
);

BOOL HeapDestroy(
HANDLE hHeap
);

void DeleteCriticalSection(
LPCRITICAL_SECTION lpCriticalSection
);

void InitializeCriticalSection(
LPCRITICAL_SECTION lpCriticalSection
);

typedef struct {
DWORD cb;
LPSTR lpReserved;
LPSTR lpDesktop;
LPSTR lpTitle;
DWORD dwX;
DWORD dwY;
DWORD dwXSize;
DWORD dwYSize;
DWORD dwXCountChars;
DWORD dwYCountChars;
DWORD dwFillAttribute;
DWORD dwFlags;
WORD wShowWindow;
WORD cbReserved2;
LPBYTE lpReserved2;
HANDLE hStdInput;
HANDLE hStdOutput;
HANDLE hStdError;
} STARTUPINFO;
typedef STARTUPINFO *LPSTARTUPINFO;

typedef struct {
DWORD cb;
LPWSTR lpReserved;
LPWSTR lpDesktop;
LPWSTR lpTitle;
DWORD dwX;
DWORD dwY;
DWORD dwXSize;
DWORD dwYSize;
DWORD dwXCountChars;
DWORD dwYCountChars;
DWORD dwFillAttribute;
DWORD dwFlags;
WORD wShowWindow;
WORD cbReserved2;
LPBYTE lpReserved2;
HANDLE hStdInput;
HANDLE hStdOutput;
HANDLE hStdError;
} STARTUPINFOW;
typedef STARTUPINFOW *LPSTARTUPINFOW;

void GetStartupInfo(LPSTARTUPINFO lpStartupInfo);
void GetStartupInfoW(LPSTARTUPINFOW lpStartupInfo);

HMODULE GetModuleHandle(LPCSTR lpModuleName);
HMODULE GetModuleHandleW(LPCWSTR lpModuleName);

void ExitProcess(UINT uExitCode);

BOOL PostMessage(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
BOOL PostMessageW(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);

typedef void *REFCLSID;
HRESULT SHLoadInProc(REFCLSID rclsid);

HWND FindWindowA(LPCSTR lpClassName, LPCSTR lpWindowName);
HWND FindWindowW(LPCWSTR lpClassName, LPCWSTR lpWindowName);

void Sleep(DWORD dwMilliseconds);

HMODULE LoadLibraryA(LPCSTR lpFileName);
HMODULE LoadLibraryW(LPCWSTR lpFileName);

ATOM FindAtomA(LPCSTR lpString);
ATOM FindAtomW(LPCWSTR lpString);
ATOM AddAtomA(LPCSTR lpString);
ATOM AddAtomW(LPCWSTR lpString);
UINT GetAtomNameA(ATOM nAtom, LPSTR lpBuffer, int nSize);
UINT GetAtomNameA(ATOM nAtom, LPWSTR lpBuffer, int nSize);

LONG InterlockedIncrement(LONG *Addend);

LONG InterlockedDecrement(LONG *Addend);


// guessed LPR functions

void CloseLPR(int a);
int GetShortQueue(int a, int b);
int GetLongQueue(int a, int b);
int OpenLPR(int a, int b);

LPVOID TlsGetValue(DWORD dwTlsIndex);
DWORD TlsAlloc(void);

BOOL TlsSetValue(DWORD dwTlsIndex, LPVOID lpTlsValue);

DWORD WaitForSingleObject(HANDLE hHandle, DWORD dwMilliseconds);

BOOL ReleaseSemaphore(HANDLE hSemaphore, LONG lReleaseCount, LPLONG lpPreviousCount);
// unknown library proc: GetCurrentProcess
ItsNobody is offline  
Old 04/16/2009, 10:12   #4
 
elite*gold: 0
Join Date: Nov 2004
Posts: 26
Received Thanks: 13
Decompiled ScriptProcess.dll for?
advance is offline  
Old 04/16/2009, 13:39   #5
 
elite*gold: 0
Join Date: Mar 2009
Posts: 42
Received Thanks: 37
to look pr0 (?)
Istel is offline  
Old 04/16/2009, 15:06   #6
 
elite*gold: 0
Join Date: Dec 2008
Posts: 505
Received Thanks: 70
The scripts that dekaronserver.exe/dekaron.exe read is coming from scriptprocess.dll for the rest you have to guess
LeQuebecoisqc is offline  
Old 04/16/2009, 15:52   #7
 
elite*gold: 0
Join Date: Nov 2004
Posts: 26
Received Thanks: 13
Apologize for my English is bad...
I think scriptprocess.dll is scripting language for game like it's library?
I think.it use for read and excute some script depend on your code (in any files outside scriptprocess.dll)?

I think.Mainly code are inside dekaron.exe (use hex compare for check it)
advance is offline  
Old 04/16/2009, 19:56   #8
 
elite*gold: 0
Join Date: Dec 2008
Posts: 928
Received Thanks: 132
dont feel pro
ex6tenCe is offline  
Old 04/16/2009, 22:38   #9
 
elite*gold: 0
Join Date: Dec 2008
Posts: 505
Received Thanks: 70
Out subject -.- Open a new thread named waste of posts then post your bullshits in there.
LeQuebecoisqc is offline  
Thanks
3 Users
Reply


Similar Threads Similar Threads
Progress on Map Decompiling
03/31/2010 - EO PServer Hosting - 25 Replies
ok So I have been having some fun playing with the map files from time to time and I have the DMap file down pat now. Although the app I made to turn them into a text file version runs EXTREMELY slow. To the point it will stop if the file is too big. Wont take much to make a new program but I am not going to be doing that until I have a small custom map made. Here are some Text File conversions. Prison Map ...



All times are GMT +1. The time now is 07:01.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.