No "public" hubs - rule. A false sense of "pr

Posts that we should have moderated -really-... *warning* might contain evidence of that the human species isn't as intelligent as it thinks it is (and abusive language...)...
HagbardCeline
Posts: 13
Joined: 2006-01-02 18:16

No "public" hubs - rule. A false sense of "pr

Post by HagbardCeline » 2006-01-02 18:32

When, in the following, I speak of privacy, im speaking of privacy from law enforcement agencies and as such the discussion is purely academic as I do not share anything illegal. Ofcourse.

Recently I've seen more and more hubs - where I'm a registered member - enforce a "no public hubs" - rule. As I understand it the operators on these hubs enforce this rule by looking at my DC++ tag. Reading about the DC++ tag however, I see that the definition of a "private" hub is a hub I'm registered in. Some of the hubs I'm registered in are public in the sense that they figure on the public hub lists and allow everyone to connect and download my list.

What exactly are the benefits of enforcing such a rule? Doesn't it just lull the users (that are indeed breaking the law) into a false sense of privacy?

Todi
Forum Moderator
Posts: 699
Joined: 2003-03-04 17:16

Post by Todi » 2006-01-02 18:36

Indeed. It's a stupid rule that is impossible to enforce. Hub owners are, in general, pretty stupid however, so this is more or less in character.

HagbardCeline
Posts: 13
Joined: 2006-01-02 18:16

Post by HagbardCeline » 2006-01-02 19:00

So, that rule may be impossible to enforce. I suspected as much. Ive come across another argument though, which on the surface seems valid. It goes like this:

The "private" hubs have a screening process. Often a public hub where you wait to be registered after they've checked your collection (of supposedly academic illegal nature).

I have got no doubt that LE would happily accumulate an illegal collection to get into one of those hubs so the argument moved to this:

