In this article, we explain what the decompiling process is, as well as in what cases it can be useful. If you want to know more about the process of decompilation then you should read the full article.
Feel free to send us an email to [email protected] if you have any question. Note: Most of the concepts discussed in this article are known by those who are dedicated to programming. So if you are a programmer but want more details about the specific case of MT4 decompilation, you might prefer to go directly to the last sections. Contents What is decompile or decompiling process?
Authors get paid when people like you upvote their post. If you enjoyed what you read here, create your account today and start earning FREE STEEM!
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 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:. proprietary protection system based on bytecode of;. encryption of all data blocks and special obfuscation methods aimed against hackers;. additional protection against reversing and cracking with VM Protect (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 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 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.
Filed Under:, Reader Interactions.
IgnoredWhether that is true or not is not the most important part, which is that a lot of these dumb cunts never paid for anything in their lives and just want a free lunch after finding an ex4 somewhere online and hoping someone will reverse-engineer it for them. Secondly, those who did pay for someone to supply them ex4's intend to pass this off to someone else to change the original functionality in some way which I can't imagine falls under any legal grounds. There is no end to the spreading of the code once the box is opened, and that can't possibly be legal. There's just no way you can skin this that doesn't result in the simple fact that people are shit and just want access to things they have no rights to.
The more mental gymnastics required to justify getting at source code that wasn't actually sold or given to you the more it should become obvious that it's wrong. IgnoredIf it's hard to do it doesn't mean that it is not allowed. The fact that programmers do not want to show their source code doesn't make it illegal to decompile it and use the ideas (I assume there are 0 patented ex4 'inventions'). I can't see anything wrong with it. If I buy an ex4 and want to see the code in order to get the idea of how it's done and then eventually implement it myself (you can't just copy paste decompiled code into your app, wouldn't do much good.
Another thing is you can't patent source code, that's why everyone is hiding it so much) I would have no issue in doing that. (Excuse my English). Spule, I dont have a problem with your English, I understand everything you said. But you show a lack of understanding of basic concepts. Reverse engineering is not the same as decompiling. Decompiling can be done by anyone with a computer. Reverse engineering on the other hand takes skill, experience and a lot of effort.
If you really want to see what a program does, ask the developer and he might give you a description for an extra charge. If he declines it is possible that he wants to protect something. That is his right, it took him lots of experience and effort to create something he considers valuable. It is not right for you to violate the restrictiins of the developer. That is a serious and in many cases a criminal offence.
Just to remind you of the seriousness, consider the trouble Uber is now in. They hired an engineer from Waymo to help develop a driverless vehicle.Waymo claims that the engineer used stolen code from his time employed there and reused the code at Uber. Now Uber is under a restraining order to stop development and the engineer is being investigated on criminal charges. There is a huge gap between driverless vehicle code and a piece of crap MT4 program but the principle is the same.
Stealing is stealing. EDIT: Think about this. If Uber had merely reverse engineered a Waymo car (say from videos) plus used a little inside info from the engineer, its doubtful they would be in any touble and the engineer would not be facing any criminal charges. There is a very fine line between copying and stealing but its a line everyone must understand and respect. CodeMeister, I appreciate your comment. Decompiling can be part of reverse engineering.
As the basic concept is that you are trying to find out HOW THINGS WORK under the covers, isn't it? I am a developer myself. I have been a developer for 12 years now and this is how I understand it. The example you gave here, I am not sure if we can even TRY to compare those two. First of all, when a company hires a developer (or a contractor) it usually states in the contract that all the work the person does BELONGS to the end client. Another thing is that I am sure that various patents were involved which changes things completely.
The view I have is that everyone can reverse engineer any software they got legally, look at the code, learn from it, borough ideas, but not REUSE it for commercial purposes. CodeMeister, I appreciate your comment. Decompiling can be part of reverse engineering. As the basic concept is that you are trying to find out HOW THINGS WORK under the covers, isn't it? I am a developer myself. I have been a developer for 12 years now and this is how I understand it. The example you gave here, I am not sure if we can even TRY to compare those two.
First of all, when a company hires a developer (or a contractor) it usually states in the contract that all the work the person does BELONGS to the end client. Another thing is that. IgnoredSo you don't intend to make money from trading?
Do you give the code and intellectual property back once you've finished 'borrowing' them? If the software is open source and/or released under a licensing agreement that permits you to re-use the code etc (e.g. LGPL, GPL, BSD etc.) then fine but you are talking about ignoring all license agreements and essentially thieving intellectual property. Don't get me wrong I'm all for open source but the cheap skates in retail FX don't even respect those licenses as my past experiences have taught me. Anyway I digress.
I was really just replying to tell that I'm 'borrowing' your house, car and the contents of your bank account. I just want to see how they work. I have no need to have any indicator decompiled so from that point I am neutral in dispute between coders and indicator users.
Like in every profession,in this case programming with MQL4, some programmers are more skilled than others and that might be reason why more skilled programmers wanted to hide their coding but casualty is end user of indicator.or skilled programmers have some personality issue.whatever. Maybe solution is to have legal obligation to programmers to provide source code but have right to charge fair price for it. If programmers refuse it then other side to have ability and right to decompile it.
Comments are closed.
|
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |