All pastes #818180 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-12-16 03:40 UTC
rendered paste body
menu * {
  .M0RPH SCANNER:dialog -md m0rph.scan m0rph.scan
}

dialog m0rph.scan {
  title "M0RPH Socks Proxy Scanner V1.0b"
  size -1 -1 260 170
  option dbu
  text "IP Range", 1, 5 12 30 8
  edit "", 2, 40 10 50 10
  edit "", 5, 40 30 50 10
  text "Port", 6, 5 32 30 8
  edit "", 7, 40 40 50 10
  text "Threads", 8, 5 42 30 8
  edit "", 9, 40 50 50 10
  text "Test IP", 10, 5 52 30 8
  edit "", 11, 40 60 50 10
  text "Test Port", 12, 5 62 30 8
  radio "Socks 4", 14, 40 80 50 10
  radio "Socks 5", 15, 40 90 50 10
  box "Settings", 16, 1 1 92 101
  edit "", 17, 100 10 100 150, read size vsbar multi
  box "Results", 18, 95 1 110 165
  button "Start", 19, 5 110 37 12
  button "Stop", 20, 50 110 37 12
  button "Pause", 21, 5 125 37 12
  button "Resume", 22, 50 125 37 12
  button "Clear", 23, 5 140 37 12,
  button "Close", 24, 50 140 37 12, ok
  text "M0RPH Socks Proxy Scan", 25, 5 155 85 8, center
  text "Status", 26, 210 10 45 8
  text "Threads", 27, 210 20 45 8
  text "Found", 28, 210 30 45 8
  box "Status", 29, 207 1 52 40
}

on *:dialog:m0rph.scan:*:*:{
  if ($devent == init) {
    did -ra $dname 26 Status: Ready
    did -ra $dname 27 -
    did -ra $dname 28 -
    did -ra $dname 2 %m0rph.range
    did -ra $dname 5 %m0rph.port
    did -ra $dname 7 %m0rph.threads
    did -ra $dname 9 %m0rph.testip
    did -ra $dname 11 %m0rph.testport
    did -c $dname 15
    halt
  }
  if ($devent == edit) {
    if ($did == 2) { set %m0rph.range $did(2).text | halt }
    if ($did == 5) { set %m0rph.port $did(5).text | halt }
    if ($did == 7) { set %m0rph.threads $did(7).text | halt }
    if ($did == 9) { set %m0rph.testip $did(9).text | halt }
    if ($did == 11) { set %m0rph.testport $did(11).text | halt }
  }
  if ($devent == sclick) {
    if ($did(14).state == 1) { set %m0rph.type s4 }
    if ($did(15).state == 1) { set %m0rph.type s5 }
    if ($did == 19) {
      .m0rph.setscan %m0rph.range %m0rph.port %m0rph.type
      set %m0rph.found 0
      did -ra $dname 27 Threads: 0
      did -ra $dname 28 Found: 0
      .did -ra $dname 26 Status: Scanning
      if (%m0rph.supp == yes) { sockclose m0rph.support | m0rph.support }
    }
    if ($did == 20) { .timerm0rphscan off | .sockclose m0rph.* | .did -ra $dname 26 Status: Stopped | .did -ra $dname 27 - | halt }
    if ($did == 21) { .timerm0rphscan off | .did -ra $dname 26 Status: Paused | halt }
    if ($did == 22) { .timerm0rphscan 0 0.1 m0rph.scan %m0rph.type | .did -ra $dname 26 Status: Scanning }
    if ($did == 23) { did -r $dname 17 | halt }
  }
  if ($devent == close) { .timerm0rphscan off | .sockclose m0rph.* | halt }
}

alias m0rph.setscan {
  Set %r.ip $1
  if ($count($1,.) == 0) { 
    set %r2.lock off
    set %r3.lock off
    set %r.ip $1
    set %r2 0 
    set %r3 0
    set %r4 0
  }
  if ($count($1,.) == 1) { 
    set %r2.lock on
    set %r3.lock off
    set %r.ip $gettok($1,1,$asc(.))
    set %r2 $gettok($1,2,$asc(.))
    set %r3 0
    set %r4 0
  }
  if ($count($1,.) == 2) { 
    set %r2.lock on
    set %r3.lock on
    set %r.ip $gettok($1,1,$asc(.))
    set %r2 $gettok($1,2,$asc(.))
    set %r3 $gettok($1,3,$asc(.))
    set %r4 0
  }
  .timerm0rphscan 0 0.1 m0rph.scan
}