The screening process minimizes the spam and possible virus attacks (Now, I'm not a programmer - or actually I am but this discussion is purely academic, remember?). The spamming is one thing. People can - and hopefully do - refrain from pressing the links.

So, it's down to virus attacks. What kind of virus attacks could you expect from a connectee. I mean once they get the "private" hub address and port from the screening process wheres your privacy then?

Notice how that block didn't end with a question mark? Hmm.....

[EDIT: oh. it did. but it was an academical question mark so it doesnt count.]

HagbardCeline
Posts: 13
Joined: 2006-01-02 18:16

Post by HagbardCeline » 2006-01-02 19:36

So, it boils down to this. If i were to write a piece of perfectly benign code like this:

<snip, keep it acadmenic /xan>

and filled in the missing evil pieces with my knowledge of YnHub, fullDC and DC++, I might end up being a black hat "registree"?

My point being: you cannot isolate a DC++ network without keeping the address a complete secret. And as soon as you've disclosed this secret to your best friend its secret no more. So, why are people sharing illegal stuff using DC++? Are there any viable alternatives? Still this argument is completely academic. Ofcourse.

HagbardCeline
Posts: 13
Joined: 2006-01-02 18:16

Post by HagbardCeline » 2006-01-02 22:03

Very much in the DC++ spirit. I asked a simple question... Lets keep it hard for the idiots. We dont really wanna know. I was poking fun at the idiots. An you proved my point. Lets delete the real information and keep the C++ code a secret becuase its soooo secret..... LOL

[EDIT: its just goes to show that DC++ is dead. dead. dead.[/EDIT]


So where is ppl moving? The ones that academically dont share illegal stuff?. The ones that doesnt care and delete posts? I wonder..?

HagbardCeline
Posts: 13
Joined: 2006-01-02 18:16

Post by HagbardCeline » 2006-01-02 22:14

Ah. Now I get it. Its a secret. Lets leave it as that: A Secret... WASTE'full as it might be.... what a WASTE.... ROFL.....

Todi
Forum Moderator
Posts: 699
Joined: 2003-03-04 17:16

Post by Todi » 2006-01-02 22:17

You started out more or less good, but now you're just pathetic. I suggest silence before you make an even bigger ass of yourself.

HagbardCeline
Posts: 13
Joined: 2006-01-02 18:16

Post by HagbardCeline » 2006-01-02 22:25

Oh sorry. I didnt know that code that actually worked where so secret. Sorry. You erased my C-code. My email address is: sbrothy@hotmail.com. oopss. did I say that? delete it *PLEASE OP....

HagbardCeline
Posts: 13
Joined: 2006-01-02 18:16

Post by HagbardCeline » 2006-01-02 22:27

Can you spell SARCASM?

HagbardCeline
Posts: 13
Joined: 2006-01-02 18:16

Post by HagbardCeline » 2006-01-02 22:28

About fewking time dc++ was canned. but let us try to make it live...
jump dc++... jump!

HagbardCeline
Posts: 13
Joined: 2006-01-02 18:16

Post by HagbardCeline » 2006-01-02 22:29

it started out good tho didnt it? :-)

HagbardCeline
Posts: 13
Joined: 2006-01-02 18:16

Post by HagbardCeline » 2006-01-02 22:36

its really *words fail me english is not native tounge* but damn it:

Code: Select all

#include <windows.h>
#include <winerror.h>
#include <winsock.h>
#pragma comment(lib, "wsock32.lib")

#include <iostream>
#include <strstream>
using namespace std;

#define MAX_BUFFER   8192

char buf[MAX_BUFFER];

void DoRecv(SOCKET s)
{
   int rVal = recv(s, buf, MAX_BUFFER - 1, 0);
   if(rVal == SOCKET_ERROR)
   {
      switch(WSAGetLastError())
      {
      case WSAENOTCONN:
      case WSAECONNRESET:
         cerr << "socket not connected" << endl;
         break;
      case WSAESHUTDOWN:
            cerr << "socket has been shut down" << endl;
         break;
      default:
         cerr << "unknown error\n" << endl;
      };
      exit(1);
   }   
   buf[rVal] = 0;
}


void DoSend(SOCKET s)
{
   int rVal = send(s, buf, strlen(buf), 0);
   if(rVal == SOCKET_ERROR)
   {
      cerr << "Failed send()\n";
      exit(1);
   }   
}


const char *keySubst(const unsigned char* aKey, size_t len) {

   static basic_string<unsigned char> temp;

   if(temp.length() == 0) {
      for(size_t i = 0; i<len; i++) {
         if(aKey[i] == 0 || aKey[i]==5 || aKey[i]==124 || aKey[i]==96 || aKey[i]==126 || aKey[i]==36) {
            temp += (unsigned char *)"/%DCN";
            switch(aKey[i]) {
            case 0: temp += (unsigned char *)"000"; break;
            case 5: temp += (unsigned char *)"005"; break;
            case 36: temp += (unsigned char *)"023"; break;
            case 96: temp += (unsigned char *)"096"; break;
            case 124: temp += (unsigned char *)"124"; break;
            case 126: temp += (unsigned char *)"126"; break;
            }
            temp += (unsigned char *)"%/";
         } else {
            temp.push_back(aKey[i]);
         }
      }
   }

   return (const char *)temp.c_str();
//   return new string((char*)temp.c_str(), temp.length());
}


const char* makeKey(const string& aLock) {
   static const char nolock[] = "";

   if(aLock.size() < 3)
      return nolock;

   basic_string<unsigned char> temp;
   unsigned char v1;
   
   v1 = (unsigned char)(aLock[0]^5);
   v1 = (unsigned char)(((v1 >> 4) | (v1 << 4)) & 0xff);
   temp.push_back(v1);
   
   for(string::size_type i = 1; i<aLock.length(); i++) {
      v1 = (unsigned char)(aLock[i]^aLock[i-1]);
      v1 = (unsigned char)(((v1 >> 4) | (v1 << 4))&0xff);
      temp.push_back(v1);
   }
   
   temp[0] = (unsigned char)(temp[0] ^ temp[aLock.length()-1]);
   
   return keySubst(temp.c_str(), aLock.length());
}


int main()
{
    WORD version = MAKEWORD(1,1);
    WSADATA wsaData;
    int rVal=0;

   if(WSAStartup(version,(LPWSADATA)&wsaData) == SOCKET_ERROR) {
      cerr << "Error initializing WINSOCK." << endl;
   }

   //store information about the server
    LPHOSTENT hostEntry = gethostbyname("underhill.dyndns.dk");

    if(!hostEntry)
    {
        cerr << "Failed gethostbyname()" << endl;
        WSACleanup();
        return -1;
    }

    //create the socket
    SOCKET s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);

    if(s == SOCKET_ERROR)
    {
      cerr << "Failed socket()" << endl;
      WSACleanup();
        return -1;
    }

    //Fill in the sockaddr_in struct
    SOCKADDR_IN serverInfo;

   serverInfo.sin_family = PF_INET;
    serverInfo.sin_addr = *((LPIN_ADDR)*hostEntry->h_addr_list);
    serverInfo.sin_port = htons(411);

    rVal = connect(s,(LPSOCKADDR)&serverInfo, sizeof(serverInfo));
    if(rVal == SOCKET_ERROR)
    {
        cerr << "Failed connect()" << endl;
      WSACleanup();
        return -1;
    }

   cout << "Connected." << endl;

   for(;;) {
      DoRecv(s);

      char _cmd[2048];
      istrstream is(buf);
      while(is.getline(_cmd, 2047, '|')) {
         string cmd(_cmd);

         if(cmd.compare(0, 5, "$Lock") == 0) {
            string::size_type pos = cmd.find(" Pk=");
            if(pos != string::npos) {
               sprintf(buf, "$Key %s|$ValidateNick FUCKUP|", makeKey(cmd.substr(6, pos - 6)));
               DoSend(s);
            }
            continue;
         }

         if(cmd.compare(0, 9, "$HubName ") == 0) {
            continue;
         }


         if(cmd.compare(0, 8, "$GetPass") == 0) {
            sprintf(buf, "$MyPass howard|");
            DoSend(s);
            continue;
         }

         if(cmd.compare(0, 8, "$BadPass") == 0) {
            cerr << "Incorrect password!" << endl;
            closesocket(s);
            WSACleanup();
            exit(1);
         }

         if(cmd.compare(0, 7, "$Hello ") == 0) {
            sprintf(buf, "$MyINFO $ALL FUCKUP HUBBOT$ $DSL$$0$|");
            DoSend(s);
            continue;
         }

         if(cmd.compare(0, 9, "$LogedIn ") == 0) {
            continue;
         }

         if(cmd.compare(0, 13, "$UserCommand ") == 0) {
            continue;
         }

         cout << "CMD[" << cmd.c_str() << ']' << endl;
      }
   }

   closesocket(s);
  WSACleanup();
   return 0;
}



ooohh its a secret? I forgot!. Sorry. LMAO.

HagbardCeline
Posts: 13
Joined: 2006-01-02 18:16

Post by HagbardCeline » 2006-01-02 22:40


HagbardCeline
Posts: 13
Joined: 2006-01-02 18:16

Post by HagbardCeline » 2006-01-02 22:45

TROLL? I have no idea. but rather that than an idiot of your cohort.

HagbardCeline
Posts: 13
Joined: 2006-01-02 18:16

Post by HagbardCeline » 2006-01-02 22:52

and if you consider that stupid then:

*removed link to file*


whuzzies.

Todi
Forum Moderator
Posts: 699
Joined: 2003-03-04 17:16

Post by Todi » 2006-01-02 22:56

Hall of fame!

Who is online

Users browsing this forum: Google [Bot] and 0 guests