def test_file_occurence_vector(self): result = fu.file_occurence_vector('files/fp/fp_funs.as', swfu.FP_ACTIONSCRIPT_STR_LIST) shouldbe = (0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) self.assertTupleEqual(result, shouldbe) # Test with an empty file result = fu.file_occurence_vector('files/emptyfile.txt', swfu.FP_ACTIONSCRIPT_STR_LIST) shouldbe = (0, ) * len(swfu.FP_ACTIONSCRIPT_STR_LIST) self.assertTupleEqual(result, shouldbe)
def test_file_occurence_vector(self): result = fu.file_occurence_vector('files/fp/fp_funs.as', swfu.FP_ACTIONSCRIPT_STR_LIST) shouldbe = (0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, \ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) self.assertTupleEqual(result, shouldbe) # Test with an empty file result = fu.file_occurence_vector('files/emptyfile.txt', swfu.FP_ACTIONSCRIPT_STR_LIST) shouldbe = (0,)*len(swfu.FP_ACTIONSCRIPT_STR_LIST) self.assertTupleEqual(result, shouldbe)
def get_occurence_vector_from_swf(swf_filename, out_dir=''): cum_pattern = [0]*len(FP_ACTIONSCRIPT_STR_LIST) for src_file in gen_decompile_swf(swf_filename, out_dir): vector = fu.file_occurence_vector(src_file, FP_ACTIONSCRIPT_STR_LIST) cum_pattern = [x+y for (x, y) in zip(cum_pattern, vector)] wl_log.info("Cum Vector for %s %s" % (swf_filename[len(out_dir):], human_readable_occ_vector(cum_pattern))) return cum_pattern
def get_occurence_vector_from_swf(swf_filename, out_dir=''): cum_pattern = [0] * len(FP_ACTIONSCRIPT_STR_LIST) for src_file in gen_decompile_swf(swf_filename, out_dir): vector = fu.file_occurence_vector(src_file, FP_ACTIONSCRIPT_STR_LIST) cum_pattern = [x + y for (x, y) in zip(cum_pattern, vector)] wl_log.info( "Cum Vector for %s %s" % (swf_filename[len(out_dir):], human_readable_occ_vector(cum_pattern))) return cum_pattern