Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- import sys
- import time
- from rflib import *
- from struct import *
- import argparse
- import pprint
- import bitstring
- baudRate = 650 #BAUD is 640-680ish
- frequency = 467750000
- deviation = 16000.0
- def int2binstr8(__count):
- return "{:08b}".format(__count)
- def makeManchester(__astr):
- astr = ''
- for x in __astr:
- if (x == '0'):
- astr += '01'
- else:
- astr += '10'
- return astr
- def ConfigureD(d):
- d.setMdmModulation(MOD_2FSK)
- d.setFreq(frequency)
- d.setMdmDRate(baudRate)
- d.setMaxPower()
- d.setMdmSyncMode(0)
- d.setMdmDeviatn(deviation)
- print "[+] Radio Config:"
- print " [+] ---------------------------------"
- print " [+] MDMModulation: MOD_2FSK"
- print " [+] Frequency: ",frequency
- print " [+] Baud Rate:",baudRate
- print " [+] ---------------------------------"
- #------------------------------------------------------------
- #RAW bitstream that we are sending
- b1 = "10101010" #AA (same across 3 pager groups)
- b2 = "10101010" #AA (same across 3 pager groups)
- b3 = "10101010" #AA (same across 3 pager groups)
- b4 = "11111100" #FC (same across 3 pager groups)
- b5 = "00101101" #2D (same across 3 pager groups)
- b6 = "00000101" #05 (different by pager group)
- b7 = "00001000" #08 (same across 3 pager groups)
- b8 = "00111001" #39 (pagerID)
- b9 = "00000000" #00 (same across 3 pager groups)
- b10 = "00000000" #00 (same across 3 pager groups)
- b11 = "00000000" #00 (same across 3 pager groups)
- b12 = "00000000" #00 (same across 3 pager groups)
- b13 = "00000000" #00 (same across 3 pager groups)
- b14 = "00000001" #01 (different by pager group)
- crc = "01110001" #71 (crc)
- #------------------------------------------------------------
- d = RfCat()
- ConfigureD(d)
- packet = b1+b2+b3+b4+b5+b6+b7+b8+b9+b10+b11+b12+b13+b14
- #Calculate the CRC
- astr_b = bitstring.BitArray(bin=packet).tobytes()
- crc = 0
- for x in astr_b:
- crc += ord(x)
- crc = crc % 255
- print "CRC = " + hex(crc)
- packet += int2binstr8(crc)
- print packet + "\n"
- mstr = makeManchester(packet)
- mstr = mstr + "1" + mstr + "1" + mstr
- print mstr + "\n"
- bstr = bitstring.BitArray(bin=mstr).tobytes()
- print bstr + "\n"
- d.RFxmit(bstr)
- d.cleanup()
- sys.stdout.write("\n[+]Done.\n")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement