converted some things to python3, it at least starts up now

py3
Felix Pankratz 5 years ago
parent 26371d027f
commit c15d362011

@ -1,4 +1,4 @@
#!/usr/bin/env python #!/usr/bin/env python3
import sys, string, types, hashlib, base64, re, urllib, binascii import sys, string, types, hashlib, base64, re, urllib, binascii
import operator import operator
from collections import Counter from collections import Counter
@ -8,8 +8,8 @@ UPPER_LETTERS = [chr(x) for x in range(65, 91)]
COMMON_LETTERS = 'ETAOIN SHRDLU' COMMON_LETTERS = 'ETAOIN SHRDLU'
def xorRepeating(): def xorRepeating():
plain = raw_input('Please input your Plaintext: ') plain = input('Please input your Plaintext: ')
key = raw_input('Key: ') key = input('Key: ')
hexkey = list() hexkey = list()
i = 0 i = 0
for c in key: for c in key:
@ -26,11 +26,11 @@ def xorRepeating():
print(resultString) print(resultString)
def xorBrutePrompt(): def xorBrutePrompt():
isfile = (raw_input('f for file; for string:') == 'f') isfile = (input('f for file; for string:') == 'f')
maxresults = input('How many top hits? ') maxresults = input('How many top hits? ')
keylength = input('Maximum key length in bytes: ') keylength = input('Maximum key length in bytes: ')
if isfile: if isfile:
path = raw_input('path: ') path = input('path: ')
path = path.strip() path = path.strip()
results = list() results = list()
with open(path, 'r') as file: with open(path, 'r') as file:
@ -50,7 +50,7 @@ def xorBrutePrompt():
for i in tupel: for i in tupel:
print(i[0]) print(i[0])
else: else:
encoded = raw_input('Input your Hex String: ') encoded = input('Input your Hex String: ')
result = xorSingleBrute(encoded, maxresults, keylength) result = xorSingleBrute(encoded, maxresults, keylength)
sortedResults = sorted(result.items(), key=operator.itemgetter(1))[-maxresults:] sortedResults = sorted(result.items(), key=operator.itemgetter(1))[-maxresults:]
for i, j in sortedResults: for i, j in sortedResults:
@ -60,7 +60,7 @@ def xorBrutePrompt():
def xorSingleBrute(encoded='', maxresults=20, keybytes=1): def xorSingleBrute(encoded='', maxresults=20, keybytes=1):
resultDict = dict() resultDict = dict()
if(encoded == ''): if(encoded == ''):
isfile = (raw_input('f for file; for string:') == 'f') isfile = (input('f for file; for string:') == 'f')
for xor_key in range(0, 2**(keybytes*8)): for xor_key in range(0, 2**(keybytes*8)):
decoded = ''; decoded = '';
for i, j in zip(encoded[::2], encoded[1::2]): for i, j in zip(encoded[::2], encoded[1::2]):
@ -75,8 +75,8 @@ def commonCounter(inputString, limit=7):
def fixedxor(string1 = '', string2 = ''): def fixedxor(string1 = '', string2 = ''):
if(string1 == ''): if(string1 == ''):
string1 = raw_input('Please input your first hex string: ') string1 = input('Please input your first hex string: ')
string2 = raw_input('Please input your second hex string: ') string2 = input('Please input your second hex string: ')
hex1 = int(string1, 16) hex1 = int(string1, 16)
hex2 = int(string2, 16) hex2 = int(string2, 16)
result = hex1 ^ hex2 result = hex1 ^ hex2
@ -155,7 +155,7 @@ def zeroWidthString(inputstring):
else: else:
resultstring+= u'\u200d' #zero-width joiner resultstring+= u'\u200d' #zero-width joiner
resultstring += '<' resultstring += '<'
print resultstring print(resultstring)
def resolveZeroWidthString(inputstring): def resolveZeroWidthString(inputstring):
charfound = False charfound = False
@ -170,7 +170,7 @@ def resolveZeroWidthString(inputstring):
bytelist = split_len(binarystring, 8) bytelist = split_len(binarystring, 8)
for byte in bytelist: for byte in bytelist:
resultstring += translate(byte, 1, 5) resultstring += translate(byte, 1, 5)
print resultstring print(resultstring)
def split_len(seq, length): def split_len(seq, length):
return [seq[i:i+length] for i in range(0, len(seq), length)] return [seq[i:i+length] for i in range(0, len(seq), length)]
@ -203,20 +203,20 @@ def hammingDistance(string1, string2):
return diffs return diffs
def urlEncoder(): def urlEncoder():
input = raw_input('Pleae input your String: ') input = input('Pleae input your String: ')
print(urllib.quote_plus(input)) print(urllib.quote_plus(input))
def reverser(): def reverser():
string = raw_input('Please input your string to reverse:') string = input('Please input your string to reverse:')
print(string[::-1]) print(string[::-1])
def base64prompt(): def base64prompt():
b64regex = '^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$' b64regex = '^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$'
isfile = (raw_input('f for file, s for string: ') == 'f') isfile = (input('f for file, s for string: ') == 'f')
if isfile: if isfile:
path = raw_input('Path: ') path = input('Path: ')
path = path.strip() path = path.strip()
outputPath = raw_input('Output file: ') outputPath = input('Output file: ')
with open(path, 'r') as file: with open(path, 'r') as file:
contents = file.read() contents = file.read()
file.close() file.close()
@ -227,7 +227,7 @@ def base64prompt():
outfile.write(decoded) outfile.write(decoded)
outfile.close() outfile.close()
else: else:
inputString = raw_input('Please input your string: ') inputString = input('Please input your string: ')
if (re.match(b64regex, inputString)): if (re.match(b64regex, inputString)):
print(base64.b64decode(inputString)) print(base64.b64decode(inputString))
else: else:
@ -236,7 +236,7 @@ def base64prompt():
def rotPrompt(): def rotPrompt():
choice = input('What kind of ROT do you want to perform? 1-25, or all: ') choice = input('What kind of ROT do you want to perform? 1-25, or all: ')
userInput = raw_input('Please insert a string: ') userInput = input('Please insert a string: ')
if type(choice) is types.IntType: if type(choice) is types.IntType:
print(rot(userInput, choice)) print(rot(userInput, choice))
else: else:
@ -252,20 +252,20 @@ def translatePrompt():
inputType = input('Please specify input type: ') inputType = input('Please specify input type: ')
outputType = input('Please specify output type: ') outputType = input('Please specify output type: ')
if (inputType == 5): if (inputType == 5):
inputString = raw_input('Please input your strings, seperated by semicolon: ') inputString = input('Please input your strings, seperated by semicolon: ')
else: else:
inputString = raw_input('Please input your values, seperated by semicolon: ') inputString = input('Please input your values, seperated by semicolon: ')
inputList = inputString.split(';') inputList = inputString.split(';')
for entry in inputList: for entry in inputList:
print(str(translate(entry, inputType, outputType))) print(str(translate(entry, inputType, outputType)))
def hashPrompt(): def hashPrompt():
typeChoice = raw_input('Would you like to hash a file or a String? f for file, s for string: ') typeChoice = input('Would you like to hash a file or a String? f for file, s for string: ')
algoList = hashlib.algorithms_available algoList = hashlib.algorithms_available
for word in algoList: for word in algoList:
print(word) print(word)
algoChoice = raw_input('Which hashing algorithm? ') algoChoice = input('Which hashing algorithm? ')
if algoChoice in algoList: if algoChoice in algoList:
hasher = hashlib.new(algoChoice) hasher = hashlib.new(algoChoice)
else: else:
@ -273,13 +273,13 @@ def hashPrompt():
sys.exit(0) sys.exit(0)
if (typeChoice == 'f'): if (typeChoice == 'f'):
filePath = raw_input('Please input a fully qualified path: ') filePath = input('Please input a fully qualified path: ')
filePath = filePath.strip() filePath = filePath.strip()
with open(filePath, 'rb') as hashFile: with open(filePath, 'rb') as hashFile:
content = hashFile.read() content = hashFile.read()
hasher.update(content) hasher.update(content)
else: else:
inputString = raw_input('Please input a string: ') inputString = input('Please input a string: ')
hasher.update(inputString) hasher.update(inputString)
print(hasher.hexdigest()) print(hasher.hexdigest())
@ -296,7 +296,7 @@ print('8: XOR Bruteforce Single Byte ')
print('9: XOR Repeating Key') print('9: XOR Repeating Key')
print('10: Zero-Width String') print('10: Zero-Width String')
print('11: Resolve Zero-Width Strings') print('11: Resolve Zero-Width Strings')
choice = raw_input('Please make a selection: ') choice = input('Please make a selection: ')
if (choice == '1'): if (choice == '1'):
rotPrompt() rotPrompt()
elif (choice == '2'): elif (choice == '2'):
@ -321,9 +321,9 @@ elif(choice == '8'):
elif(choice == '9'): elif(choice == '9'):
xorRepeating() xorRepeating()
elif(choice == '10'): elif(choice == '10'):
i = raw_input('String:') i = input('String:')
zeroWidthString(i) zeroWidthString(i)
elif(choice == '11'): elif(choice == '11'):
i = raw_input('String:') i = input('String:')
resolveZeroWidthString(i) resolveZeroWidthString(i)
print('Thank you for flying with PankiCrypt Airlines!') print('Thank you for flying with PankiCrypt Airlines!')
Loading…
Cancel
Save