Advertisement
Guest User

Untitled

a guest
Oct 4th, 2015
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. #!/usr/bin/env python
  2.  
  3. import sys
  4. import time
  5. from rflib import *
  6. from struct import *
  7. import argparse
  8. import pprint
  9. import bitstring
  10.  
  11. baudRate = 650 #BAUD is 640-680ish
  12. frequency = 467750000
  13. deviation = 16000.0
  14.  
  15. def int2binstr8(__count):
  16. return "{:08b}".format(__count)
  17.  
  18. def makeManchester(__astr):
  19. astr = ''
  20. for x in __astr:
  21. if (x == '0'):
  22. astr += '01'
  23. else:
  24. astr += '10'
  25. return astr
  26.  
  27. def ConfigureD(d):
  28. d.setMdmModulation(MOD_2FSK)
  29. d.setFreq(frequency)
  30. d.setMdmDRate(baudRate)
  31. d.setMaxPower()
  32. d.setMdmSyncMode(0)
  33. d.setMdmDeviatn(deviation)
  34.  
  35. print "[+] Radio Config:"
  36. print " [+] ---------------------------------"
  37. print " [+] MDMModulation: MOD_2FSK"
  38. print " [+] Frequency: ",frequency
  39. print " [+] Baud Rate:",baudRate
  40. print " [+] ---------------------------------"
  41.  
  42. #------------------------------------------------------------
  43. #RAW bitstream that we are sending
  44. b1 = "10101010" #AA (same across 3 pager groups)
  45. b2 = "10101010" #AA (same across 3 pager groups)
  46. b3 = "10101010" #AA (same across 3 pager groups)
  47. b4 = "11111100" #FC (same across 3 pager groups)
  48. b5 = "00101101" #2D (same across 3 pager groups)
  49. b6 = "00000101" #05 (different by pager group)
  50. b7 = "00001000" #08 (same across 3 pager groups)
  51. b8 = "00111001" #39 (pagerID)
  52. b9 = "00000000" #00 (same across 3 pager groups)
  53. b10 = "00000000" #00 (same across 3 pager groups)
  54. b11 = "00000000" #00 (same across 3 pager groups)
  55. b12 = "00000000" #00 (same across 3 pager groups)
  56. b13 = "00000000" #00 (same across 3 pager groups)
  57. b14 = "00000001" #01 (different by pager group)
  58. crc = "01110001" #71 (crc)
  59.  
  60. #------------------------------------------------------------
  61. d = RfCat()
  62. ConfigureD(d)
  63.  
  64. packet = b1+b2+b3+b4+b5+b6+b7+b8+b9+b10+b11+b12+b13+b14
  65.  
  66. #Calculate the CRC
  67. astr_b = bitstring.BitArray(bin=packet).tobytes()
  68. crc = 0
  69. for x in astr_b:
  70. crc += ord(x)
  71. crc = crc % 255
  72. print "CRC = " + hex(crc)
  73.  
  74. packet += int2binstr8(crc)
  75. print packet + "\n"
  76. mstr = makeManchester(packet)
  77. mstr = mstr + "1" + mstr + "1" + mstr
  78. print mstr + "\n"
  79. bstr = bitstring.BitArray(bin=mstr).tobytes()
  80. print bstr + "\n"
  81.  
  82. d.RFxmit(bstr)
  83.  
  84. d.cleanup()
  85. sys.stdout.write("\n[+]Done.\n")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement