Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;; thanks sky for the new server + some of his auth codes
- ;; thanks eXonyte for your binary sockread auth thanks!
- alias findsip return 209.222.27.63
- alias findsprt return 6667
- alias -l IRCV return IRCVERS IRC9 IRC7!
- alias -l AUTHINIT { return $+(AUTH GateKeeper, $iif( $left( $me, 1 ) != >, Passport, $chr(32) ) I GKSSP\0\0\0, $chr(3), \0\0\0, $chr(1), \0\0\0) }
- alias -l passform return $+($base($len(%ticket),10,16,8),%ticket,$base($len(%profile),10,16,8),%profile)
- alias m.gate.random {
- var %a = 1,%b
- while (%a <= 90) { %b = %b $+ $rand(a,z) | inc %a }
- return %b
- }
- alias rkey return $+($r(1,9),$r(a,z),$r(1,9),$r(a,z))
- alias connex return IRCX
- alias Con {
- CloseDirectory
- CloseChatSocks
- OpenmIRCConnection
- Connect2Directory $findsip $findsprt
- }
- alias -l Connect2Directory {
- sockopen fx.finds $1-2
- sockmark fx.finds null
- }
- alias -l Connect2Chat {
- var %sNc $+(fx.Chats_,$r(1111,9999),$r(a,z))
- sockopen %sNc $1-2
- sockmark %sNc $3
- set %onjointime. [ $+ [ $3 ] ] $ticks
- }
- alias -l OpenmIRCConnection {
- var %mp $r(1300,8000)
- while (!$portfree(%mp)) { var %mp $r(1300,8000) }
- socklisten start %mp
- server 127.0.0.1 %mp
- }
- alias -l WriteDebug {
- if ($!window(@debug)) {
- window -e0 @debug
- }
- echo @debug $1-
- }
- alias -l CloseDirectory {
- sockclose fx.finds
- }
- alias -l CloseChatSocks {
- var %snL 1
- while (%snL <= $sock(fx.Chats_*,0)) {
- var %snCs $sock(fx.Chats_*,%snL)
- sockclose %snCs
- inc %snL
- }
- }
- alias -l getChatSock {
- var %snC $1
- var %snL 1
- while (%snL <= $sock(fx.Chats_*,0)) {
- var %snCs $sock(fx.Chats_*,%snL)
- if ($sock(%snCs).mark == $1) { return %snCs }
- inc %snL
- }
- }
- alias -l CreateCloneSocks {
- var %snL 1
- while (%snL <= $sock(fx.Chats_*,0)) {
- var %snCs $sock(fx.Chats_*,%snL)
- sockopen $+(fx.Clone_,$gettok(%snCs,2,$asc(_))) $sock(%snCs).ip $sock(%snCs).port
- sockmark $+(fx.Clone_,$gettok(%snCs,2,$asc(_))) $1 $sock(%snCs).mark
- inc %snL 1
- }
- set %CloneSockList $sock(fx.Chats_*,0)
- }
- alias -l CloneSocksJoin {
- var %snL $sock(fx.Clone_*,0)
- while ($sock(fx.Clone_*,%snL) != 0) {
- var %snCs $sock(fx.Clone_*,%snL)
- var %snCm $sock(%snCs).mark
- send2mirc $+(:,$me,!) PART $gettok(%snCm,2,32)
- sockclose $replace(%snCs,Clone,Chats)
- sockrename %snCs $replace(%snCs,Clone,Chats)
- sockwrite -n $replace(%snCs,Clone,Chats) JOIN $gettok(%snCm,2,32)
- sockmark $replace(%snCs,Clone,Chats) $gettok(%snCm,2,32)
- dec %snL
- }
- }
- alias -l Send2mIRC {
- sockwrite -n fx.lhost $1-
- }
- alias -l Send2ChatServers {
- var %snL 1
- while (%snL <= $sock(fx.Chats_*,0)) {
- var %snCs $sock(fx.Chats_*,%snL)
- sockwrite -n %snCS $1-
- inc %snL
- }
- }
- alias -l Send2Directory {
- var %snC fx.finds
- if ($sock(%snC)) {
- sockwrite -n %snC $replace($1,JOIN,FINDS) $2-
- sockmark %snC $2
- }
- else {
- sockopen %snC $findsip $findsprt
- sockmark %snC $1-
- }
- }
- ;fx.Clone_0001s
- ;fx.Chats_0001s
- ;fx.Finds
- ;fx.lhost
- on *:sockopen:fx.?????*:{
- var %snCs $gettoK($gettok($sockname,2,$asc(.)),1,$asc(_))
- if (%snCs == finds) {
- .timerKeepFinds 0 8 sockwrite -n $+(fx.,%snCs) $crlf
- sockwrite -n $sockname $+( NICK $me,$crlf,$AUTHINIT,$crlf,$IRCV)
- ;sockwrite -n $sockname $authinit
- }
- elseif (%snCs == Chats) {
- sockwrite -n $sockname $+( NICK $me,$crlf,$AUTHINIT,$crlf,$IRCV)
- }
- elseif (%snCs == Clone) {
- sockwrite -n $sockname $+( NICK $gettok($sock($sockname).mark,1,32),$crlf,$AUTHINIT,$crlf,$IRCV)
- }
- }
- on *:Sockread:fx.?????*:{
- var %snCs $gettoK($gettok($sockname,2,$asc(.)),1,$asc(_)) | .var %read | .sockread %read | .tokenize 32 %read
- WriteDebug $sockname :: %read
- if (%snCs == finds) {
- if ($1 == AUTH) {
- if ($3 == S) && ($4 != :OK) {
- var %x, %re = AUTH GateKeeper.* S :GKSSP\\0.*\\0\\0.*\\0\\0(.*), %y = $regsub($1-,%re,,%x)
- echo -s $sky.tobin($1-3 $+(:GKSSP\0\0\0,$chr(2),\0\0\0,$chr(3),\0\0\0) $+ $msnx.hash($regml(1) $+ $sock($sockname).ip) $+ $crlf)
- bset &authout 1 $sky.tobin($1-3 $+(:GKSSP\0\0\0,$chr(2),\0\0\0,$chr(3),\0\0\0) $+ $msnx.hash($regml(1) $+ $sock($sockname).ip) $+ $crlf)
- sockwrite -n $sockname &authout
- }
- elseif (($3 == S) && ($4 == :OK)) { sockwrite -n $sockname AUTH GateKeeperPassport S $+(:,$passform) $lf user * * * $connex }
- }
- elseif ($2 == 613) {
- echo -s $remove($4,:) $5 $sock($sockname).mark
- Connect2Chat $remove($4,:) $5 $sock($sockname).mark
- }
- elseif ($2 == 702) {
- %key = $r(1,999)
- sockwrite -n $sockname CREATE CP $sock($sockname).mark H4X l $+ 1337 en-us %key 0
- }
- ; else { sockwrite -n fx.lhost $1- }
- }
- elseif (%snCs == Chats) {
- if ($1 == AUTH) {
- if ($3 == S) && ($4 != :OK) {
- var %x, %re = AUTH GateKeeper.* S :GKSSP\\0.*\\0\\0.*\\0\\0(.*), %y = $regsub($1-,%re,,%x)
- bset &authout 1 $sky.tobin($1-3 $+(:GKSSP\0\0\0,$chr(2),\0\0\0,$chr(3),\0\0\0) $+ $msnx.hash($regml(1) $+ $sock($sockname).ip) $+ $crlf)
- sockwrite -n $sockname &authout
- }
- elseif (($3 == S) && ($4 == :OK)) { sockwrite -n $sockname AUTH GateKeeperPassport S $+(:,$passform) $lf user * * * $connex $lf JOIN $sock($sockname).mark }
- elseif ($3 == *) {
- sockwrite -n $sockname user * * * $connex $lf JOIN $sock($sockname).mark
- }
- }
- elseif ($2 == 910) { echo -s authentication failed | var %x.sn $sockname | var %x.sip $sock($sockname).ip | var %x.sprt $sock($sockname).port | var %x.smrk $sock($sockname).mark | sockclose $sockname | sockopen %x.sn %x.sip %x.sprt | sockmark %x.sn %x.smrtk }
- elseif ($2 == JOIN) {
- sockwrite -n fx.lhost $deltok($1-,3,32)
- if ($right($3,1) isin .@+) { sockwrite -tn fx.lhost :IRC7 MODE $remove($4,:) + $+ $replace($ifmatch,.,q,@,o,+,v) $remove($gettok($1,1,$asc(!)),:) }
- }
- elseif ($2 == MODE) {
- sockwrite -n fx.lhost $1-
- if ($4-5 == -q $me) {
- if ($remove($gettok($1,1,33),:) != $me) {
- if (!%no-q. [ $+ [ $3 ] ]) {
- set -u3 %no-q. [ $+ [ $3 ] ] $true
- sockwrite -n $sockname mode $me +h $hget(keys,$3) $lf mode $3 -q $right($gettok($1,1,33),-1) $lf prop $3 ownerkey $msn.pass(10) $lf access $3 clear owner $lf access $3 add owner $ial($me).addr
- }
- }
- }
- elseif ($4-5 == +q $me) {
- if (!%noq. [ $+ [ $3 ] ]) {
- set -u3 %noq. [ $+ [ $3 ] ] $true
- sockwrite -n $sockname PROP $3 ownerkey $msn.pass(10) $lf access $3 add owner $ial($me).addr
- }
- }
- }
- elseif ($2 == PROP) {
- sockwrite -n fx.lhost $1-
- if ($4 == OWNERKEY) {
- if ($remove($5,:) == $null) {
- if ($remove($gettok($1,1,33),:) != $me) {
- sockwrite -tn $sockname mode $3 -q $right($gettok($1,1,33),-1) $lf prop $3 ownerkey $msn.pass(10) $lf access $3 clear owner $lf access $3 add owner $ial($me).addr
- }
- }
- else { hadd keys $3 $remove($5,:) | hsave -o keys $qt($scriptdirkeys.dat) }
- }
- }
- elseif ($1 == PING) { sockwrite -tn $sockname PONG $2 | sockwrite -n fx.lhost $1- }
- elseif ($2 == 403) { sockclose $sockname }
- elseif ($2 == 004) { sockwrite -n fx.lhost $1- $lf :TK2CHATCHATA01 005 $me IRCX NAMESX CHANTYPES=% PREFIX=(qov).@+ CHANMODES=b,k,l,defhimnprstuwWx NETWORK=IRC7 CHARSET=utf-8 are supported by this server }
- elseif ($2 = 353) { var %x = 5, %y | while (%x < $numtok($1-,32)) { inc %x | %y = %y $gettok($gettok($1-,%x,32),-1,44) } | sockwrite -n fx.lhost $1-5 : $+ %y | halt }
- else {
- sockwrite -n fx.lhost $1-
- }
- }
- elseif (%snCs == Clone) {
- if ($1 == AUTH) {
- if ($3 == S) && ($4 != :OK) {
- var %x, %re = AUTH GateKeeper.* S :GKSSP\\0.*\\0\\0.*\\0\\0(.*), %y = $regsub($1-,%re,,%x)
- bset &authout 1 $sky.tobin($1-3 $+(:GKSSP\0\0\0,$chr(2),\0\0\0,$chr(3),\0\0\0) $+ $msnx.hash($regml(1) $+ $sock($sockname).ip) $+ $crlf)
- sockwrite -n $sockname &authout
- }
- elseif (($3 == S) && ($4 == :OK)) {
- sockwrite -n $sockname AUTH GateKeeperPassport S $+(:,$passform) $lf user * * * $connex
- if (%CloneSocklist > 1) { dec %CloneSocklist }
- else {
- unset %CloneSocklist
- Send2mIRC $+(:,$me) NICK $gettok($sock($sockname).mark,1,32)
- CloneSocksJoin
- }
- }
- }
- elseif (910 == $2) { echo -s authentication failed | var %x.sn $sockname | var %x.sip $sock($sockname).ip | var %x.sprt $sock($sockname).port | var %x.smrk $sock($sockname).mark | sockclose $sockname | sockopen %x.sn %x.sip %x.sprt | sockmark %x.sn %x.smrk }
- }
- elseif (%snCs == lhost) {
- if ($1 == JOIN) {
- if ($getChatSock($2)) { sockwrite -n $getChatSock($2) $1- }
- else {
- Send2Directory $1-2
- }
- }
- elseif ($1 == PRIVMSG) {
- if ($getChatSock($2)) {
- sockwrite -n $getChatSock($2) $1-
- }
- else {
- sockwrite -n $getChatSock($comchan($2,1)) $1-
- }
- }
- elseif ($1 == MODE) {
- if ($getChatSock($2)) {
- sockwrite -n $getChatSock($2) $1-
- }
- else {
- Send2ChatServers $1-
- }
- }
- elseif ($1 == findu) {
- Send2Directory $1-2
- }
- elseif ($1 == nick) && ($comchan($me,1)) {
- Send2ChatServers NICK $2
- }
- elseif ($1 == WHO) {
- if (* == $2) {
- Send2ChatServers $1-
- }
- else { sockwrite -n $getChatSock($2) $1- }
- }
- elseif ($1 == PING) {
- Send2ChatServers $1-
- }
- elseif ($1 == CLONE) { CreateCloneSocks $2 }
- elseif ($getChatSock($2)) {
- sockwrite -n $getChatSock($2) $1-
- }
- elseif ($getChatSock($comchan($2,1))) {
- sockwrite -n $getChatSock($comchan($2,1)) $1-
- }
- else {
- Send2ChatServers $1-
- }
- }
- }
- on *:socklisten:start: {
- sockaccept fx.lhost
- send2mirc :IRCX 001 $me :Welcome to the $connex connection.
- send2mirc :IRCX 004 $me : $+ $connex aiox abcdefhiklmnoprstuvxy
- send2mirc :IRCX 800 $me 1 0 GateKeeper,NTLM 512 *
- sockclose $sockname
- }
- on 1:LOAD:{
- CreateSettings emails
- CreateSettings ConnectionSettings
- CreateSettings CloneSettings
- CreateSettings RoomCreationSettings
- CreateSettings ownerkeys
- CreateSettings Hostkeys
- SetSetting ConnectionSettings Debug 1
- SetSetting ConnectionSettings Invisible 1
- SetSetting ConnectionSettings AutoJoin 0
- SetSetting CloneSettings QuitMessage 0
- SetSetting RoomCreationSettings RoomModes wWtns
- SetSetting RoomCreationSettings Limit 31337
- SetSetting RoomCreationSettings Key Generate
- SetSetting RoomCreationSettings CustomKey CustomKey
- }
- on 1:START:{
- LoadSettings emails
- LoadSettings ConnectionSettings
- LoadSettings CloneSettings
- LoadSettings RoomCreationSettings
- LoadSettings ownerkeys
- LoadSettings Hostkeys
- }
- alias CreateSettings {
- if (!$hget($1)) {
- hmake $1 100
- }
- }
- alias LoadSettings {
- if (!$hget($1)) {
- hmake $1 100
- }
- hload -i $1 $+($scriptdir,settings.ini) $1
- }
- alias UnLoadSettings {
- hsave -i $1 $+($scriptdir,settings.ini) $1
- hfree $1
- }
- alias SetSetting { hadd -m $1 $2- }
- on 1:EXIT:{
- UnLoadSettings emails
- UnLoadSettings ConnectionSettings
- UnLoadSettings CloneSettings
- UnLoadSettings RoomCreationSettings
- UnLoadSettings ownerkeys
- UnLoadSettings Hostkeys
- }
- ;hsave -i emails $+($scriptdir,settings.ini) emails
- alias loademails {
- if ($1 == -d) {
- did -r FXDialog 57
- if ($hget(emails,0).item > 0) {
- var %x $hget(emails,0).item
- while (%x) {
- did -a FXDialog 57 $hget(emails,%x).item
- dec %x
- }
- }
- }
- }
- alias OpenFXDialog { dialog -m FXDialog FXDialog }
- alias loadSettings2Dialog {
- loademails -d
- if ($hget(ConnectionSettings,Invisible) == 1) { did -c FXDialog 16 }
- if ($hget(ConnectionSettings,Debug) == 1) { did -c FXDialog 18 }
- if ($hget(ConnectionSettings,AutoJoin) == 1) { did -c FXDialog 15 }
- if (%Fx.AutoJoin) { did -r FXDialog 17 | did -a FXDialog 17 %Fx.AutoJoin }
- if ($hget(CloneSettings,QuitMessage) == 1) { did -c FXDialog 26 }
- if (%FX.CloneQuit) { did -r FXDialog 27 | did -a FXDialog 27 %Fx.CloneQuit }
- if ($hget(RoomCreationSettings,Key) == Generate) { did -c FXDialog 51 | did -r FXDialog 49 | did -a FXDialog 49 $rkey }
- if ($hget(RoomCreationSettings,Key) == CustomKey) { did -c FXDialog 52 | did -r FXDialog 49 | did -a FXDialog 49 $iif(%Fx.Qkey,%Fx.Qkey,CustomKey) }
- if ($hget(RoomCreationSettings,RoomModes)) {
- if (w isincs $hget(RoomCreationSettings,RoomModes)) { did -c FXDialog 38 }
- if (W isincs $hget(RoomCreationSettings,RoomModes)) { did -c FXDialog 39 }
- if (t isincs $hget(RoomCreationSettings,RoomModes)) { did -c FXDialog 46 }
- if (m isincs $hget(RoomCreationSettings,RoomModes)) { did -c FXDialog 40 }
- if (i isincs $hget(RoomCreationSettings,RoomModes)) { did -c FXDialog 41 }
- if (n isincs $hget(RoomCreationSettings,RoomModes)) { did -c FXDialog 45 }
- if (h isincs $hget(RoomCreationSettings,RoomModes)) { did -c FXDialog 43 }
- if (p isincs $hget(RoomCreationSettings,RoomModes)) { did -c FXDialog 42 }
- if (s isincs $hget(RoomCreationSettings,RoomModes)) { did -c FXDialog 44 }
- }
- if ($hget(RoomCreationSettings,Limit)) { did -r FXDialog 37 | did -a FXDialog 37 $hget(RoomCreationSettings,Limit) }
- if (%settings.CreateTopic) { did -r FXDialog 32 | did -a FXDialog 32 %settings.CreateTopic }
- did -r fxDialog 21 | did -a fxDialog 21 $me
- did -r fxDialog 58 | did -a fxDialog 58 $me
- did -r fxDialog 47 | did -a fxDialog 47 $+(+,$iif($hget(RoomCreationSettings,RoomModes),$hget(RoomCreationSettings,RoomModes)),l) $iif($hget(RoomCreationSettings,Limit),$hget(RoomCreationSettings,Limit),$did(fxDialog,37))
- }
- on 1:dialog:FXDialog:init:0: {
- loadSettings2Dialog
- }
- on 1:dialog:FXDialog:sclick:*: {
- if ($did == 5) { dialog -c FxDialog FxDialog }
- elseif ($did == 4) { dialog -c FxDialog FxDialog }
- elseif ($did == 24) {
- if ($did(FXDialog,22)) { clone $did(FXDialog,22) }
- }
- elseif ($did == 42) { did -u FXDialog 43 | did -u FXDialog 44 }
- elseif ($did == 43) { did -u FXDialog 42 | did -u FXDialog 44 }
- elseif ($did == 44) { did -u FXDIalog 42 | did -u FXDialog 43 }
- elseif ($did == 51) { did -r FXDialog 49 | did -a FXDialog 49 $rkey }
- elseif ($did == 52) { did -r FXDialog 49 | did -a FXDialog 49 CustomKeyHere }
- elseif ($did == 69) {
- SetSetting emails $did(FXDialog,57) $did(FXDialog,11)
- echo -s $input("Successfully Added email $did(FXDialog,57) $+ ",o)
- }
- elseif ($did == 57) { did -r FXDialog 11 | did -a FXDialog 11 $hget(emails,$did(fxDialog,57).seltext) }
- }
- dialog FXDialog {
- title "fx Connection Dialog"
- size -1 -1 438 134
- option dbu
- button "Close", 5, 350 118 37 12
- button "Save && Close", 4, 309 118 39 12
- tab "Connect", 6, 2 5 434 105
- box "Update Email", 7, 1 22 151 81, tab 6
- text "Email", 9, 3 36 28 8, tab 6 center
- box "Connection Options", 13, 152 22 170 81, tab 6
- button "Connect", 14, 271 85 44 12, tab 6
- check "Invisible (+i)", 16, 157 57 43 10, tab 6 flat
- edit "", 11, 31 55 117 10, tab 6 pass
- text "password", 10, 3 55 28 8, tab 6 center
- button "Update", 12, 116 69 32 14, tab 6
- check "Auto Join", 15, 157 74 36 10, tab 6 flat
- edit "%#test,%#lobby", 17, 198 74 119 10, tab 6
- check "@debug", 18, 206 58 36 10, tab 6 flat
- combo 57, 31 34 117 32, tab 6 size edit drop
- text "Nick", 31, 157 44 37 7, tab 6 center
- edit "", 58, 197 44 118 10, tab 6
- button "Add email", 69, 77 69 37 14, tab 6
- tab "Clone Settings", 3
- box "Nick Changes", 19, 7 24 134 81, tab 3
- text "Nick", 20, 15 34 25 10, tab 3 center
- edit "", 21, 44 34 90 10, tab 3 read
- edit "", 22, 44 49 89 10, tab 3
- button "Clone Hop", 24, 94 67 37 12, tab 3
- box "Settings", 25, 144 24 241 39, tab 3
- check "Quit Message", 26, 149 37 50 10, tab 3 flat
- text "Clone", 23, 15 48 25 10, tab 3 center
- box "Data", 53, 144 65 241 41, tab 3
- list 54, 180 73 197 27, tab 3 size vsbar
- combo 8, 198 37 141 25, tab 3 size edit drop
- button "Save Quit Msg", 70, 345 36 37 12, tab 3
- tab "Room Creation", 28
- box "Create a Room", 29, 6 21 199 81, tab 28
- text "Room Name", 30, 12 32 40 11, tab 28 center
- edit "A place 2 Chat.", 32, 62 47 134 10, tab 28
- box "Room Modes", 34, 207 21 221 81, tab 28
- button "Create", 35, 161 86 37 13, tab 28
- text "+l (Limit)", 36, 222 73 27 9, tab 28 center
- edit "1337", 37, 253 73 33 10, tab 28
- check "+w (no Whispers)", 38, 215 32 62 10, tab 28 flat
- text "Topic", 33, 12 47 40 11, tab 28 center
- check "+W (no Guest Whispers)", 39, 276 32 71 10, tab 28 flat
- check "+m (moderate)", 40, 215 44 50 10, tab 28 flat
- check "+i invite only", 41, 276 44 50 10, tab 28 flat
- check "+p (Private Room)", 42, 276 56 58 10, tab 28 flat
- check "+h (Hidden Room)", 43, 215 56 55 10, tab 28 flat
- check "+s (Secret Room)", 44, 354 57 54 10, tab 28 flat
- check "+n (No external)", 45, 354 45 54 10, tab 28 flat
- check "+t (topic Lock)", 46, 354 32 50 10, tab 28 flat
- edit "", 47, 333 73 73 10, disable tab 28
- text "Modes Set", 48, 298 73 32 8, tab 28 center
- edit "", 49, 62 62 134 10, tab 28
- text "OwnerKey", 50, 12 62 40 11, tab 28 center
- radio "Generate Key", 51, 62 76 50 10, tab 28
- radio "Custom Key", 52, 116 76 50 10, tab 28
- button "Save Settings", 71, 121 87 37 12, tab 28
- edit "", 27, 62 32 134 10, tab 28
- tab "Chatroom Settings", 55
- box "Chatroom Properties", 56, 4 23 429 84, tab 55
- combo 59, 41 35 138 27, tab 55 size edit drop
- text "Chatroom", 60, 10 35 28 8, tab 55 center
- list 61, 247 49 176 50, tab 55 size vsbar
- check "enable Aop", 62, 41 49 38 10, tab 55 flat
- check "Deowner/Dehost", 64, 85 63 56 10, tab 55 flat
- check "Add Access", 65, 41 63 40 10, tab 55 flat
- check "Access Prot", 66, 146 78 44 10, tab 55 flat
- check "-q Prot", 67, 85 78 50 10, tab 55 flat
- check "enable Banlist", 63, 85 49 46 10, tab 55 flat
- check "Kick Prot", 68, 41 78 39 10, tab 55 flat
- button "Save Settings", 72, 183 35 40 12, tab 55
- menu "Menu", 1
- item "Item2", 2, 1
- }
- ## EXO & SKY'S AUTHENTICATION STUFF
- 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)
- ;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 sky.tobin { return $regsubex($1-,/(*UTF8)(.)/g,$asc(\1) $+ $chr(32)) }
- alias msnx.hex2bin { return $regsubex($1,/([0-9A-Fa-f]{2})/g,$base(\1,16,10) $+ $chr(32)) }
- alias msnx.tobin { return $regsubex($1,/(*UTF8)(\\?.)/g,$iif(\* iswm \1,$replacex(\1,\ $+ 0,0,\ $+ t,9,\ $+ n,10,\ $+ r,13,\ $+ b,32,\ $+ c,44,\ $+ \,92),$asc(\1)) $+ $chr(32)) }
- alias msnx.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) $msnx.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) $msnx.hex2bin($md5(&h1,1)) | return $msnx.unehex($md5(&h2,1)) }
- alias msnx.unehex { return $regsubex($1, /(..)/g, $iif((\1 isin 00 09 0A 0D 20 2C 5C),\ $+ $replace(\1, 00, 0, 09, t, 0A, n, 0D, r, 20, b, 2C, c, 5C, \),$chr($base(\1, 16, 10)))) }
- 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###
- ##### LUKES PASSPORT UPDATER #######
- ##### EVERYONE THANK LUKE ######
- alias ud>File return "Logs\Update.ini"
- alias sPre return $+($$1,>,$r(A,Z),$r(1,9999))
- alias ud var %s = $sPre(UD>S1) | sockopen %s login.live.com 80 | sockmark %s $$1 $$2
- alias bF return $bfind($$1,1,$$2)
- on *:SOCKOPEN:UD>*:{
- var %s = $sockname, %sm = $sock(%s).mark, %stg = $gettok(%s,2,62), %sw = sockwrite -n %s | tokenize 32 %sm
- echo -a %stg - %sm
- if (%stg == S1) { %sw GET /wlogin.srf?appid=000000004C04B301&alg=wsignin1.0 $+(HTTP/1.1,$crlf,Host: login.live.com,$crlf,User-Agent: root,$crlf,Cookie: MUID=DFD2582018CB460B91F4707517868FF8,$crlf,$crlf) }
- if (%stg == S2) { var %str = login= $+ $replace($1,@,$chr(37) $+ 40) $+ &passwd= $+ $2 $+ &SI=Sign+in&PPFT= $+ $hget(PPFT,$1) | %sw POST /ppsecure/post.srf?appid=000000004C04B301&alg=wsignin1.0&bk= $+ $ctime $+(HTTP/1.1,$crlf,Host: login.live.com,$crlf,Content-Length: $len(%str),$crlf,User-Agent: Root,$crlf,Content-Type: application/x-www-form-urlencoded,$crlf,Cookie: MSPOK=,$hget(MSPOK,$1),$crlf,$crlf,%str) | echo 04 #data sent }
- if (%stg == S3) { var %dat = stoken= $+ $replace($replace($3,$chr(37) $+ 2,$chr(37) $+ 252),$chr(37) $+ 3D,$chr(37) $+ 253D) $+ &action=login | %sw POST /webauth-handler.aspx $+(HTTP/1.1,$crlf,Host: irc7.com,$crlf,Content-Length: $len(%dat),$crlf,User-Agent: Root,$crlf,Content-Type: application/x-www-form-urlencoded,$crlf,Accept: */*,$crlf,$crlf,%dat) }
- if (%stg == S4) { %sw GET /RenderChat.aspx $+(HTTP/1.1,$crlf,Host: irc7.com,$crlf,User-Agent: Root,$crlf,Accept: */*,$crlf,Cookie: $3-,$crlf,$crlf) }
- }
- on *:SOCKREAD:UD>*:{
- sockread &a | tokenize 32 $sock($sockname).mark
- var %s = $sockname, %sm = $sock(%s).mark, %stg = $gettok(%s,2,62)
- ; echo -a %s - %stg - $1-
- if (%stg == S1) {
- var %nig = $bfind(&a,1,MSPOK=) | if (%nig > 0) { hadd -m MSPOK $1 $gettok($gettok($mid($bvar(&a,1-).text,%nig),1,59),2,61) }
- var %nig = $bfind(&a,1,name="PPFT") | if (%nig > 0) { hadd -m PPFT $1 $gettok($gettok($mid($bvar(&a,1-).text,%nig),4,61),1,34) | var %sck = $sPre(UD>S2) | sockopen -e %sck login.live.com 443 | sockmark %sck %sm }
- }
- if (%stg == S2) {
- var %nig = $bfind(&a,1,stoken) | if (%nig > 0) { echo 04Now getting ticket & profile for $gettok(%sm,1,32) | var %s = $sPre(UD>S3) | sockopen %s irc7.com 80 | sockmark %s $$1- $gettok($mid($bvar(&a,1-).text,%nig),5,34) $gettok(%sm,1-2,32) }
- var %nig = $bfind(&a,1,WLWorkflow) | if (%nig > 0) { echo 04Not a live account | sockclose $sockname }
- ; echo -a er $bvar(&a,1-).text
- }
- if (%stg == S3) {
- echo -a Stage 3 DONE
- var %nig = $bfind(&a,1,webauthtoken=) | if (%nig > 0) { sockmark $sockname $1 $3 $gettok($mid($bvar(&a,1-).text,%nig),1,59) }
- var %nig = $bfind(&a,1,MSPAuth=) | if (%nig > 0) { sockmark $sockname $sock($sockname).mark $+ ; $gettok($mid($bvar(&a,1-).text,%nig),1,59) }
- var %nig = $bfind(&a,1,MSPProf=) | if (%nig > 0) { sockmark $sockname $sock($sockname).mark $+ ; $gettok($mid($bvar(&a,1-).text,%nig),1,59) }
- var %s = $sPre(UD>S4) | sockopen %s irc7.com 80 | sockmark %s $sock($sockname).mark
- }
- if (%stg == S4) {
- var %w = writeini -n $ud>File $$1
- var %nig = $bfind(&a,1,<UniqueUserID>) | if (%nig > 0) { var %u = $gettok($gettok($mid($bvar(&a,1-).text,%nig),2,62),1,60) | echo -a $1 UID %u | %w UID %u }
- var %nig = $bfind(&a,1,<PassportTicket>) | if (%nig > 0) { var %t = $gettok($gettok($mid($bvar(&a,1-).text,%nig),2,62),1,60) | echo $1 Ticket %t | %w Ticket %t | set %ticket %t }
- var %nig = $bfind(&a,1,<PassportProfile>) | if (%nig > 0) { var %p = $gettok($gettok($mid($bvar(&a,1-).text,%nig),2,62),1,60) | echo $1 Profile %p | %w Profile %p | set %profile %p }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement