tag:blogger.com,1999:blog-5349803995745917014.post3494934934788817632..comments2024-03-25T14:13:15.190-07:00Comments on eMule MoDs: TuoTu 3.3.112Reconhttp://www.blogger.com/profile/06503028238011791604noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-5349803995745917014.post-31512342829722806622008-12-10T22:07:00.497-08:002008-12-10T22:07:00.497-08:00TuoTu 3.4 Beta The first clever Multidownloader wi...TuoTu 3.4 Beta <br>The first clever Multidownloader with eMule support and Random Modstring to avoid getting banned by DLP eMule Clients<br><br>using send modname:<br><br>This is a nice feature to prevent being banned by AntiLeech DLP detection as used in Xtreme, VeryCD, MorphXT (based) mods. As you are forced to send them a Modstring when using features with additional tags like ICS and static ModIDs are easily to bann, this code creates a random modstring once per sessions.<br><br>The format is rather flexible. Send a Modstring with version number and differing version prefixes. <br><br>Sample Modstrings:<br><br><br>11.12.2008 09:21:38: cu5lY9v 4.8a<br>11.12.2008 09:37:29: 9cS1iR7n5d r2.12<br><br>The code is placed in Preferences.cpp/.h and can be called from nearly everywhere (baseclient.cpp , ...) when needed to the eMule protocol indent.<br><br>Preferences.cpp<br><br>CString CPreferences::m_strSessionModstring;<br>CString CPreferences::GetSessionModString()<br>{<br> if (!m_strSessionModstring.IsEmpty())<br> return m_strSessionModstring;<br> //<br> // Create the Modstring name<br> int i, maxchar;<br> m_strSessionModstring.Empty();<br><br> maxchar = 4+(rand()%9); // min length == 4 chars, max length (4+9-1) == 12 chars<br> i = 0;<br> while (i < maxchar)<br> {<br> int iRand = rand()%3;<br> switch(iRand){<br> case 0:<br> m_strSessionModstring.AppendFormat(_T("%c"), _T('A')+rand()%26); // Capitals<br> case 1:<br> m_strSessionModstring.AppendFormat(_T("%c"), _T('0')+rand()%10); // Numbers<br> case 2:<br> default:<br> m_strSessionModstring.AppendFormat(_T("%c"), _T('a')+rand()%26); // lower case<br> }<br> i++;<br><br> if (m_strSessionModstring.GetLength() >= maxchar)<br> break;<br> }<br> //<br> // Add a prefix to the version number<br> i = rand()%5;<br> switch (i){<br> case 0: m_strSessionModstring.Append(_T(" V")); break;<br> case 1: m_strSessionModstring.Append(_T(" v")); break;<br> case 2: m_strSessionModstring.Append(_T(" r")); break;<br> case 3: m_strSessionModstring.Append(_T(" R")); break;<br> default:<br> case 4: m_strSessionModstring.Append(_T(" ")); break;<br> }<br> //<br> // Add the version number<br> m_strSessionModstring.AppendFormat(_T("%c.%c%c"), _T('0')+rand()%10, _T('0')+rand()%10, (rand()%2 ? _T('0')+rand()%10 : _T('a')+rand()%7));<br> //<br> // This will return a ModID Name consisting of ModVersion + 1.00 or 1.0a<br> return m_strSessionModstring;<br>}<br><br><br>Preferences.h<br>Code:<br>static CString m_strSessionModstring;<br>static CString GetSessionModString();Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-5349803995745917014.post-9383305437710516762008-12-11T06:41:30.467-08:002008-12-11T06:41:30.467-08:00Patch is not perfectfor the modstring/namesearchOP...Patch is not perfect<br><br>for the modstring/name<br><br>search<br>OP__EmuleInfoAnswer OP__EmuleInfo<br>follow by 00 00 00<br><br>begin editing by<br>56 00 65 00 72 00 79 00 43 00 44 00 20 00 30 00 25 00 75 00 00 00<br><br>is the modname<br>(dev possible mean spoof vc could gain something but it does produce a fake modstring which is punish in antileech)Anonymousnoreply@blogger.com