No! Only the old MQL4 could be decompiled due to it being partially byte-code.
Modern MQL4+ and MQL5 use more native code and are encrypted. They can still be cracked by someone highly knowledgeable, but they can no longer be decompiled (only disassembled, which is something completely different).
So, if you received so-called proof of decompilation of modern MQL4+/MQL5, then it is most probably a scam to sell their services or the cracked versions of products.
There has been zero proof that any ex4/5 can be decompiled since Build 600+ (2014)
Upcoming MetaTrader 4 and MQL4 Upgrades - Big Changes Are Underway (MetaQuotes Software Corp.) - MQL4 programming forum (2013)
Code Protection: New MQL4 language(Build 600+) decompilation protection and other crack techniques. (Macos Silva) - MQL4 programming forum - Page 2 (2014)
There has been zero proof that any ex4/5 can be decompiled since Build 600+ (2014)
Upcoming MetaTrader 4 and MQL4 Upgrades - Big Changes Are Underway (MetaQuotes Software Corp.) - MQL4 programming forum (2013)
Code Protection: New MQL4 language(Build 600+) decompilation protection and other crack techniques. (Macos Silva) - MQL4 programming forum - Page 2 (2014)
No! Only the old MQL4 could be decompiled due to it being partially byte-code.
Modern MQL4+ and MQL5 use more native code and are encrypted. They can still be cracked by someone highly knowledgeable, but they can no longer be decompiled (only disassembled, which is something completely different).
So, if you received so-called proof of decompilation of modern MQL4+/MQL5, then it is most probably a scam to sell their services or the cracked versions of products.
What is the difference between cracked-decompiled-disassemble ?
Cracked = you don't get the original code (no decompilation to MQL), but you are still able to trick it into working by bypassing the licensing (pirated software).
Decompiled = a close approximation of the original MQL source code.
Disassembled = you don't get the original code (no decompilation to MQL), but you are able to see and alter the functionality of the assembly language representation of the native computer code directly used by the Intel x86 based CPU. Here is an example of Intel x86 based assembly language :
; ---------------------------------------------------------------------------------------- ; Writes "Hello, World" to the console using only system calls. Runs on 64-bit Linux only. ; To assemble and run: ; ; nasm -felf64 hello.asm && ld hello.o && ./a.out ; ---------------------------------------------------------------------------------------- global _start section .text _start: mov rax, 1 ; system call for write mov rdi, 1 ; file handle 1 is stdout mov rsi, message ; address of string to output mov rdx, 13 ; number of bytes syscall ; invoke operating system to do the write mov rax, 60 ; system call for exit xor rdi, rdi ; exit code 0 syscall ; invoke operating system to exit section .data message: db "Hello, World", 10 ; note the newline at the end
Cracked = you don't get the original code (no decompilation to MQL), but you are still able to trick it into working by bypassing the licensing (pirated software).
Decompiled = a close approximation of the original MQL source code.
Disassembled = you don't get the original code (no decompilation to MQL), but you are able to see and alter the functionality of the assembly language representation of the native computer code directly used by the Intel x86 based CPU. Here is an example of Intel x86 based assembly language :
Wow , thank you .
And why we must not upload products compiled with the cloud compiler ? Is it related ?
Not related!
The reason is that MetaQuotes must wrap the EA executable in their licensing code and then apply the cloud compilation over it.
If we do the cloud compilation ourselves first, then they will not able to wrap (or inject) their licensing code.
Not related!
The reason is that MetaQuotes must wrap the EA executable in their licensing code and then apply the cloud compilation over it.
If we do the cloud compilation ourselves first, then they will not able to wrap (or inject) their licensing code.
So its pretty safe to use the cloud compiler in non-market distributed freebies (for promotions)
This could be the backend process for the publication then , in theory :
- Upload ex4 to service
- Service runs tests on it for validation
- Validation passes
- ex4 is wrapped with license code and recompiled
- the original uploaded ex4 is deleted
Yes, it is "safer" but it is still crackable by skilled hackers, but not by the "script kiddies".
- Upload ex4 to service
- Service runs tests on it for validation
- Validation passes
- ex4 is wrapped with license code and recompiled
- the original uploaded ex4 is deleted
As for those steps, step 4 is incorrect. It is not recompiled. It is already compiled. It's just further wrapped in encryptions and other protections (what they call the "cloud compilation", but the naming is inaccurate).
@Lorentzos Roussos, I did not understand your last question. Can you clarify?
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
ex4 files seem to be getting decompiled and unlocked. Someone sent me an ex4 and then the mql4 file decompiled, the ex4 being recent. Market place EAs are also available via this service.
Does MT4 change it's encryption or is every ex4 now decompilable?