Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ##AUTH CREDIT GOES TO eXonyte & Sky
- alias Connect2irc7 {
- clearirc7Socks
- if ($!window(@debug)) {
- window @debug
- }
- var %mIRCport $rand(1300,8000)
- while (!$portfree(%mIRCport)) { var %mIRCport $rand(1300,8000) }
- socklisten start %mIRCport
- server 127.0.0.1 %mircport
- sockopen irc7.Finds $irc7Server 6668
- }
- alias clearirc7Socks {
- if ($server) { disconnect }
- sockclose irc7.* | sockclose start | sockclose mIRCServer | timerkeep off
- }
- alias closeChanSocks {
- var %x 1
- while (%x <= $sock(irc7.*,0)) {
- if ($me !ison $sock(irc7.*,%x).mark) && ($sock(irc7.*,%x) != irc7.finds) {
- sockclose $sock(irc7.*,%x)
- }
- inc %x
- }
- }
- alias cloneHop { }
- on *:socklisten:start:{
- sockaccept mIRCServer
- sockclose $sockname
- sockwrite -n mIRCServer :ConeX 001 $me : $+ connecting to Finds...
- }
- on *:sockopen:irc7.?????:{
- if ($gettok($sockname,2,$asc(.)) == finds) {
- .timerkeep 0 8 sockwrite -n $sockname $crlf
- }
- sockwrite -n $sockname IRCVERS IRC0 $lf AUTH GateKeeper $+ $iif($left($me,1) != >,Passport,) I $+(:GKSSP\0\0\0,$chr(3),\0\0\0,$chr(1),\0\0\0)
- }
- on *:Sockread:irc7.?????:{
- .var %read | .sockread %read | .tokenize 32 %read
- echo @debug $sockname :: %read
- if ($gettok($sockname,2,$asc(.)) == finds) {
- if ($1 == AUTH) {
- if (($3 == S) && ($4 != :OK)) {
- if (($3 == S) && ($4 != :OK)) {
- var %x, %re = GKSSP\\0.*\\0\\0.*\\0\\0(.*), %y = $regsub($3-,%re,,%x)
- sockwrite -n $sockname AUTH GateKeeper $+ $iif($left($me,1) != >,Passport,) S $+(:GKSSP\0\0\0,$chr(2),\0\0\0,$chr(3),\0\0\0,$neko.hash($regml(1) $+ $irc7server)) $lf nick $me
- ; var %x, %re = AUTH GateKeeper.* S :GKSSP\\0.*\\0\\0.*\\0\\0(.*), %y = $regsub($1-,%re,,%x)
- ; bset &authout 1 $msn.tobin($1-3 $+(:GKSSP\0\0\0,$chr(2),\0\0\0,$chr(3),\0\0\0,$msn.hash($regml(1) $+ $sock($sockname).ip)) $+ $iif($left($me,1) == >,$msn.unehex($msn.gatekey(%gatekeeper)),) $+ $lf NICK $me))
- ; sockwrite $sockname &authout
- ;$+(:GKSSP\0\0\0,$chr(2),\0\0\0,$chr(3),\0\0\0,$neko.hash($regml(1) $+ $irc7server $+ $SelectGateKeeper)) $lf nick $me
- }
- ;sockwrite -n $sockname AUTH GateKeeper $+ $iif($left($me,1) != >,Passport,) S $+(:GKSSP\0\0\0,$chr(2),\0\0\0,$chr(3),\0\0\0,$neko.hash($regml(1) $+ $irc7server)) $+ $msn.unehex($msn.gatekey(%gatekeeper)) $+ $crlf
- }
- elseif (($3 == S) && ($4 == :OK)) { sockwrite -n $sockname AUTH GateKeeperPassport S $+(:,$passform) $lf user * * * $me }
- }
- if ($2 == 613) { var %x.nsn $+(irc7.,$r(1111,9999),$r(a,z)) | sockopen %x.nsn $remove($4,:) $5 | sockmark %x.nsn $sock($sockname).mark | sockmark $sockname null }
- elseif ($2 == 702) {
- %key = $r(1,999)
- sockwrite -n $sockname CREATE CP $sock($sockname).mark H4X l $+ 1337 en-us 1 %key 0
- }
- else { sockwrite -n mIRCServer $1- }
- }
- else {
- if ($1 == PING) { sockwrite -n $sockname PONG $2- }
- if ($1 == AUTH) {
- if (($3 == S) && ($4 != :OK)) {
- if ($left($me,1) != >) {
- var %x, %re = GKSSP\\0.*\\0\\0.*\\0\\0(.*), %y = $regsub($3-,%re,,%x)
- sockwrite -n $sockname AUTH GateKeeper $+ $iif($left($me,1) != >,Passport,) S $+(:GKSSP\0\0\0,$chr(2),\0\0\0,$chr(3),\0\0\0,$neko.hash($regml(1) $+ $irc7server)) $lf nick $me
- }
- elseif ($left($me,1) == >) {
- var %x, %re = AUTH GateKeeper.* S :GKSSP\\0.*\\0\\0.*\\0\\0(.*), %y = $regsub($1-,%re,,%x)
- bset &authout 1 $msn.tobin($1-3 $+(:GKSSP\0\0\0,$chr(2),\0\0\0,$chr(3),\0\0\0,$msn.hash($regml(1) $+ $sock($sockname).ip)) $+ $msn.unehex($msn.gatekey(%gatekeeper)))
- sockwrite $sockname &authout
- sockwrite -n $sockname JOIN $sock($socknmae).mark %key
- }
- ;$+(:GKSSP\0\0\0,$chr(2),\0\0\0,$chr(3),\0\0\0,$neko.hash($regml(1) $+ $irc7server $+ $SelectGateKeeper)) $lf nick $me
- }
- elseif ($3 == *) {
- sockwrite -n $sockname nick $me
- }
- elseif (($3 == S) && ($4 == :OK)) { sockwrite -n $sockname AUTH GateKeeperPassport S $+(:,$passform) $lf user * * * $me }
- }
- if ($2 == 422) { sockwrite -n $sockname JOIN $sock($sockname).mark %key }
- else {
- sockwrite -n mIRCServer $1-
- }
- }
- }
- on *:Sockread:mIRCServer:{
- .var %read | .sockread %read | .tokenize 32 %read
- echo @debug $sockname :: %read
- if ($1 == JOIN) {
- if ($getChanSock($2)) { sockwrite -n $getChanSock($2) $1- }
- else {
- sockmark irc7.Finds $2 | Sockwrite -n irc7.Finds FINDS $2-
- }
- }
- elseif ($1 == PRIVMSG) {
- if ($left($2,2) == $+($chr(37),$chr(35))) {
- sockwrite -n $getChanSock($2) $1-
- }
- else {
- sockwrite -n $getChanSock($comchan($2,1)) $1-
- }
- }
- elseif ($1 == MODE) {
- if ($left($2,2) == $+($chr(37),$chr(35))) {
- sockwrite -n $getChanSock($2) $1-
- }
- else {
- sockwrite -n irc7.* $1-
- }
- }
- elseif ($1 == PONG) { }
- elseif ($left($2,2) == $+($chr(37),$chr(35))) {
- sockwrite -n $getChanSock($2) $1-
- }
- else {
- sockwrite -n $getChanSock($comchan($2,1)) $1-
- }
- }
- alias getChanSock {
- var %x $1
- var %y 1
- while (%y <= $sock(irc7.*,0)) {
- if ($sock(irc7.*,%y).mark == $1) { return $sock(irc7.*,%y) }
- inc %y
- }
- }
- alias passform return $base($len(%ticket),10,16,8) $+ %ticket $+ $base($len(%profile),10,16,8) $+ %profile
- alias neko.hash {
- if (*:GKSSP* iswm $1-) { var %x, %re = .*:GKSSP\\0.*\\0\\0.*\\0\\0(.*), %y = $regsub($1-,%re,,%x) | tokenize 32 $regml(1) }
- var %m
- bset &h1 1 101 100 112 123 125 101 124 119 120 114 100 115 101 125 125 117 $str(54 $+ $chr(32),48) $esc2dec($neko.chr2dec($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) $neko.hex2bin($md5(&h1,1))
- return $neko.hex2chr($neko.hex2esc($md5(&h2,1)))
- }
- alias neko.chr2dec return $regsubex($1,/(.{1})/g,$asc(\1) $+ $chr(32))
- alias neko.hex2chr return $regsubex($1,/([0-9A-Fa-f]{2})/g,$chr($base(\1,16,10)))
- alias neko.hex2bin return $regsubex($1,/([0-9A-Fa-f]{2})/g,$base(\1,16,10) $+ $chr(32))
- alias neko.hex2esc return $regsubex($1,/([0-9A-Fa-f]{2})/g,$hex2esc(\1))
- alias hex2esc return $replacex($1,5C,5C5C,00,5C30,0A,5C6E,0D,5C72,2C,5C63,09,5C74,20,5C62)
- alias esc2dec return $replacex($1,92 48, 0, 92 116, 9, 92 110, 10, 92 114, 13, 92 98, 32, 92 99, 44, 92 92, 92)
- alias irc7Server return 24.73.210.118
- ;elseif ($4 != :OK) sockwrite $sockname $+($hget(GKSSP,AUTHS),$GKSSP($4,$sock($sockname).ip).challenge,$SelectGateKeeper,$lf)
- alias gkssp_form {
- var %output,%hex,%x = $1,%i = 1
- ;seq=7,5,3,1,11,9,15,13,17
- if ($len($1) < 32) { %x = $+($str(0,$calc(32 - $len($ifmatch)),$ifmatch) }
- %x = $mid(%x,7,2) $+ $mid(%x,5,2) $+ $mid(%x,3,2) $+ $mid(%x,1,2) $+ $mid(%x,11,2) $+ $mid(%x,9,2) $+ $mid(%x,15,2) $+ $mid(%x,13,2) $+ $right(%x,-16)
- return $__tochr($__hexbin(%x,NULL))
- }
- alias __tochr {
- var %o,%i = 1
- while (%i <= $numtok($1-,32)) {
- %o = %o $+ $chr($gettok($1-,%i,32))
- inc %i
- }
- return %o
- }
- alias __hexbin {
- var %o,%i = 1,%hex,%switch
- if (!$2) {
- ;Excluding Escape Char
- while (%i <= $len($1)) {
- %o = %o $base($mid($1,%i,2),16,10)
- inc %i 2
- }
- return %o
- }
- else {
- ;Including Escaps Char (0=00,t=09,n=0A,r=0D,b=20,c=2C,\=5C)
- while (%i <= $len($1)) {
- %switch = $mid($1,%i,2)
- if (%switch == 00) { %o = %o 92 48 }
- elseif (%switch == 09) { %o = %o 92 116 }
- elseif (%switch == 0A) { %o = %o 92 110 }
- elseif (%switch == 0D) { %o = %o 92 114 }
- elseif (%switch == 20) { %o = %o 92 98 }
- elseif (%switch == 2C) { %o = %o 92 99 }
- elseif (%switch == 5C) { %o = %o 92 92 }
- else { %o = %o $base(%switch,16,10) }
- inc %i 2
- }
- return %o
- }
- }
- alias SelectGateKeeper { return $gkssp_form($iif(%GATEKEEPER,$ifmatch,$binary_gate)) }
- alias binary_gate {
- var %i = 1, %o
- while (%i <= 16) {
- %o = %o $+ $base($rand(0,3),10,2,2)
- inc %i
- }
- return %o
- }
- alias hex_gate {
- var %i = 1, %o
- while (%i <= 16) {
- %o = %o $+ $base($rand(0,255),10,16,2)
- inc %i
- }
- return %o
- }
- ####EXO####
- alias msn.hash {
- bset &h1 1 101 100 112 123 125 101 124 119 120 114 100 115 101 125 125 117 $str(54 $+ $chr(32),48) $msn.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) $msn.hex2bin($md5(&h1,1))
- return $msn.unehex($md5(&h2,1))
- }
- alias msn.tobin {
- var %l 1, %r
- while (%l <= $len($1)) {
- 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 msn.unehex {
- var %l 1, %r, %x $remove($1-,$chr(32))
- while (%l <= $len(%x)) {
- 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 msn.hex2bin {
- var %l 1, %r
- while (%l <= $len($1)) {
- %r = %r $base($mid($1,%l,2),16,10)
- inc %l 2
- }
- return %r
- }
- alias msn.gatekey return $mid($1,7,2) $+ $mid($1,5,2) $+ $mid($1,3,2) $+ $left($1,2) $+ $mid($1,11,2) $+ $mid($1,9,2) $+ $mid($1,15,2) $+ $mid($1,13,2) $+ $right($1,16)
- ###EXO END###
Add Comment
Please, Sign In to add comment