comparison examples/inject_redir.py @ 128:b381aa95fbad

Apply array sorting in inject_redir.py
author Thinker K.F. Li <thinker@codemud.net>
date Mon, 08 Aug 2011 22:48:14 +0800
parents ff6f869273b7
children 044bfc415577
comparison
equal deleted inserted replaced
127:650244dcdd82 128:b381aa95fbad
6 # injected class. 6 # injected class.
7 # 7 #
8 from paraspace.dexfile import DEXFile, DEXFile_linked 8 from paraspace.dexfile import DEXFile, DEXFile_linked
9 from paraspace.dex_deptracker import prepare_dep_decls 9 from paraspace.dex_deptracker import prepare_dep_decls
10 from paraspace.dex_deptracker import restore_dependencies 10 from paraspace.dex_deptracker import restore_dependencies
11 from paraspace.dex_deptracker import dex_sort_sorted_arrays
11 from paraspace.injection import inject_classdefs, make_methodidxs_redir_map 12 from paraspace.injection import inject_classdefs, make_methodidxs_redir_map
12 from paraspace.injection import dexfile_redirect_types 13 from paraspace.injection import dexfile_redirect_types
13 import sys 14 import sys
14 15
15 if len(sys.argv) != 6: 16 if len(sys.argv) != 6:
49 injected_typeidxs = [dst_linked.get_idx_classdef(classdef) 50 injected_typeidxs = [dst_linked.get_idx_classdef(classdef)
50 for classdef in injected_classdefs] 51 for classdef in injected_classdefs]
51 dexfile_redirect_types(dst_linked, typeidxs_redir, methodidxs_redir, 52 dexfile_redirect_types(dst_linked, typeidxs_redir, methodidxs_redir,
52 excludes=injected_typeidxs) 53 excludes=injected_typeidxs)
53 54
55 dex_sort_sorted_arrays(dst_linked)
54 restore_dependencies(dst_linked, decls) 56 restore_dependencies(dst_linked, decls)
55 57
56 restore_raw = dst_linked.to_str() 58 restore_raw = dst_linked.to_str()
57 59
58 ofile = open(output_name, 'w') 60 ofile = open(output_name, 'w')