decompilation protection - page 5

 

How about selling an Expert Advisor that solely works on signals that it receives in real time from a server that only it knows about ?

The trading part should be written in MCL, working with a signals server and all relevant data should be stored in a dll ?

It is possible to disassemble everything of course, but the procedure of recognizing friend-or-foe can be made so that it is not so easy to determine in the assembly code.

Of course, we can buy such a good thing and then simply distribute signals on performed deals. But then you can use pamm as well.

 
Pamms are so hard to use, but investment passwords are.
 
Yurixx >> :

What if you sell an EA that solely works on signals it receives in real time from a server only it knows? {...}

Netstat - shows all Tcp/Ip connections.

Sysinternals TdiMon - shows which program is exchanging data with which Ip address.

But that's all bullshit -->.

Tcp/Ip sniffer, Ethereal / Whiteshark - shows where, to whom and what protocol it sends

computer data with the ability to view specific requests/responses/packets.

 

If you access the pam through MT4, what's so difficult? You can even attach your owlet to it to automatically track new trades and send signals to the list. It's the same as the investment password. But if it is not my PAMM account, but somebody else's, then who will give me the investment password?

 
Encryption saves you from peeking into packets. You can see from where to where, but what's inside is more difficult.
 

Yurixx писал(а) >>

But then you can also use PAMM in the same way.

PAMM cannot be used in this way - there is no access to online monitoring.

 
Yurixx >> :

If you access the pam through MT4, what's so difficult? You can even attach your owlet to it to automatically track new trades and send signals to the list. It's the same as the investment password. If it is not my own PAMM account, but somebody else's, who will give me the investment password?

Sell someone else's paid signals - it's a well-established business. :) Social engineering techniques are at work.

 
jartmailru писал(а) >>

Tcp/Ip sniffer, Ethereal / Whiteshark - shows where, to whom and over what protocol the computer sends

computer with the ability to view specific requests/responses/packets.

And if these "requests/responses/packets" are encrypted? With some pgp key ?

 
Yurixx >> :

What if these "requests/answers/packets" are encrypted? With some pgp key?

In any case, signals will be handled in investor's account no matter how encrypted they are delivered.

From this account they will make copying-selling. There is no escape from pirates.

 

Let's take a look at the main types of experts' protections :

A) Internal terminal functions only

1) Binding to demo - "bool IsDemo()" - useless, all embedded functions in the decompiled code are disabled - not suitable

2) Binding to "int AccountNumber()" - provided that the account number will not be compromised, which is unlikely, so it does not work either.

3) Restriction by time - "int Day()", "datetime TimeCurrent()", useless, built-in functions, but there is an array "datetime Time[]",

that can be decoded in Expert Advisor and extract the day, month and year, and then implemented in a trading rule. Do not return signals

in the case of "expiration" of the Expert Advisor. The subject of implementation is a separate topic. Pros - you can test it.

B) Functions in the dll:

1) Demo - no access to functions in dll, while passing through Expert Advisor is useless. The same applies to the account number.

If Metatrader gave sdk to terminal, it would be possible to link to it.

2) But you can integrate the trading function in a dll, and there check licenses, binding to hardware, etc.

It's hard to crack dll packed in virtual machine with Themid or vmprotect.

--

To sum it up: For today I see only way 3, plus obfuscation of trading function, manually,

but better with automatons. Or an urgent rewrite for mt5, while there is no decompiler, but it will take half a year or more.


PS. I have a bad feeling that in mt5 again the bytecode. Recently I was comparing performance of mt5 and mt4.

If in 4 it took 90M operations per second to increment an integer variable, in 5 it took 280M operations.

And the compiled code in delphi is dozens of times bigger than in 5.