Jump to content

MegaDroid 1.1


Recommended Posts

  • Replies 752
  • Created
  • Last Reply

Top Posters In This Topic

Re: MegaDroid 1.1 craaacked

 

yuppi .... if you are serious, please read the ENTIRE posting, i.e. from page 1 to page 39 .... I read it when I first came here ... There are working versions in rapidshare and 4shared ....

 

think of it this way; people who really do GREAT contribution are spending their time to work collectively to greater results ... why bother them with small requests, just because you don't want to take the time?

Link to comment
Share on other sites

Re: MegaDroid 1.1 craaacked

 

Nobody can share a working Megadroid 1.1?

I asked already many times.

 

Visit here:

http://www.indo-investasi.com/viewtopic.php?f=6&t=2406&start=280

 

I use at live acc, before that you can try for demo acc

 

Happy trading

 

it keeps saying "authetication..." and does not open any trade.. how to get this to work?

Link to comment
Share on other sites

Re: MegaDroid 1.1 craaacked

 

good week for megadroid this week about 8% gain on account at risk of 20%

 

i ran on multi currency and got about 5.9% with risk of about 5% on each pair.

"It is inconceivable that anyone will divulge a truly effective get-rich scheme for the price of a book."

Victor Niederhoffer (1943–), US hedge fund manager and statistician

Link to comment
Share on other sites

Re: MegaDroid 1.1 craaacked

 

smartconsultant,

 

I'm in total agreement with you. I also want to know what's happening under the hood, not only because of my curiosity and desire to learn, but also because my real hard-earned money is at stake.

 

The decompiled MQL version helps us greatly to learn about what's going on inside. However with this EA there is also a DLL file, and it's a lot more difficult to figure it out. The file size is 196Kb, so there is a lot going on inside the DLL, whereas fapturbo3.dll is just 4Kb. The Fap turbo EA works without the DLL file (after some small changes) because all it does is phone home to do a license check. I'm not so sure whether it would be possible to run MegaDroid without the DLL file because, unless otherwise proven to be false, that could be where the AI and RCTPA stuff is happening.

 

Considering that this is one of the most successful EAs out of hundreds or thousands of EAs out there, and one that many claim is the only one they're using real money on, I think it would be worth the effort to spend the time and effort to learn as much as we can about it.

 

The fact that there is a version out that can trade non-EURUSD pairs means that the DLL has been cracked by someone somehow.

I don't know much about cracking/disassembling/decompiling, though I have been programming for over 10 years and have an Engineering degree. So maybe I could make some kind of attempt.

Where can we find out more about the cracking of this DLL?

Link to comment
Share on other sites

Re: MegaDroid 1.1 craaacked

 

...

Where can we find out more about the cracking of this DLL?

i found in the internet a very good tutorial aboud dissambling, but it is now over a year and i din't find it again,

but it was very good over 20 chapters i think, from very easy to difficult/hard, they have used ollydbg-dissambler for the tutorials, maybe it helps you to find it.

 

but IDA is much better, when you download the pseudocode plugin, you can read the code better and understand the logic in the dll-functions

 

you can find IDA over quicksearch.info, rapidlibrary.com, or other rapidshare search engines

Link to comment
Share on other sites

Re: MegaDroid 1.1 craaacked

 

yesterday in the evening i read the complete topic, and somebody write that to trade ohter pair the dll needs to be cracked, ... wtf???

 

from where shoud the dll know that the symbol is "EURUSD"????

the answer is easy, they are only 2 options:

 

1. global variable: the ea use global variable but not for this, and when, you change the global variables like you need it

2. you must give by herself the dll-functions the string EURUSD: and that is, it is in the s#_Init()-functions

 

if (s1_Init(Symbol(), lia_0, lia_4, lia_8, lia_12, lia_16, lia_20, lia_24, lia_28, lia_32, lia_36, lia_40, lda_44, lda_48, lda_52, lda_56, lia_60, lia_64, lia_68, lia_72, lia_76, lia_80))

 

the only thing that you must do is to change Symbol() in the String "EURUSD" in both s#_Init()-Functions like this

 

if (s1_Init("EURUSD", lia_0, lia_4, lia_8, lia_12, lia_16, lia_20, lia_24, lia_28, lia_32, lia_36, lia_40, lda_44, lda_48, lda_52, lda_56, lia_60, lia_64, lia_68, lia_72, lia_76, lia_80))

 

now you can trade on any pairs, thats it \m/

 

the problem is that the spread on other pairs is to big in the evening up to 5 Pips, i dont backtested it with such a spread, but before i must change the max spread limitation

Link to comment
Share on other sites

Re: MegaDroid 1.1 craaacked

 

Hi guys,

 

for the MD_1.11a_Multipair , how do I modify the expert to restrict the max spread eg. do not trade

if exceed 3 pips.

 

thnks. :)>-

Pls advice.

 

rgds

 

i have 30 min then i must go, maybe i find it in this time, then i post it

 

Edit:

 

the place where the ea decide which strategy he make is in the s#_setRules()-Funcions

this Part in the function, the variable gi_796 (i used the decompiled 1.11 version from this thread)

 

you must change gi_796 to FALSE in both s#_setRules()-Funcions then it trades the normal strategy,

i think there were a version of MD in this thread were you can give with the extern variable the max spread

 

...
  if (gi_380 > 0) {
    if (g_spread_568 > gi_380 * gd_580) {
        if (g_spread_572 < g_spread_568) {
           Print("Strategy1: Safe spread limit exceeded: spread = ", g_spread_568);
           if (gi_384)
              Print("Strategy1: Using DayDirection filter");
        }
        gi_796 = TRUE; // change this to FALSE
     } else
        gi_796 = FALSE;
  }
