Traders' Consortium: MQL4 Obfuscator - Traders' Consortium

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

MQL4 Obfuscator

#1 User is offline   Patrick Icon

  • New Contributor
  • Pip
  • Group: Premium Member
  • Posts: 20
  • Joined: 11-February 07

Posted 16 August 2007 - 11:13 PM

Sorry G if this is in the wrong spot :P

I made a new product for MT4 ( MetaTrader )and I could some tester :P
To sum it up, it is simply am MT4 code obfuscater which will reformat your original code to remove all your comments as well as make it harder for anyone to understand what it's supposed to do :P As usual I think it is a good idea but suggestions and comments are appreciated :)

Click Here
0

#2 User is offline   jose Icon

  • Administrator
  • PipPipPipPipPipPip
  • Group: Administrator
  • Posts: 717
  • Joined: 04-March 07
  • Real Name:Jose Silva

Posted 17 August 2007 - 10:57 AM

"Code obfuscater"? Sounds like you've crossed over to the dark side, P.

How about a "trade obfuscator" to go with it... that would complete the bewilderment curve for beginners. ;)


j '-)
0

#3 User is offline   StorkBite Icon

  • Administrator
  • PipPipPipPipPip
  • View blog
  • Group: Administrator
  • Posts: 452
  • Joined: 21-January 07
  • Real Name:George Stockman

Posted 18 August 2007 - 03:59 PM

Ok all you MT4 users... this is your call to arms! :)
0

#4 User is offline   jose Icon

  • Administrator
  • PipPipPipPipPipPip
  • Group: Administrator
  • Posts: 717
  • Joined: 04-March 07
  • Real Name:Jose Silva

Posted 18 August 2007 - 05:12 PM

Patrick said:

...code obfuscater which will reformat your original code to remove all your comments as well as make it harder for anyone to understand what it's supposed to do

OMG... Someone is already using the Obfuscator on MetaStock code! :thumbdown:


jose '-)
0

#5 User is offline   StorkBite Icon

  • Administrator
  • PipPipPipPipPip
  • View blog
  • Group: Administrator
  • Posts: 452
  • Joined: 21-January 07
  • Real Name:George Stockman

Posted 18 August 2007 - 07:00 PM

<cough> Be nice! :P
0

#6 User is offline   Patrick Icon

  • New Contributor
  • Pip
  • Group: Premium Member
  • Posts: 20
  • Joined: 11-February 07

Posted 19 August 2007 - 10:40 AM

View Postjose, on Aug 18 2007, 05:12 PM, said:

OMG... Someone is already using the Obfuscator on MetaStock code! :thumbdown:
jose '-)


:lol: There you go! you already found another use for it :D
Now it also gets rid of Jose's pesky copyright crap :P
0

#7 User is offline   jose Icon

  • Administrator
  • PipPipPipPipPipPip
  • Group: Administrator
  • Posts: 717
  • Joined: 04-March 07
  • Real Name:Jose Silva

Posted 19 August 2007 - 11:56 AM

Patrick said:

Now it also gets rid of Jose's pesky copyright crap :P

Yes, quite an annoyance this copyright business, hey P.
I guess from your point of view it would be a simpler world if we'd allow commercial software "developers" to take freely open code and re-sell it without any fear of copyright infringement prosecution. Then again, it would be a much simpler world if the original formulae and ideas weren't around to be copied and re-sold in the first place, which is exactly where we'd be without copyright protection.

Copyright allows us to share our hard-earned work within our community, and encourage the free exchange of ideas. Obfuscating code doesn't.


j '-)
0

#8 User is offline   TonyM Icon

  • Lively Contributor
  • PipPipPipPip
  • Group: Member
  • Posts: 142
  • Joined: 23-April 07
  • Real Name:Tony Morland

Posted 21 August 2007 - 02:44 AM

???? Obfuscator ????

.... er, yes, I also wonder if this thread is in the wrong place (maybe should be in Friday Funnies perhaps??), but I will assume that it is meant in all due seriousness, ….. however much or little that may be. :P

