Skip to content
MSN

Msn Connections Ocxless

A TG007 community discussion started by Twister.

Discussion 8 posts
Page 1 of 1
Open
Topic #6085 · 8 published posts · 907 views

yea i am trying to make a ocxless connection for the first time cause im tired of downloading scripts. most of them are good but they are not fast as i want them to be. i would like for someone to show me how to make one or give me some help on this. i have the ocxless auth and i have 1 socket ready sorta

 

alias con {
  if ($sock(twisted*,0)) { sockclose twisted*
    server 127.0.0.1
    sockopen twistedfinds 207.68.167.253 6667
  }
}
on *:sockread:twisted*:{
alias mh.calc {
  if (*:GKSSP* iswm $1-) {
    var %x, %re = .*:GKSSP\\0.*\\0\\0.*\\0\\0(.*), %y = $regsub($1-,%re,,%x)
    tokenize 32 $regml(1)
  }
  bset &h1 1 101 100 112 123 125 101 124 119 120 114 100 115 101 125 125 117 $str(54 $+ $chr(32),48) $mh.tobin($1-)
  bset &h2 1 15 14 26 17 23 15 22 29 18 24 14 25 15 23 23 31 $str(92 $+ $chr(32),48) $mh.hex2bin($md5(&h1,1))
  return $+(:GKSSP\0\0\0,$chr(2),\0\0\0,$chr(3),\0\0\0,$mh.unhex($md5(&h2,1)))
}
alias mh.tobin {
  var %l 1, %r, %x $len($1)
  while (%l <= %x) {
    if ($mid($1,%l,1) == \) {
      inc %l
      if ($mid($1,%l,1) == 0) %r = %r 0
      elseif ($mid($1,%l,1) == t) %r = %r 9
      elseif ($mid($1,%l,1) == n) %r = %r 10
      elseif ($mid($1,%l,1) == r) %r = %r 13
      elseif ($mid($1,%l,1) == b) %r = %r 32
      elseif ($mid($1,%l,1) == c) %r = %r 44
      elseif ($mid($1,%l,1) == \) %r = %r 92
    }
    else %r = %r $asc($mid($1,%l,1))
    inc %l
  }
  return %r
}
alias mh.hex2bin {
  var %l 1, %r, %x $len($1)

  while (%l <= %x) {
    %r = %r $base($mid($1,%l,2),16,10)
    inc %l 2
  }
  return %r
}
alias mh.unhex {
  var %l 1, %r, %x $remove($1-,$chr(32)), %y $len(%x)

  while (%l <= %y) {
    if ($mid(%x,%l,2) == 00) %r = %r $+ \0
    elseif ($mid(%x,%l,2) == 0A) %r = %r $+ \n
    elseif ($mid(%x,%l,2) == 0D) %r = %r $+ \r
    elseif ($mid(%x,%l,2) == 2C) %r = %r $+ \c
    elseif ($mid(%x,%l,2) == 09) %r = %r $+ \t
    elseif ($mid(%x,%l,2) == 5C) %r = %r $+ \\
    elseif ($mid(%x,%l,2) == 20) %r = %r $+ \b
    else %r = %r $+ $chr($base($mid(%x,%l,2),16,10))
    inc %l 2
  }
  return %r
}

alias auth_init return $+(IRCVERS IRC8 MSN-OCX!9.02.0310.2401,$crlf,AUTH GateKeeperPassport I $+(GKSSP\0,$chr(18),$chr(2),$chr(3),\0\0\0,$chr(1),\0\0\0))
alias auth_key return $+($base($len($$1),10,16,8),$$1,$base($len($$2),10,16,8),$$2)

now im stuck... i can code prots and stuff like i that i just need it to connect and update passports...

Edited Feb 22, 2006 11:27 PM by Twister

If its just because the scripts are slow, code some sockwrites or sockreads protections, or whatever it is you wanna fix.

i did but the sockreads are slow also and it does have sockets in it

Erm.. look at the connections tutorials if you havnt.. maybe you could get an idea from there

i did but those use ocx, im trying ocxless

Have you tried looking at some of the ocxless connections? There are some around here, and im sure they all have the AUTH process.

Look at erm guardog and that synthax whatever its called

the ocx only applies to the auth sequence. you can get ideas for other parts of connections that use the ocx. ocx/ocxless has nothing to do with how the connection works after it's authed on the server. you also have a whole alias stuck inside a sockread, which does nothing except add gibberish to your aliases.ini that might end up confusing mirc. you don't need to "server 127.0.0.1" just to open a sock connection, and if you have no socket listening on the port you're trying to connect to, that won't work anyway. you also need an "on *:sockopen:twisted*:{}" event of some kind to send the $auth_init string to initiate the auth sequence, or nothing will happen. i think i see a few bracket mismatch errors in there too. and in order to complete the auth, you have to have something to send the auth reply back when it sends the auth challenge.

 

but like i said, you don't need to base your connection just on ocxless connections, since once the thing is authed, it's just like it used the ocx anyway.. it all works the same after that.

bfush.PNG