“EX4 to MQ4 Store Decompiler” is a tool which allows MetaTrader 4 users to decompile (decode / decipher) any executable.ex4 files (including files from original MQL5.com marketplace) of Experts / Indicators or Scripts to the editable.mq4 source code. NOTE: The decompiler.ex4 file is protected from self-decompilation! “EX4 to MQ4 Store Decompiler” is a tool which allows MetaTrader 4 users to decompile (decode / decipher) any executable.ex4 files (including files from original MQL5.com marketplace) of Experts / Indicators or Scripts to the editable.mq4 source code. NOTE: The decompiler.ex4 file is protected from self-decompilation!
PermalinkJoin GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.
Sign up#define_WIN32_WINNT0x0501 |
#include<windows.h> |
#include<shlobj.h> |
#include<objbase.h> |
#include<objidl.h> |
#include<olectlid.h> |
#include<tchar.h> |
#include<wchar.h> |
#include'scit/scit.h' |
#definenullNULL |
#definetrue1 |
#definefalse0 |
#defineAPP_NAME'ex4_to_mq4_auto' |
//L'D:prjcl workspaceex4_to_mq4_autoDebugFoo.ex4' |
#defineWND_NAME'EX4-TO-MQ4 Decompiler (https://purebeam.biz)' |
#defineEXE_NAME'ex4_to_mq4.exe' |
//#define WND_NAME 'NotePAD' |
//#define EXE_NAME 'notepad.exe' |
typedef UINT WINAPI DragQueryFileW_t(HDROP,UINT,LPWSTR,UINT); |
DragQueryFileW_t *oldDragQueryFileW; |
wchar_t tmpWcBuff[1024]; |
HWND WINAPI _FindWindow(LPCTSTR lpClassName, LPCTSTR lpWindowName) |
{ |
HWND hWnd; |
hWnd = FindWindow(lpClassName, null); |
if (hWnd) { |
return hWnd; |
} |
hWnd = FindWindow(null, lpWindowName); |
if (hWnd) { |
return hWnd; |
} |
return0; |
} |
/* |
* http://msdn.microsoft.com/en-us/library/windows/desktop/bb776408(v=vs.85).aspx |
*/ |
UINT WINAPI myDragQueryFileW(HDROP hDrop, UINT iFile, LPWSTR lpszFile, UINT cch) { |
if (iFile -1) { |
return1; |
} |
if ((int)hDrop 123 && iFile 0) { |
wcsncpy(lpszFile, tmpWcBuff, cch); |
returnwcslen(tmpWcBuff); |
} |
returnoldDragQueryFileW(hDrop, iFile, lpszFile, cch); |
} |
intmain(int argc, char **argv) |
{ |
ScitInjectedProcessDescriptor_t ipd; |
PROCESS_INFORMATION pi; |
STARTUPINFO si; |
HWND hWnd = 0; |
char tmpBuff[1024]; |
DWORD dwTargetTmpWcBuff; |
SIZE_T stWritten; |
int i; |
if (argc <= 1) { |
memset(tmpBuff, 0, sizeof(tmpBuff)); |
snprintf(tmpBuff, sizeof(tmpBuff), 'Usage: %s <ex4 file> [...]', argv[0]); |
MessageBox(0, tmpBuff, APP_NAME, 0); |
return1; |
} |
hWnd = _FindWindow(WND_NAME, WND_NAME); |
if (!hWnd) { |
memset(&si, 0, sizeof(si)); |
memset(&pi, 0, sizeof(pi)); |
if (!CreateProcess(EXE_NAME, null, null, null, false, 0, null, null, &si, &pi)) { |
memset(tmpBuff, 0, sizeof(tmpBuff)); |
snprintf(tmpBuff, sizeof(tmpBuff), 'Unable to run %s', EXE_NAME); |
MessageBox(0, tmpBuff, APP_NAME, 0); |
return1; |
} |
do { |
if (!hWnd) { |
hWnd = _FindWindow(WND_NAME, WND_NAME); |
if (hWnd) { |
break; |
} |
} |
} while (WaitForSingleObject(pi.hProcess, 0)); |
} |
ipd = scitInjectLocalModule(pi.dwProcessId, TRUE, FALSE); |
if (ipd.bOk) { |
ipd = scitRemoteHookAPI(ipd, 'shell32.dll', 'DragQueryFileW', (FARPROC)myDragQueryFileW, (FARPROC*)&oldDragQueryFileW, FALSE); |
} |
//calculate tmpWcBuff in remote process |
dwTargetTmpWcBuff = (DWORD)tmpWcBuff - (DWORD)ipd.hModule + (DWORD)ipd.hInjectedModule; |
for (i = 1; i < argc; i++) { |
//get fullpath of target file |
memset(tmpBuff, 0, sizeof(tmpBuff)); |
GetFullPathName(argv[i], sizeof(tmpBuff), tmpBuff, null); |
//copy to local buffer as unicode string |
mbstowcs(tmpWcBuff, tmpBuff, 1024); |
//write file pathname to remote process and send WM_DROPFILES message |
WriteProcessMemory(pi.hProcess, (LPVOID)dwTargetTmpWcBuff, tmpWcBuff, sizeof(tmpWcBuff), &stWritten); |
SendMessage(hWnd, WM_DROPFILES, 123, 0); |
} |
//wait until process terminate |
// do { |
// } while (WaitForSingleObject(pi.hProcess, 1)); |
TerminateProcess(pi.hProcess, 0); |
return0; |
} |
Copy lines Copy permalink
Decompile Ex4 To Mq4 Online
Top 4 Download periodically updates software information of ex4 to mq4 decompiler full versions from the publishers, but some information may be slightly out-of-date.
Ex4 To Mq4 Decompiler
Ex4 To Mq4 Download
Using warez version, crack, warez passwords, patches, serial numbers, registration codes, key generator, pirate key, keymaker or keygen for ex4 to mq4 decompiler license key is illegal. Download links are directly from our mirrors or publisher's website, ex4 to mq4 decompiler torrent files or shared files from free file sharing and free upload services, including Rapidshare, MegaUpload, YouSendIt, Letitbit, DropSend, MediaMax, HellShare, HotFile, FileServe, LeapFile, MyOtherDrive or MediaFire, are not allowed!
How To Convert Ex4 File To Mq4
Your computer will be at risk getting infected with spyware, adware, viruses, worms, trojan horses, dialers, etc while you are searching and browsing these illegal sites which distribute a so called keygen, key generator, pirate key, serial number, warez full version or crack for ex4 to mq4 decompiler. These infections might corrupt your computer installation or breach your privacy. ex4 to mq4 decompiler keygen or key generator might contain a trojan horse opening a backdoor on your computer.