The whole concept of obfuscation is anathema to someone such as I who try to make my coding as clear and well documented as possible, but, let us ignore for a moment that this entire venture has a faint scent of BS (?o tal vez una caja grande de mierda de toro?), not to mention a hint of "the Dark Side", as Jose referred to it.

Having made this disclaimer, I will now launch myself wholeheartedly into this dubious venture and see where it might lead. ;)

The concept of "Code Obfuscation" comes naturally to some people, and I had the doubtful fortune or misfortune to work with one such gentleman some years ago. His name was Diamond, or at least that is what he had changed it to, for some reasons known only to himself. Perhaps he was acknowledging his own craziness. As in "Shine on you Crazy Diamond". Sorry, if you are too young to know Pink Floyd, in which case that is probably a bit meaningless to you, but doesn't matter.

Diamond was more or less clever in a sort of crazy twisted way. Oh, and by the way, this really is a true story, although to protect the innocent I will not divulge the location of where it happened. Anyway Diamond was a natural code obfuscator, par excellence. He wrote mostly in FORTRAN and he wanted his code to be intelligible to him, but not to anyone else. His system was that, for all major variables, he used the names of his former girlfriends, and for the minor variables, he used various of their attributes. Consequently all his code looked like some sort of mathematician’s erotic literature, and was basically unintelligible, although it generally worked OK.

So, in honor of my former work colleague Diamond, here is an updated version of.....

THE CODE OBFUSKiTIZATION ALGORITHM:

1) Remove all meaningful comments.
2) Remove all blank lines.
3) Remove all double spaces, indentations, and any layout that may have assisted in readability.
4) Use a global-replace command in a word processor to replace all meaningful variable names with your choice of:
a) Totally meaningless alphanumeric strings, and/or
b) Different but very similar looking variable names, such as ABC1XYZ, ABC2XYZ, ABC3XYZ, ABC987XYZ, etc, and/or
c) Words selected randomly from foreign language dictionaries, and/or
d) Assorted arcane and/or obscene words.
5) Insert frequent random meaningless & useless false comments at the end of lines or in between lines of genuine code.
These may include any or all of the following:
a) Totally meaningless jumbles of letters, numbers & symbols,
b) Quotes from literature or any other sources of your choice,
c) Absolutely anything else that is either meaningless or is designed to set a false trail.

The resultant code should still work just as well (or badly) as the original did, but should now be more or less completely and irretrievably unintelligible.

Never forget the 2nd Law of Thermodynamics, which basically says that in your kitchen it’s always easier to smash plates than to put them back together again, that in general the entropy of the universe tends to increase, and it’s easier to turn good code into obscurity than it is to do the opposite.

So, having taken this little "Walk on the Dark Side", and leaving you to wonder if you can create an inverse transform called the CODE DE-OBFUSKiTIZATION ALGORITHM, as well as to ponder if the real purpose of most virus writers is actually to move into selling anti-virus software when they get older, and to wonder if there may be any parallels between that and this, I now head off for a week at the Black Sea to chat with my friends from Transylvania and to rest my tired brain, or at least what's left of it after my day-job.


Cheers,
TonyM
;) :P :)
0

#9 User is offline   Marilyn Icon

  • New Contributor
  • Pip
  • Group: Member
  • Posts: 23
  • Joined: 31-March 07
  • Real Name:Marilyn

Posted 21 August 2007 - 09:18 AM

:lol: You guys crack me up... The long and short of it is that there are plenty of guys out there willing to take your mql4 file, crack it open and hand you the source for the paltry sum of $10. Now... if you are a developer do you make the cracked code nice and shiny and perfect so when the would be thief gets the source back they have no issue making small changes (like removing your copyright) and then reselling it?? Or... do you make it a huge pile of code they can't easily crawl through??

Obviously we all know that if someone wants to steal something they are going to find a way to do it... however... if it is more of a "open and recode as many as I can so I can make loads of money" kind of thing the hope is that rather than reformat and figure out all the code in the obfuscated file.. they will just move on to someone who isn't quite so clever... :D

I am sure you guys have noticed that the Forex traders of the world are a much different animal that the ones we know and love from the MetaStock world. For whatever reason it is a completely different market and people are more willing to do things like that which I am talking about... why not have one more tool at your disposal?? :)

