(original) (raw)
#!/usr/bin/python3 import urllib.parse # This what appears in output_list (that should contain only converted strings) bad_boys={ 'seil%2fb1_firmware', 'seil%2fx1_firmware', 'seil%2fx2_firmware', 'eil%2fx2_firmware', 'seil%2fx86_firmware', 'seil%2fturbo_firmware', 'seil%2fneu_2fe_plus_firmware', 'intelligent_platforms_proficy_hmi%2fscada_cimplicity' } print("Bad Boys are:") for bb in bad_boys: print("\t",bb, id(bb)) print("") # This what Bad Boys converts to # (excluding 'eil%2fx2_firmware' whose origin is even more mysterious, # one thing is obvious - it's related to 'seil%2fx2_firmware' string) normal_conversions={ 'seil/b1_firmware', 'seil/x1_firmware', 'seil/x2_firmware', 'seil/x86_firmware', 'seil/turbo_firmware', 'seil/neu_2fe_plus_firmware', 'intelligent_platforms_proficy_hmi/scada_cimplicity' } # Read input data from the file, each line becomes input_list's element input_list=[] with open('data.txt','r') as f: input_list = [l.strip() for l in f.readlines()] print("Input list length is:", len(input_list),"\n") # Converting the each string element of the input_list with urllib.parse.unquote() output_list=[] for entry in input_list: flag=False # Printing (debug) if entry in bad_boys: flag=True print("Bad Boy detected") print("Element type:", type(entry)) print("Convertation:",entry,id(entry),end=" ") # Conveting conv_entry=urllib.parse.unquote(entry) # Printing (debug) if flag: print(">>",conv_entry,id(conv_entry)) # Pushing to list output_list.append(conv_entry) # Printing (debug) if entry in bad_boys: print("Just appended:", output_list[-1], id(output_list[-1])) flag=False for x in output_list: if x in normal_conversions: if not flag: print("Normal conversions in output list:") flag=True print("\t",x,id(x)) flag=False for x in output_list: if x in bad_boys: if not flag: print("Bad Boys in output list:") flag=True print("\t",x,id(x)) print("") # Printing (debug) print("FINAL RESULTS") print("Output list length is:", len(output_list)) print("Normal conversions in output list (Bad Boys -related):") for x in output_list: if x in normal_conversions: print("\t", x, id(x)) print("Bad Boys in output list:") for x in output_list: if x in bad_boys: print("\t", x, id(x)) exit(0)