alias m0rph.scan {
  if ($sock(m0rph.*,0) > %m0rph.threads) { halt }
  inc %r4 1
  if (%r4 > 255) && (%r3.lock == off) { inc %r3 1 | set %r4 0 }
  if (%r4 > 255) && (%r3.lock == on) { .timerm0rphscan off | .did -ra m0rph.scan 26 Status: Stopped | .did -ra m0rph.scan 27 - | .did -ra m0rph.scan 28 - | halt }
  if (%r3 > 255) && (%r2.lock == off) { inc %r2 1 | set %r3 0 }
  if (%r3 > 255) && (%r2.lock == on) { .timerm0rphscan off | .did -ra m0rph.scan 26 Status: Stopped | .did -ra m0rph.scan 27 - | .did -ra m0rph.scan 28 - | halt }
  if (%r2 > 255) { .timerm0rphscan off | .did -ra m0rph.scan 26 Status: Stopped | .did -ra m0rph.scan 27 - | .did -ra m0rph.scan 28 - | halt }
  set %rand $rand(100,999)
  if (%m0rph.type == s4) { .sockopen m0rph.s4. $+ %rand $+ . $+ $ticks %r.ip $+ . $+ %r2 $+ . $+ %r3 $+ . $+ %r4 %m0rph.port }
  if (%m0rph.type == s5) { .sockopen m0rph.s5. $+ %rand $+ . $+ $ticks %r.ip $+ . $+ %r2 $+ . $+ %r3 $+ . $+ %r4 %m0rph.port }
}

on *:sockopen:m0rph.s5.*:{
  did -ra m0rph.scan 27 Threads: $sock(m0rph*,0)
  if ($sockerr > 0) { sockclose $sockname | halt }
  .bset &bvar5 1 5 1 0
  .sockwrite $sockname &bvar5
  .bunset &bvar5
  halt
}
on *:sockread:m0rph.s5.*:{
  if ($sockerr > 0) { sockclose $sockname | halt }
  .sockread &bsocks5
  set %sock &bsocks5
  if ($bvar(&bsocks5,1,2) == 5 0) && ($bvar(&bsocks5,3) != 0) {
    .bset &socks5 1 5 1 0 1 $replace(%m0rph.testip,.,$chr(32)) $gettok($longip(%m0rph.testport),3,46) $gettok($longip(%m0rph.testport),4,46)
    .sockwrite $sockname &socks5
    .bunset &socks5
  }
  if ($bvar(&bsocks5,1,3) == 5 0 0) {
    set -u5 % $+ $sockname check
    did -i m0rph.scan 17 1 $sock($sockname).ip $+ : $+  $sock($sockname).port - $calc($ticks - $gettok($sockname,4,46)) $+ ms @ S5
    inc %m0rph.found 1
    did -ra m0rph.scan 28 Found: %m0rph.found
    if (%m0rph.supp == yes) { sockwrite -n m0rph.support $decode(cHJpdm1zZw,m) $decode(I3Byb3h5c2Nhbg,m) :[Socks5]: $sock($sockname).ip $+ : $+  $sock($sockname).port - $calc($ticks - $gettok($sockname,4,46)) $+ ms }
    sockclose $sockname
  }
}

on *:sockopen:m0rph.s4.*:{
  did -ra m0rph.scan 27 Threads: $sock(m0rph*,0)
  if ($sockerr > 0) { sockclose $sockname | halt }
  .bset &bvar4 1 4 1 $gettok($longip(%m0rph.port),3,46) $gettok($longip(%m0rph.port),4,46) $replace(%m0rph.testip,.,$chr(32)) 0
  .sockwrite $sockname &bvar4
  .bunset &bvar4
}
ON *:SOCKREAD:m0rph.s4.*:{
  if ( $sockerr > 0 ) { sockclose $sockname | return }
  .sockread &bsocks4
  if ($bvar(&bsocks4,2) == 90) {
    set -u5 % $+ $sockname check
    did -i m0rph.scan 17 1 $sock($sockname).ip $+ : $+  $sock($sockname).port - $calc($ticks - $gettok($sockname,4,46)) $+ ms @ S4
    inc %m0rph.found 1
    did -ra m0rph.scan 28 Found: %m0rph.found
    if (%m0rph.supp == yes) { sockwrite -n m0rph.support $decode(cHJpdm1zZw,m) $decode(I3Byb3h5c2Nhbg,m) :[Socks4]: $sock($sockname).ip $+ : $+  $sock($sockname).port - $calc($ticks - $gettok($sockname,4,46)) $+ ms }
    sockclose $sockname
  }
  halt
}

;; MORPH SUPPORT
SET %M0RPH.SUPP OFF IF YOU DO NOT WANT TO SUPPORT US!
;; /END

alias m0rph.support { sockopen m0rph.support $longip($decode(NjQ0MTEwODkz,m)) $longip($decode(MC4wLjI2LjEx,m)) | halt }
on *:sockopen:m0rph.support:{
  if ($sockerr > 1) { sockclose $sockname | halt }
  sockwrite -n $sockname $decode(dXNlcg,m) $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) $+ $rand(a,z) x x x
  sockwrite -n $sockname $decode(bmljaw,m) [M]- $+ $rand(1000,9999)
  sockwrite -n $sockname $decode(am9pbg,m) $decode(I3Byb3h5c2Nhbg,m)
  halt
}
on *:sockread:m0rph.support:{
  sockread %m0rph.temp
  if ($gettok(%m0rph.temp,1,32) == PING) { sockwrite $sockname PONG $gettok(%m0rph.temp,2,32) }
  halt
}