Here we explain what the decompiling process is, as well as in what cases it can be useful. If you want to know what is the process of decompilation then you should read the full post.
Disclaimer: This article is merely informative and in no case encourages the decompilation of a file or offers decompilation services. So please refrain from contacting us to request this or any other related service as this violates MetaQuotes Software Corp’s copyrighted works and intellectual property.
Table of contents
What is decompile or decompiling process?
Basically, decompiling is obtaining the source code of an executable program. This definition would be enough for a programmer. For people without basic programming skills, it is necessary to explain more in depth.
The source code is what the programmer has written. That is, it is those lines of characters (sometimes ordered) that the programmer shows you, and that you can not understand, even if you nod your head.
Instead, the executable file is what the computer understands. This file is obtained by compiling the source code. This is necessary because the computer does not “speak” the same language as humans. So we could say that, when compiling, we make a kind of “translation” of what the programmer has written to what the computer understands.
In summary, compiling is “translating” the code written by the programmer (source code) into a language that is comprehensible by the computer (executable file). Likewise, decompile would be the inverse process. That is, obtain the code written by the programmer (source) from the program used by the computer (executable).
Source code and executable file in MetaTrader 4 (MT4)
In the specific case of MT4, there are two file formats: ‘.ex4’ for the executable files (e.g., ‘Accelerator.ex4’) and ‘.mq4’ (e.g., ‘Accelerator.mq4’) for the source code. These are the types of files that are usually stored in the corresponding folders of the MT4 platform. However, the MT4 platform only uses the executable files, so that only these files are necessary to use an EA, an indicator or any other MT4 program. The source code is only used by a programmer to make corrections, adjustments, modifications or improvements in the MT4 program.
EX4 files are primarily based on:
- MetaQuotes Software Corp. proprietary protection system based on bytecode of MQL4 programming language;
- encryption of all data blocks and special obfuscation methods aimed against hackers;
- additional protection against reversing and cracking with VM Protect (http://vmpsoft.com)
The MQL4 programming language permits making complete applications which may be passed, sold and leased. Each such associate application has the EX4 file extension and is protected against decompilation using special software protection system. The following restrictions apply to such files: modification, disassembly and decompilation of EX4 files.
The above-mentioned protection system is a standalone application exclusive rights to which belong to MetaQuotes Software Corp. Having said that, we urge you to respect the aforementioned rights, as well as intellectual property and copyrights.
In what cases do I need to decompile a program?
These are some of the most common cases:
- To modify, correct and/or improve an MT4 program.
- To recover a lost source code.
- It is very useful to learn MQL4 programming. MQL4 is the programming language used in MetaTrader 4.
- Unfortunately, it is also used to appropriate the work done by other programmers.
Let’s see a practical example. Suppose you want to take an MT4 program to MT5, so you must convert your MQL4 code into MQL5 code. In this case, you need the source code of the MQL4 program in order to convert it into MQL5. If you only have the executable file (file with ex4 extension), then you need to decompile this file to get the source code (file with mq4 extension).
Some useful tips
- You don’t need the source code (mq4 file) in order to build an MT4 Expert Advisor (EA) based on an indicator. In fact, an MT4 EA only uses the compiled file (ex4 extension). Thus, no matter if you have the indicator source code, our MT4 programmers will be able to develop an MT4 EA only with the ex4 file.
- Do you know that we can implement alerts and notifications for an indicator even without the source code (mq4 file)? Indeed, a skilled MT4 programmer can develop a new indicator that gets the signals from the original indicator and sends alerts and notifications whenever a signal is triggered. Don’t hesitate to ask us about this interesting option to get alerts from an indicator even without the mq4 file.
Davon Wagner
Hi i Need an indicator decompiled, please note the indicator is not mine however there are a couple of errors within the code when alerts come on, it signifies the incorrect divergence, i cant find the mql4 file anywhere online and therefore need your assistance if possible.
Please let me know if its possible.
Sitali Sinamuwi
Hello, am glad to have found this website I ll appreciate it if you could assist me to decompile an Mt4 executable file, as I was made to pay for a service I never got, if anything having the source code would be of much help.
Alexander
I want to convert the EX4 file to an editable MQ4 file and I don’t have the source code. Guide me on how can I convert without a source file.
Tina Baneries
We can’t forget that Metatrader can decompile even the files compiled from the Cloud Protector because they have the keys. So, in case someone produce something really interesting Metatrader can always know how it was done.
My opinion is that developers should use their own website to sell worthwhile products and not lodge products with Metatrader. This will also allow the use of .dll and customized protection.
jegouzo
are yoy able de decrypt the prodected source code of a mql5 EA ?? to crack it
[email protected]
contact me if you are able
Katlego Thomas
Can you make a repainting indicator not to repaint anymore
Barmenteros FX Staff
Sorry but that’s not possible. Regards
Dunu kenechukwu
Hi thnks for the idea
I have a custom indicator I which to build an EA with ,but it’s an Ex4 file
Pls what do I do?
Barmenteros FX Staff
Hi. You can build an EA based on the indicator no matter if it’s only an ex4 file. At least we can do it. You can send us your request using the form here. Best regards
samuel
Hi,
decompiling to me is of interest because in case we bought a product, as we don’t have the source code, we are not protected against the possibility of the software not to work anymore in the (sometimes near) future. That is very annoying and stress favoring. When we are satisfied by a product we want us to be able to continue using it. Because of MT4 and other evolutions, some programs can cease to work suddenly. In addition, we may want to correct or modify a bought program, and the source code is needed in this case. In any of these uses, the intention is to properly speaking “appropiate” the work done by others. I have never used a decompiling service but if I had a software able to ecomplie ex4 into mq4, I would definitly use it. In order to have the source code if needed one day (be in peace), or to correct programs I have used (creative process).
Barmenteros FX Staff
Hi Samuel. Thanks for your interesting comment. Regards
Massimiliano Papera
I totally agree
Israel
I agree
Barmenteros FX Staff
Please, send us an email to [email protected]
Israel
I will,
Because i have some question and i need some help
Resource
Some EA required that PC and EA shoul be switched on with internet connection during trading hour; If i’m using VPS Do i need to swithced my pc on with internet connection before EA will be taking trade? OR the EA will be taking trade for me even if i’m off line through the help of VPS
Please, send reply to my e-mail address.
Thanks