[ITEM]
07.02.2020
41

EX4-TO-MQ4 Decompiler 4.0.229 EX4-TO-MQ4 Decompiler 4.0.229.1 Software for decompiling (recovering) ex4 files into source code mq4 Update: Now available EX4-TO-MQ4 V4.0.392.1 How to use Just run decompiler and drag-and-drop any ex4 file on decompiler window. Recovered source code will be.

Did your computer fail to open a ex4 file? We explain what ex4 files are and recommend software that we know can open or convert your ex4 files.

Sponsored Link

Did you enjoy using our free file extension finder service? Please help us continue to make this service free by leaving us a good review at TrustPilot. You can write a quick review by going to https://www.trustpilot.com/evaluate/fileextension.com. It takes less then 2 minutes to give us a positive review and we love to read about our user experiences.

What is ex4 file?

Compiled program written for MetaTrader, an platform created for online trading of Forex, Futures, and CFD markets

Software that will open, convert or fix ex4 files

Sponsored Link Download boot.elf ps2 matrix.

Popular Executable Files file extensions:

Sponsored Link

Permalink

Join GitHub today

GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.

Purebeam.bizSign up
Branch:master
Find file Copy path
Fetching contributors…
#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
[/ITEM]
[/MAIN]
07.02.2020
7

EX4-TO-MQ4 Decompiler 4.0.229 EX4-TO-MQ4 Decompiler 4.0.229.1 Software for decompiling (recovering) ex4 files into source code mq4 Update: Now available EX4-TO-MQ4 V4.0.392.1 How to use Just run decompiler and drag-and-drop any ex4 file on decompiler window. Recovered source code will be.

Did your computer fail to open a ex4 file? We explain what ex4 files are and recommend software that we know can open or convert your ex4 files.

Sponsored Link

Did you enjoy using our free file extension finder service? Please help us continue to make this service free by leaving us a good review at TrustPilot. You can write a quick review by going to https://www.trustpilot.com/evaluate/fileextension.com. It takes less then 2 minutes to give us a positive review and we love to read about our user experiences.

What is ex4 file?

Compiled program written for MetaTrader, an platform created for online trading of Forex, Futures, and CFD markets

Software that will open, convert or fix ex4 files

Sponsored Link Download boot.elf ps2 matrix.

Popular Executable Files file extensions:

Sponsored Link

Permalink

Join GitHub today

GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.

Purebeam.bizSign up
Branch:master
Find file Copy path
Fetching contributors…
#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