def unicode_text_lines_from_binary(location): """ Return an iterable over unicode text lines extracted from a binary file at location. """ for line in strings.strings_in_file(location, filt=strings.filter_strict): yield as_unicode(line)
def test_strings_in_file(self): expected = [ u'__text', u'__TEXT', u'__cstring', u'__TEXT', u'__jump_table', u'__IMPORT', u'__textcoal_nt', u'__TEXT', u'_main', u'___i686.get_pc_thunk.bx', u'_setlocale', u'_yyparse', u'/sw/src/fink.build/bison-2.3-1002/bison-2.3/lib/', u'main.c', u'gcc2_compiled.', u'main:F(0,2)', u'int:t(0,2)=r(0,2);-2147483648;2147483647;' ] test_file = self.get_test_loc('strings/basic/main.o') result = list(strings.strings_in_file(test_file)) assert expected == result
def test_strings_in_file_does_fail_if_contains_ERROR_string(self): test_file = self.get_test_loc('strings/bin/file_stripped') list(strings.strings_in_file(test_file))