Anyway.. how is everyone?? :) M
0

#10 User is offline   jose Icon

  • Administrator
  • PipPipPipPipPipPip
  • Group: Administrator
  • Posts: 717
  • Joined: 04-March 07
  • Real Name:Jose Silva

Posted 21 August 2007 - 10:18 AM

Hey Marilyn, how's your forex book coming along - on schedule for a release soon? Really looking forward to it - just don't let Patrick's obfuscator anywhere near your book! :-)

Tony, your DE-OBFUSKiTIZATOR idea sounds like one of those must-have tools - maybe it could help with de-obfuskitizating this MetaStock indicator code:

ObfuscatingFactor:=3.1415926535;Patrick:=Input("MAP",1,2600,21);Fernando:=Input("[1]E [2]S [3]Tm [4]T [5]V [6]Vl [7]W",1,7,2);jose:=If(Fernando=1,Mov(C,Patrick,E),If(Fernando=2,Mov(C,Patrick,S),If(Fernando=3,Mov(C,Patrick,T),If(Fernando=4,Mov(C,Patrick,TRI),If(Fernando=5,Mov(C,Patrick,VAR),If(Fernando=6,Mov(C,Patrick,VOL),Mov(C,Patrick,W)))))));Marilyn:=Input("FRP (auto = -1)",-1,2600,-1);Daniel:=LastValue(If(Marilyn<0,Int(Patrick/2),Marilyn));MetaStock:=Ref(jose,Daniel);Diamond2007:=Cum(IsDefined(MetaStock))=LastValue(Cum(IsDefined(MetaStock)));Diamond2007:=Diamond2007 AND alert(Diamond2007=0,2);MapRandomizerFactor:=Sin(C);SubPrimeLoans:=LastValue(MetaStock+PREV-PREV);SharkLoans:=Ref(Ref(SubPrimeLoans,Patrick-1),-Patrick+1);TradersConsortium:=Cum(IsDefined(SharkLoans))=1;HeyWTFisthisVariable:=(1+Sqrt(5))/2-1;WealthComesToThose:=SharkLoans+If(IsUndefined(MetaStock),ValueWhen(1,TradersConsortium OR Diamond2007,SharkLoans)-ValueWhen(1,TradersConsortium OR Diamond2007,Ref(SharkLoans,-1)),0)*BarsSince(TradersConsortium OR Diamond2007);George:=Input("PLK MA:  [1]D,  [2]V",1,2,1);TheHolyGrail:=If(George=1,WealthComesToThose,SharkLoans);TonyM:=Input("+/- %", 0,1000,5)/100;If(BarsSince(Diamond2007),TheHolyGrail,TheHolyGrail)*(1+TonyM);If(BarsSince(Diamond2007),TheHolyGrail,TheHolyGrail)*(1-TonyM);TheHolyGrail



jose '-)
0

#11 User is offline   Marilyn Icon

  • New Contributor
  • Pip
  • Group: Member
  • Posts: 23
  • Joined: 31-March 07
  • Real Name:Marilyn

Posted 21 August 2007 - 08:39 PM

:P The book is at the printer... I will have copies to give away in Vegas... :) Todd was kind enough to buy 100 copies for that show... we are also picking up some of Ed Ponsi's new book to hand out as well.

Gearing up for show season... I love it but it kills me.. :) By Dec I am going to be ready for that holiday in Paris..

:) M
0

#12 User is offline   Patrick Icon

  • New Contributor
  • Pip
  • Group: Premium Member
  • Posts: 20
  • Joined: 11-February 07

Posted 24 September 2007 - 08:39 PM

Well I have a new version out for whoever is interested ...
0

#13 User is offline   scf Icon

  • New Contributor
  • Pip
  • Group: Member
  • Posts: 1
  • Joined: 06-October 09
  • Real Name:Sergio

Posted 06 October 2009 - 07:35 PM

View PostPatrick, on 24 September 2007 - 08:39 PM, said:

Well I have a new version out for whoever is interested ...


Hello, i know this thread is old but can you still send me your MQL4 Obfuscator?
(I already sent you a PM with my mail address asking that)

Thanks.
0

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users