Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ This program takes the hexadecimal data stored on FDX-B microchips and converts,
When working with RFID chips on the Flipper Zero, it tells you the information that is saved on the chips. If you extract the saved chip to another device, the file only contains the hexadecimal data and not the human readable information. I wrote this program to be able to get that information without needing the Flipper on-hand.

## Usage:
Run the program with Python 3. You will then be prompted to enter the hex data. This must be 22 bytes long. Spaces are allowed but optional, as they are stripped before calculations are done.
Run the program with Python 3. You will then be prompted to enter the hex data. This must be 22 bytes long. Any consistent non-hex delimiter character (at position 2 of the array) is allowed but optional, as they are stripped before calculations are done.

## To-Do:
Plenty of more work can be done on this. I would like to be able to generate hex from information, to be able to add microchips to the flipper.
Expand Down
15 changes: 12 additions & 3 deletions fdxb-calc.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,19 @@
Version: 1.0
Author name: Unded Inside
Date created: 2022-10-01
Date modified: 2022-10-22
Date modified: 2022-11-05
Python version: 3.9.2
'''

def replaceInput(inputData):
data = inputData.lower()
ignoreValues = ['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f']
delimiter = data[2]
if delimiter in ignoreValues:
str = data
else:
str = data.replace(delimiter, "")
return str

def hexToBin(toConvert):
binaryString = ""
Expand Down Expand Up @@ -102,8 +111,8 @@ def splitData(toSplit):

def main():
userInput = input("Please enter hex string.\n: ")
# Strips spaces
userInput = userInput.replace(" ", "")
# Strips delimiters
userInput = replaceInput(userInput)
# Checks length
if len(userInput) != 22:
print("Input must be 11 bytes (spaces allowed)")
Expand Down