...

 

regards

Link to comment
Share on other sites

Re: MegaDroid 1.1 craaacked

 

yesterday in the evening i read the complete topic, and somebody write that to trade ohter pair the dll needs to be cracked, ... wtf???

 

There may be some truth in that. You can't be sure until you examine the DLL file. "EURUSD" certainly is hard-coded in the DLL file as you can see below:

 

 

//----- (10002B90) --------------------------------------------------------
_UNKNOWN *__stdcall sub_10002B90(double a1, double a2, double a3, double a4)
{
 _UNKNOWN *result; // eax@1

 dword_1002D7A0 = 15;
 dword_1002D79C = 0;
 byte_1002D78C = 0;
 sub_10007910(strlen("EURUSD"), (int)&unk_1002D788, "EURUSD");
 __asm
 {
   fld     [esp+4+arg_0]
   fstp    dbl_1002D7D0
   fld     [esp+4+arg_8]
   fstp    dbl_1002D7D8
 }
 dword_1002D7AC = 30;
 __asm { fld     [esp+4+arg_10] }
 dword_1002D7C4 = 30;
 dword_1002D7CC = 30;
 __asm
 {
   fstp    dbl_1002D7E0
   fld     [esp+4+arg_18]
 }
 dword_1002D7C0 = 70;
 __asm { fstp    dbl_1002D7E8 }
 dword_1002D7C8 = 70;
 dword_1002D7F8 = 23;
 dword_1002D800 = 23;
 result = &unk_1002D788;
 dword_1002D7A4 = 10;
 dword_1002D7A8 = 150;
 dword_1002D7B0 = 0;
 dword_1002D7B4 = 6;
 dword_1002D7B8 = 20;
 dword_1002D7BC = 8;
 dword_1002D7F0 = 3;
 dword_1002D7F4 = 21;
 dword_1002D7FC = 21;
 dword_1002D804 = 15;
 return result;
}

 

//----- (10002CA0) --------------------------------------------------------
_UNKNOWN *__stdcall sub_10002CA0(double a1, double a2, double a3, double a4)
{
 _UNKNOWN *result; // eax@1

 dword_1002D730 = 15;
 dword_1002D72C = 0;
 byte_1002D71C = 0;
 sub_10007910(strlen("EURUSD"), (int)&unk_1002D718, "EURUSD");
 __asm
 {
   fld     [esp+4+arg_0]
   fstp    dbl_1002D740
   fld     [esp+4+arg_8]
   fstp    dbl_1002D758
 }
 dword_1002D778 = 23;
 __asm { fld     [esp+4+arg_10] }
 dword_1002D780 = 23;
 __asm { fstp    dbl_1002D760 }
 result = &unk_1002D718;
 __asm { fld     [esp+4+arg_18] }
 dword_1002D734 = 15;
 __asm { fstp    dbl_1002D768 }
 dword_1002D738 = 150;
 dword_1002D73C = 30;
 dword_1002D748 = 0;
 dword_1002D74C = 36;
 dword_1002D750 = 168;
 dword_1002D754 = 275;
 dword_1002D770 = 3;
 dword_1002D774 = 22;
 dword_1002D77C = 22;
 dword_1002D784 = 5;
 return result;
}

 

Here is sub_10007910 into which "EURUSD" is passed by the functions above:

 

//----- (10007910) --------------------------------------------------------
int __userpurge sub_10007910<eax>(rsize_t a1<eax>, int a2<esi>, void *Src)
{
 unsigned int v2; // ecx@1
 int v3; // ebx@1
 void *v4; // ebp@1
 rsize_t v5; // edi@1
 int v6; // eax@2
 int v7; // eax@6
 int result; // eax@11
 void *v9; // eax@14
 char v10; // cf@16

 v2 = *(_DWORD *)(a2 + 24);
 v4 = Src;
 v5 = a1;
 v3 = a2 + 4;
 if ( v2 < 0x10 )
   v6 = a2 + 4;
 else
   v6 = *(_DWORD *)v3;
 if ( (unsigned int)Src < v6
   || (v2 < 0x10 ? (v7 = a2 + 4) : (v7 = *(_DWORD *)v3), v7 + *(_DWORD *)(a2 + 20) <= (unsigned int)Src) )
 {
   if ( sub_10007A10(a2, (void *)v5) )
   {
     if ( *(_DWORD *)(a2 + 24) < 0x10u )
       v9 = (void *)(a2 + 4);
     else
       v9 = *(void **)v3;
     memcpy_s(v9, v5, v4, v5);
     v10 = *(_DWORD *)(a2 + 24) < 0x10u;
     *(_DWORD *)(a2 + 20) = v5;
     if ( !v10 )
       v3 = *(_DWORD *)v3;
     *(_BYTE *)(v3 + v5) = 0;
   }
   result = a2;
 }
 else
 {
   if ( v2 >= 0x10 )
     v3 = *(_DWORD *)v3;
   result = sub_10006770((char *)Src - v3, v5);
 }
 return result;
}

 

At this stage I don't know what sub_10007910 is doing with the a1 input variable. Why has a1 been set to the value "EURUSD", and would a different value (e.g. "GBPUSD") produce a different result?

 

I wouldn't try it on other currency pairs until I can answer those questions. But I'm not interested in the answers to those questions right now. At the moment my goal is to find out what's going on in the DLL file and learn anything of value from it, such as any strategy logic if possible.

 

We really need some low-level programmers (especially crackers) in here.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...