Advertisement
Ford

Encode Web Socket Message for mIRC

Jan 18th, 2013
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
mIRC 1.06 KB | None | 0 0
  1. ;Encode WebSocket Syntax: $encodews(messageinplaintexthere)
  2. alias encodews {
  3.   var %hash $mask, %hashcounter 1, %messagecounter 1
  4.   bset -t &message 1 $1-
  5.   var %message $bvar(&message,1-)
  6.   while (%messagecounter <= $gettok(%message,0,32)) {
  7.     %message = $puttok(%message,$xor($gettok(%hash,%hashcounter,32),$gettok(%message,%messagecounter,32)),%messagecounter,32)
  8.     inc %messagecounter
  9.     %hashcounter = $iif(%hashcounter < 4,$calc(%hashcounter + 1), 1)
  10.   }
  11.   return $regsubex(129 $getlength($1-) %hash %message,/([0-9]{1,3})\s|$/gi,$+($base(\t,10,16),$chr(32)))
  12. }
  13. alias -l mask {
  14.   return $+($r(1,255),$chr(32),$r(1,255),$chr(32),$r(1,255),$chr(32),$r(1,255))
  15. }
  16. alias -l getlength {
  17.   if ($len($1-) < 126) {
  18.     var %len $base($+(1,$base2($len($1-),7)),2,10)
  19.   }
  20.   else {
  21.     noop $regex($base2($len($1-),8),/([01]*)([01]{8})$/)
  22.     var %len $+(254,$chr(32),$iif($base($regml(1),2,10),$v1,0),$chr(32),$base($regml(2),2,10))
  23.   }
  24.   return %len
  25. }
  26. alias -l base2 {
  27.   var %base $base($1,10,2),%len $2
  28.   return $+($str(0,$calc(%len - $len(%base))),%base)
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement