• Home
  • Forums
  • Trades
  • News
  • Calendar
  • Market
  • Brokers
  • Login
  • Join
  • User/Email: Password:
  • 6:32am
Menu
  • Forums
  • Trades
  • News
  • Calendar
  • Market
  • Brokers
  • Login
  • Join
  • 6:32am
Sister Sites
  • Metals Mine
  • Energy EXCH
  • Crypto Craft

Options

Bookmark Thread

First Page First Unread Last Page Last Post

Print Thread

Similar Threads

How to protect or lock .ex4 file? 5 replies

Need help with adding .mq4 and .ex4 files to MT4. 21 replies

Ex4 and EA programming 2 replies

Technical question.....problem with ex4 and TPL downloads! 4 replies

Loading a .ex4 on MT4! 2 replies

  • Platform Tech
  • /
  • Reply to Thread
  • Subscribe
Tags: How to encrypt and protect ex4?
Cancel

How to encrypt and protect ex4?

  • Last Post
  •  
  • Page 1 2
  • Page 1 2
  •  
  • Post #1
  • Quote
  • First Post: Nov 21, 2008 10:19am Nov 21, 2008 10:19am
  •  Metcalfe
  • | Joined Apr 2007 | Status: Member | 138 Posts
How can we encrypt and protect our ex4 file? I tried a software that decompile ex4 and worked. As I thought metaquotes doesn't seem that hard to decompile. I posted on their website the same question and guess what? They deleted my post....
So, any ideas
  • Post #2
  • Quote
  • Nov 21, 2008 10:30am Nov 21, 2008 10:30am
  •  Ronald Raygun
  • Joined Jul 2007 | Status: 32 y/o Investor/Trader/Programmer | 5,016 Posts
Don't distribute the .ex4

That's the best way to prevent anyone from stealing the logic. If your goal is to sell a system, then don't distribute the system itself, just find a way to quickly and automatically distribute the signals.
 
 
  • Post #3
  • Quote
  • Nov 21, 2008 10:35am Nov 21, 2008 10:35am
  •  Metcalfe
  • | Joined Apr 2007 | Status: Member | 138 Posts
There should be another way.... by dll or something else
 
 
  • Post #4
  • Quote
  • Nov 21, 2008 10:36am Nov 21, 2008 10:36am
  •  Ronald Raygun
  • Joined Jul 2007 | Status: 32 y/o Investor/Trader/Programmer | 5,016 Posts
Just about everything can be decompiled.

The alternative is to build a standalone application which you feed data and it spits out signals.
 
 
  • Post #5
  • Quote
  • Nov 21, 2008 11:10am Nov 21, 2008 11:10am
  •  [email protected] trader
  • | Joined Jan 2008 | Status: Member | 730 Posts
Quoting metcalfe
Disliked
There should be another way.... by dll or something else
Ignored
DLL is easier to be decompiled than Ex4 :-)
the best way is like ronald suggest or the other nature way is play with the code :-)
 
 
  • Post #6
  • Quote
  • Nov 21, 2008 11:16am Nov 21, 2008 11:16am
  •  LongToBeFree
  • | Membership Revoked | Joined Oct 2008 | 613 Posts
MQL is a savvy enough language where you could have a machine that sends out signals to email or FTP and then you write another program to interpret that data and then send it out.

I'm currently working on a system where my EA signals are interpreted and then sent out to a mass e-mail list. That gives signals without having to "protect" any code.

As for encryption, I don't think there's a way to do that OOTB. We would need support on the MQL side in a future release to add a encrypt/decrypt utility for the code itself.
 
 
  • Post #7
  • Quote
  • Nov 21, 2008 2:36pm Nov 21, 2008 2:36pm
  •  MultiSync352
  • | Membership Revoked | Joined Nov 2008 | 16 Posts
Quoting Ronald Raygun
Disliked
Just about everything can be decompiled.

The alternative is to build a standalone application which you feed data and it spits out signals.
Ignored
Nice point Ronald, but if you create few .dll files, life will be more misserable for decompilers.
 
 
  • Post #8
  • Quote
  • Nov 21, 2008 3:13pm Nov 21, 2008 3:13pm
  •  Ronald Raygun
  • Joined Jul 2007 | Status: 32 y/o Investor/Trader/Programmer | 5,016 Posts
More miserable I agree, but not impossible.
 
 
  • Post #9
  • Quote
  • Edited 4:15pm Nov 21, 2008 3:29pm | Edited 4:15pm
  •  thatwasme
  • Joined Feb 2008 | Status: Member | 403 Posts
The real problem as is the problem with all executables is that by placing the executable in a debugging environment and letting it run, any type of dll or server input from the host of the executable will all be loaded in real time. and can be manipulated in a good debugger. One help is to constantly change info that is required by a DLL, but the commands to request that info will reamin the same within the DLL on the client computer. So Bottom line is that there is really no way to prevent a crack of any executable program, not just EX4. Although with each new update of MT4, the encryption key is changed also and this is a multi pass executable, which thwarts a lot of the decompiling with each new update.
Perhaps one big improvement would be to do something similar to what Microsoft does in verifying a legitimate copy of the EX4 each time it is loaded. Unfortunately this would be both costly to develop and even more costly to maintain. Not something suitable for a free product to the client.

If someone wants the code, it can be done no matter what safe gaurds.
That which is held secret can be made known.

Another thwart is to simply make a lot of functions that are only accessed once each . The larger the command structure, the more multipassing in the compile. This means an exponentially larger decompile environment. Which will limit the decompile to larger machine memory with faster cpus. It is not a fix, only a hinderance to the crack.

Ronald's approach is probably best. Run it from your server and do not distribute the executable.
It is amazing to me the lack of regard for intellectual property in the world. If some one stole your car, they would go to jail. I they steal your code, it may not even be a crime if they did not sign a EULA.

Of course Ronald's idea can be made for evil to. Imagine I am interested in your EX4 and I purchase it from you. I really don't even need to worry about decompiling or validation. I just load it on a Demo account and give access to those I want to let use it, and they use an account copier.

There is no security at all. I don't think Metatrader even had that in mind. I believe Metatrader was designed as a marketing tool for FX dealers to get new customers. I really think this industry built on selling EX4s is flawed from the beginning, because the entire industry is built on a false premise. No large trader would even consider using a commercial product designed for Metatrader. So this limits the customer base to retail and very small retail at that. Thus the $97 ClickBank crap.

Metatrader is a great little charting program if that is all it is used for.
 
 
  • Post #10
  • Quote
  • Nov 21, 2008 10:25pm Nov 21, 2008 10:25pm
  •  Kenz987
  • Joined Aug 2006 | Status: Member | 737 Posts
LongToBeFree:
Given this:
http://www.forexfactory.com/showthread.php?t=127336

None of this #[email protected]!* is worth protecting anyway.. ;=))
 
 
  • Post #11
  • Quote
  • Nov 21, 2008 11:16pm Nov 21, 2008 11:16pm
  •  Ronald Raygun
  • Joined Jul 2007 | Status: 32 y/o Investor/Trader/Programmer | 5,016 Posts
Quoting thatwasme
Disliked
Ronald's approach is probably best. Run it from your server and do not distribute the executable.
It is amazing to me the lack of regard for intellectual property in the world. If some one stole your car, they would go to jail. I they steal your code, it may not even be a crime if they did not sign a EULA.

Of course Ronald's idea can be made for evil to. Imagine I am interested in your EX4 and I purchase it from you. I really don't even need to worry about decompiling or validation. I just load it on a Demo account and give access to those I...
Ignored
That's mainly the reason why I release for source code for anything I put here on ForexFactory. All of my private EAs, indicators and scripts I never give out for any reason.

It's pretty easy for me to decompile EAs, indicators, and scripts now using a debugger as was mentioned earlier. And frankly, if it's relatively easy for someone like me--who isn't really a hard core programmer to begin with--to do that, I wonder how easily and more importantly, how quickly a professional programmer can do it.



My suspicion is that you want to sell your .ex4. That's perfectly fine, I don't really care if you sell it or not. Just know that as with every other program out there, it can be broken. It's not a matter of if, it's a matter of when.
 
 
  • Post #12
  • Quote
  • Nov 22, 2008 5:23pm Nov 22, 2008 5:23pm
  •  LongToBeFree
  • | Membership Revoked | Joined Oct 2008 | 613 Posts
Quoting Kenz987
Disliked
LongToBeFree:
Given this:
http://www.forexfactory.com/showthread.php?t=127336

None of this #[email protected]!* is worth protecting anyway.. ;=))
Ignored
Are you sure you're reporting that fairly?

All currently posted systems sucking has nothing to do with protecting your work. I have written a bunch of EAs/indicators for people that send me requests or post them here. I'm interested in protecting that in spite of any other statements.
 
 
  • Post #13
  • Quote
  • Dec 3, 2008 7:08pm Dec 3, 2008 7:08pm
  •  Kenz987
  • Joined Aug 2006 | Status: Member | 737 Posts
Something I have used is hashing a logon name with the computer name and/or volume id. No user in his right mind is going to give you his Account number, altho acct name maybe. But that is not needed. You can create a hash formula with either of these functions that will do an ok job of stopping wanna-be hackers. Nothing stops real hackers.
Here's the calls in VB lingo. Sorry I don't have it in C.:
Declare Function GetComputerName Lib "kernel32" _
Alias "GetComputerNameA" _
(ByVal lpBuffer As String, nSize As Long) As Long
Declare Function GetVolumeInformation Lib "kernel32" _
Alias "GetVolumeInformationA" _
(ByVal lpRootPathName As String, _
ByVal lpVolumeNameBuffer As String, _
ByVal nVolumeNameSize As Long, _
lpVolumeSerialNumber As Long, _
lpMaximumComponentLength As Long, _
lpFileSystemFlags As Long, _
ByVal lpFileSystemNameBuffer As String, _
ByVal nFileSystemNameSize As Long) As Long
.
ps1: RE: Prior post - I actually wasn't trying to be fair, just add a little humor. That's why the ;=)).
ps2: There is NO freedom in software support or signal serviceing.
 
 
  • Post #14
  • Quote
  • Jun 22, 2009 6:03am Jun 22, 2009 6:03am
  •  jordanknight
  • | Joined Oct 2007 | Status: PrecisionTypeA Trader | 32 Posts
Most decompilers out there simple use mql4 decompiling software or get someone with one to do for them. The cost of DLL decompilation is high unless one personally has the skills/knowledge. Often, decompilation is done to re sell the system and this is where the greatest damage comes in. When DLL is involved, the higher cost is not justified.

The source code must be encrypted in the DLL itself, not just validation via DLL. This way, the process of decompiling is made tougher/costlier. Multiple DLLs can be used and that makes decompiling even trickier.

RapidForex Ironclad offers such encryption service with reasonable cost...
Adaptive autotrading is the future...
 
 
  • Post #15
  • Quote
  • Jun 29, 2009 4:56pm Jun 29, 2009 4:56pm
  •  joselb
  • | Joined Mar 2007 | Status: Member | 67 Posts
Please, can you tell me what´s the RapidForex Ironclad website or how to contact this people?
My email tronss gmail com

Thanks a lot

Quoting jordanknight
Disliked
Most decompilers out there simple use mql4 decompiling software or get someone with one to do for them. The cost of DLL decompilation is high unless one personally has the skills/knowledge. Often, decompilation is done to re sell the system and this is where the greatest damage comes in. When DLL is involved, the higher cost is not justified.

The source code must be encrypted in the DLL itself, not just validation via DLL. This way, the process of decompiling is made tougher/costlier. Multiple DLLs can be used and that makes decompiling even trickier.

RapidForex...
Ignored
 
 
  • Post #16
  • Quote
  • Feb 17, 2013 12:02am Feb 17, 2013 12:02am
  •  Ishtana
  • | Commercial Member | Joined Aug 2012 | 313 Posts
I've seen a lot of forex programs using the license code to protect their system. My MT4 just shuts down when I tried using them without the code. Is this pretty the best protection there is out there for system sellers?
 
 
  • Post #17
  • Quote
  • Feb 18, 2013 5:41pm Feb 18, 2013 5:41pm
  •  BlackOpz
  • | Joined Jan 2012 | Status: FX SpyMaster - All Secrets Unlocked | 52 Posts
Quoting joselb
Disliked
Please, can you tell me what´s the RapidForex Ironclad website or how to contact this people?
My email tronss gmail com

Thanks a lot
Ignored
http://private.thefxcode.com/mql_security.htm
 
 
  • Post #18
  • Quote
  • Dec 20, 2014 8:02am Dec 20, 2014 8:02am
  •  beonline
  • | Joined Jan 2012 | Status: Junior Member | 3 Posts
Here is the best solution.
http://www.ninjamql4lock.com/
 
 
  • Post #19
  • Quote
  • Jun 4, 2015 3:43pm Jun 4, 2015 3:43pm
  •  chris29essex
  • | Joined Jan 2015 | Status: Junior Member | 3 Posts
http://www.ninjamql4lock.com/ sounds like they keep your file on their server and just give you back a referral ex4 that will relate back to your real ex4 on their server for function and logic. Requiring a code for uses to connect and use.

This does not give you any driving seat of protection as they could be playing with it etc behind your back.
 
 
  • Post #20
  • Quote
  • Jun 5, 2015 2:28am Jun 5, 2015 2:28am
  •  Mingary
  • Joined Mar 2011 | Status: I should be on your ignore list | 5,595 Posts
I understand that one should safeguard one's intellectual property.
I don't understand why anyone would want to buy a protected indicator / system.
Not only it will lose you money, but having to pay for it adds insult to injury.
 
 
  • Platform Tech
  • /
  • How to encrypt and protect ex4?
  • Reply to Thread
    • Page 1 2
    • Page 1 2
0 traders viewing now
  • More
Top of Page
  • Facebook
  • Twitter
About FF
  • Mission
  • Products
  • User Guide
  • Media Kit
  • Blog
  • Contact
FF Products
  • Forums
  • Trades
  • Calendar
  • News
  • Market
  • Brokers
  • Trade Explorer
FF Website
  • Homepage
  • Search
  • Members
  • Report a Bug
Follow FF
  • Facebook
  • Twitter

FF Sister Sites:

  • Metals Mine
  • Energy EXCH
  • Crypto Craft

Forex Factory® is a brand of Fair Economy, Inc.

Terms of Service / ©2023