Forex Factory
  • Login

  • Username: Password:
  • 2:14am

  • Search
  • Home

  • Forums

  • Trades

  • Calendar

  • News

  • Market

  • Brokers

Options

Search

Subscribe to Thread

Bookmark Thread

First Page First Unread Last Page Last Post

Printable Version

Similar Threads

Can't ever use EX4 files! help please? 4 replies

How can i do this please? mq4 -> ex4 5 replies

please Help me I have .ex4 format 9 replies

Mt4 to ex4 7 replies

Help on .ex4 extension 1 reply

  • Platform Tech
  • /
  • Reply to Thread

How to encrypt and protect ex4?

  • Post# 1
  • Quote
  • First Post: Nov 21, 2008 10:19am
  • metcalfe
    Joined Apr 2007 | 95 Posts | Status: Member
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
  • Ronald Raygun
    Joined Jul 2007 | 4,248 Posts | Status: 22 y/o Investor/Trader/Programmer
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
  • metcalfe
    Joined Apr 2007 | 95 Posts | Status: Member
There should be another way.... by dll or something else
  • Post# 4
  • Quote
  • Nov 21, 2008 10:36am
  • Ronald Raygun
    Joined Jul 2007 | 4,248 Posts | Status: 22 y/o Investor/Trader/Programmer
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
  • B@by trader
    Joined Jan 2008 | 684 Posts | Status: Member
Quoting metcalfe
There should be another way.... by dll or something else
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
  • LongToBeFree
    Infractions Overload | 369 Posts | Joined Oct 2008
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
  • MultiSync352
    Infractions Overload | 9 Posts | Joined Nov 2008
Quoting Ronald Raygun
Just about everything can be decompiled.

The alternative is to build a standalone application which you feed data and it spits out signals.
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
  • Ronald Raygun
    Joined Jul 2007 | 4,248 Posts | Status: 22 y/o Investor/Trader/Programmer
More miserable I agree, but not impossible.
  • Post# 9
  • Quote
  • Nov 21, 2008 3:29pm | Edited at 4:15pm
  • thatwasme
    Joined Feb 2008 | 352 Posts | Status: Member
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
  • Kenz987
    Joined Aug 2006 | 694 Posts | Status: Member
LongToBeFree:
Given this:
http://www.forexfactory.com/showthread.php?t=127336

None of this #$@!* is worth protecting anyway.. ;=))
  • Post# 11
  • Quote
  • Nov 21, 2008 11:16pm
  • Ronald Raygun
    Joined Jul 2007 | 4,248 Posts | Status: 22 y/o Investor/Trader/Programmer
Quoting thatwasme
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...
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
  • LongToBeFree
    Infractions Overload | 369 Posts | Joined Oct 2008
Quoting Kenz987
LongToBeFree:
Given this:
http://www.forexfactory.com/showthread.php?t=127336

None of this #$@!* is worth protecting anyway.. ;=))
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
  • Kenz987
    Joined Aug 2006 | 694 Posts | Status: Member
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
  • jordanknight
    Joined Oct 2007 | 32 Posts | Status: PrecisionTypeA Trader
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
  • joselb
    Joined Mar 2007 | 66 Posts | Status: Member
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
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...
  • Post# 16
  • Quote
  • Feb 17, 2013 12:02am
  • Ishtana
    Joined Aug 2012 | 160 Posts | Status: Give us this day our daily pips
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
  • Last Post: Feb 18, 2013 5:41pm
  • BlackOpz
    Joined Jan 2012 | 29 Posts | Status: FX SpyMaster - All Secrets Unlocked
Quoting joselb
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
http://private.thefxcode.com/mql_security.htm
Thread Tools Search this Thread
Show Printable Version Show Printable Version
Email This Thread Email This Thread
Search this Thread:

Advanced Search

  • Platform Tech
  • /
  • How to encrypt and protect ex4?
  • Reply to Thread
0 traders viewing now

©2013 Forex Factory, Inc. / Terms of Use / Privacy Policy

Forex Factory® is a registered trademark.

Connect

  • Facebook
  • Twitter
  • RSS

Company

  • About FF
  • FF Blog
  • Careers at FF
  • Advertising
  • Contact FF

Products

  • Forums
  • Trades
  • Calendar
  • News
  • Market
  • Brokers
  • Trade Explorer

Website

  • Homepage
  • Search
  • User Guide
  • Member List
  • Online Now
  • Report a Bug