1

Its my first attempt at coding and I've a bit of a snag. I was wondering if one of you would be able to point me in the right direction for this case..

What I'm trying to do is convert a string from hexadecimal format into readable text. Following this, I want to run the converted string/text against some regex commands in order to pick out things like email addresses and domains.

I know the codes work individually when testing - but the problem is that when trying to run them together, I am unable to properly assign the print output of the converted string into the variable for me to run the regex commands against.

Any tips or suggestions on how I can get around to properly assigning the converted string into a variable and work on it?

This is part of the code as the rest are options available to convert other format types into readable text:

#!/usr/bin/env python3

import base64
import codecs
import re
import sys




print(" If the data is Hexadecimal and looks similar to this: 48656C6C6F20686F77206172, enter: 2 ")

print("")

decision = int(input("enter the number here: "))

print("")

message = input("Enter the data you wish to have decoded: ")



def decode_hex1(encoded_text):

    information = ''

    for i in range(len(encoded_text)//2):

        information = information + 

        print(codecs.decode(encoded_text[i*2:i*2+2]0, "hex").decode('utf-8'), end="")   

    return information



if decision == 2:

    output = decode_hex1(message)

    match_emails = re.findall(r'[\w.+-]+@[\w-]+\.[\w.-]+', output)

    print("The following emails may be of interest to you: ", match_emails)

    print("")

    domain_regex = r'(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-]{,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}'

    match_domains = re.findall(domain_regex, output)

    print("The following domains may be of interest to you: ", (match_domains))



else:

    print("Invalid Choice - please check the number and try again")

print("")

print("Done")
John Glenn
  • 1,469
  • 8
  • 13

0 Answers0