Programmers reverse engineering my code

Created at 09 Apr 2023, 11:44
How’s your experience with the cTrader Platform?
Your feedback is crucial to cTrader's development. Please take a few seconds to share your opinion and help us improve your trading experience. Thanks!

Programmers reverse engineering my code
09 Apr 2023, 11:44


Hi

I created a very profitable cBot. When I didn't have a free testing version (with the Expiration date in the code) for the user to try it out first, I was getting emails from programmers. They said they can help me add the code for expiration date and so on. I did that. Then I gave my cBot to them WITHOUT THE SOURCE CODE.

The Expiration date code works. It is in the OnStart and in the OnTick section.

Now they are reverse engineering my very profitable cBot and making fun of me.

Can someone please help me make my cBot more difficult for reverse engineering? Please. Thanks.

 

I tried to find this in cTrader but I couldn't find it :

To obfuscate your cBot code in cTrader, you can use the built-in obfuscation tool provided by the platform. To access it, open your cBot project and go to the "Tools" menu, then select "Obfuscate code". This will open a dialog box where you can select the options for obfuscating your code, such as renaming variables and functions, removing comments, and compressing the code.

Once you have selected the options you want, click the "Obfuscate" button to start the process. The obfuscated code will be saved in a new file, which you can use instead of the original code. Keep in mind that while obfuscation can make it harder to reverse engineer your code, it is not foolproof and determined attackers may still be able to understand your code with enough effort.

 

This is why I downloaded www.gapotchenko.com/eazfuscator.net     Eazfuscator.NET (I also tried with the .NET reactor but I can't add the cbots file)

I hope this is correct and now it will be more difficult to reverse engineer my cBot ? Can someone reply to me and help me out?

 


@algorithmic.trading.eu_gmail.com
Replies

firemyst
10 Apr 2023, 15:53 ( Updated at: 21 Dec 2023, 09:23 )

RE:

algorithmic.trading.eu_gmail.com said:

Hi

I created a very profitable cBot. When I didn't have a free testing version (with the Expiration date in the code) for the user to try it out first, I was getting emails from programmers. They said they can help me add the code for expiration date and so on. I did that. Then I gave my cBot to them WITHOUT THE SOURCE CODE.

The Expiration date code works. It is in the OnStart and in the OnTick section.

Now they are reverse engineering my very profitable cBot and making fun of me.

Can someone please help me make my cBot more difficult for reverse engineering? Please. Thanks.

 

I tried to find this in cTrader but I couldn't find it :

To obfuscate your cBot code in cTrader, you can use the built-in obfuscation tool provided by the platform. To access it, open your cBot project and go to the "Tools" menu, then select "Obfuscate code". This will open a dialog box where you can select the options for obfuscating your code, such as renaming variables and functions, removing comments, and compressing the code.

Once you have selected the options you want, click the "Obfuscate" button to start the process. The obfuscated code will be saved in a new file, which you can use instead of the original code. Keep in mind that while obfuscation can make it harder to reverse engineer your code, it is not foolproof and determined attackers may still be able to understand your code with enough effort.

 

This is why I downloaded www.gapotchenko.com/eazfuscator.net     Eazfuscator.NET (I also tried with the .NET reactor but I can't add the cbots file)

I hope this is correct and now it will be more difficult to reverse engineer my cBot ? Can someone reply to me and help me out?

 

The first question is are .algo files still "encrypted" regardless of the platform (eg, .Net Framework or .Net 6)?

Last time I spoke and asked @PanagiotisChar about obfuscation in compilation, he said it wasn't possible. So if that's still the case, you'd have to build your source code, then copy/paste it into another project, obfuscate it there within the editor, and then build it to a .algo file.

Read this thread for more information:

 

 


@firemyst

SmartRetailTradingRobot
25 Jul 2023, 14:02 ( Updated at: 21 Dec 2023, 09:23 )

RE: RE:

firemyst said: 

algorithmic.trading.eu_gmail.com said:

Hi

I created a very profitable cBot. When I didn't have a free testing version (with the Expiration date in the code) for the user to try it out first, I was getting emails from programmers. They said they can help me add the code for expiration date and so on. I did that. Then I gave my cBot to them WITHOUT THE SOURCE CODE.

The Expiration date code works. It is in the OnStart and in the OnTick section.

Now they are reverse engineering my very profitable cBot and making fun of me.

Can someone please help me make my cBot more difficult for reverse engineering? Please. Thanks.

 

I tried to find this in cTrader but I couldn't find it :

To obfuscate your cBot code in cTrader, you can use the built-in obfuscation tool provided by the platform. To access it, open your cBot project and go to the "Tools" menu, then select "Obfuscate code". This will open a dialog box where you can select the options for obfuscating your code, such as renaming variables and functions, removing comments, and compressing the code.

Once you have selected the options you want, click the "Obfuscate" button to start the process. The obfuscated code will be saved in a new file, which you can use instead of the original code. Keep in mind that while obfuscation can make it harder to reverse engineer your code, it is not foolproof and determined attackers may still be able to understand your code with enough effort.

 

This is why I downloaded www.gapotchenko.com/eazfuscator.net     Eazfuscator.NET (I also tried with the .NET reactor but I can't add the cbots file)

I hope this is correct and now it will be more difficult to reverse engineer my cBot ? Can someone reply to me and help me out?

 

The first question is are .algo files still "encrypted" regardless of the platform (eg, .Net Framework or .Net 6)?

Last time I spoke and asked @PanagiotisChar about obfuscation in compilation, he said it wasn't possible. So if that's still the case, you'd have to build your source code, then copy/paste it into another project, obfuscate it there within the editor, and then build it to a .algo file.

Read this thread for more information:

 

 

 

Please correct me, but here's the thing. Obfuscation is supposed to make the code hard to read for humans. If you use ctrader's API library, since you don't want to reinvent everything, but the code should be easy to follow despite obfuscation. You would have to create every function in your program yourself to make the code so unintelligible that a programmer wouldn't feel like digging into it. 


@SmartRetailTradingRobot