_format [Java.Lang] | format
|
A | |
access_coarse_location [Android.Permission] | android.permission.ACCESS_COARSE_LOCATION
|
access_fine_location [Android.Permission] | android.permission.ACCESS_FINE_LOCATION
|
access_link [Instr] |
which
Instr.link_sort does this Instr.opcode access to?
|
access_network_state [Android.Permission] | android.permission.ACCESS_NETWORK_STATE
|
activity [Android.Preference] | android.preference.PreferenceActivity
|
activity [Android.App] | android.app.Activity
|
add [Dataflow.SCHEDULER] |
add the given
Dataflow.SCHEDULER.st into the scheduler
|
add_interface [Modify] |
add an interface to a class.
|
all [Ctrlflow.CTRLFLOW] |
all statements
|
append [Java.Lang] | append
|
appended [Android.Net] | withAppendedPath
|
appended [Android.Content] | withAppendedId
|
application [Android.App] | android.app.Application
|
B | |
b [Java] | byte
|
begins_with [Util] | true if the given string begins with the given prefix
|
bot [Dataflow.LATTICE] | BOTTOM of the lattice
|
bundle [Android.OS] | android.os.Bundle
|
C | |
c [Java] | char
|
calc_this [Dex] |
calculate a register number that holds
this pointer
|
call_trace [Modify] |
trace call stack by modifying methods of specific classes in the dex
|
callers [Callgraph] |
find callers for the given method, with a certain depth
|
cdom [Ctrlflow] |
longest common dominators
|
cfg2dot [Ctrlflow] |
print control-flow graph in dot format
|
cg2dot [Callgraph] |
print
Callgraph.cg in dot format
|
change_network_state [Android.Permission] | android.permission.CHANGE_NETWORK_STATE
|
chk_perm [Android.Content.PM] | checkPermission
|
chk_perm [Android.Content] | checkCallingOrSelfPermission
|
clinit [Java] | <clinit>
|
cls [Java.Lang] | java.lang.Class
|
combine [Combine] |
combine two DEX binaries
|
compare [Dataflow.LATTICE] |
partial order between
Dataflow.LATTICE.l s
|
compare [Util.IntKey] | |
con_serv [Android.Content] | android.content.Context.CONNECTIVITY_SERVICE
|
concat [Java.Lang] | concat
|
context [Android.Content] | android.content.Context
|
cpdom [Ctrlflow] |
longest common post dominators
|
cursor [Android.Database] | android.database.Cursor
|
D | |
d [Java] | double
|
d [Log] | debug
|
dependants [Callgraph] |
find dependent classes for the given class
|
discard_cls [Modify] |
discard anythings related to specific classes
|
dom2dot [Ctrlflow] |
print dominator tree in dot format
|
doms [Ctrlflow] |
compute block-level dominance relations for given
Ctrlflow.cfg
|
dump [Dump] |
dump dex binary for given file name
|
E | |
empty_citm [Dex] |
empty
Dex.code_item
|
empty_dex [Dex] |
empty
Dex.dex
|
empty_section [Dex] |
empty
Dex.section
|
endian_to_str [Dex] | string representation of Dex.endian
|
explode [Util] |
split a
string into a list of char s
|
F | |
f [Java] | float
|
find_str [Dex] |
find string id for given
string ,
Dex.no_idx unless found
|
find_ty_str [Dex] |
find type id for given
string ,
Dex.no_idx unless found
|
fixed_pt [Dataflow.ANALYSIS] |
calculate fixed point
|
fld_comp [Dex] |
comparator for field signatures: field name and type
|
G | |
generate_documentation [Htmlunparse] |
Generate HTML output
|
getHost [Android.Net] | getHost
|
get_argv [Dex] |
get a
list of arguments for given method
|
get_argv [Instr] |
retrieve actual parameters,
e.g.
|
get_cdata [Dex] | |
get_cdef [Dex] |
get
Dex.class_def_item for given class id,
raise Not_found unless found
|
get_cid [Dex] |
get class id from name,
Dex.no_idx unless found
|
get_cid_from_fid [Dex] |
get class id from field id
|
get_cid_from_mid [Dex] |
get class id from method id
|
get_citm [Dex] | |
get_class_name [Java] |
from
Ljava/lang/Object; to Object
|
get_cls [Java.Lang] | getClass
|
get_col_idx [Android.Database] | getColumnIndex
|
get_col_idx_e [Android.Database] | getColumnIndexOrThrow
|
get_data_item [Dex] |
get
Dex.data_item for given offset
|
get_emtd [Dex] |
get
Dex.encoded_method for given class and method,
raise Dex.Wrong_dex if such method is not defined
|
get_fit [Dex] |
get
Dex.field_id_item for given field id
|
get_fldS [Dex] |
get all fields, along with ids, for given class and superclasses
|
get_fld_name [Dex] |
get name for given field
|
get_flds [Dex] |
get all fields, along with ids, for given class
|
get_fst_ins [Modify] |
get the first
Instr.instr
|
get_ins [Dex] | |
get_interfaces [Dex] |
get implemented interfaces of a given class
|
get_last_ins [Ctrlflow] |
get the last instruction
|
get_mit [Dex] |
get
Dex.method_id_item for given method id
|
get_mtdS [Dex] |
get all methods, along with ids, for given class and superclasses
|
get_mtd_name [Dex] |
get name for given method
|
get_mtds [Dex] |
get all methods, along with ids, for given class
|
get_name [Java.Lang] | getName
|
get_off [Dex] |
obtain 32-bits offset from
Off
|
get_package_name [Java] |
from
Ljava/lang/Object; to java.lang
|
get_pit [Dex] |
get
Dex.proto_id_item for a given method.
|
get_rety [Dex] |
get return type for given method
|
get_stk [Java.Lang] | getStackTrace
|
get_str [Dex] | |
get_superclass [Dex] |
get superclass id for given class,
Dex.no_idx if it's at the top level
|
get_superclasses [Dex] |
get superclasses for a given class.
|
get_supermethod [Dex] |
get overriden method at the superclass for given class and method,
Dex.no_idx unless overridable
|
get_sys_serv [Android.Content] | getSystemService
|
get_the_fld [Dex] |
get the specific field of given class and given field name
|
get_the_mtd [Dex] |
get the specific method of given class and given method name
|
get_the_mtd_shorty [Dex] |
get the specific method of given class, method name,
and shorty descriptor (useful for overloading)
|
get_ty_lst [Dex] | |
get_ty_str [Dex] |
get type name for given type id
|
H | |
hasNext [Dataflow.SCHEDULER] | true if it has a next Dataflow.SCHEDULER.st
|
hello [Modify] |
API test
|
hx_to_op [Instr] |
hex to
Instr.opcode
|
hx_to_op_and_size [Instr] |
hex to
Instr.opcode and size
|
I | |
i [Java] | int
|
i [Log] | info
|
idom [Ctrlflow] |
immediate dominator according to dominance relations
|
idx2opr [Dex] |
from
Idx to OPR_INDEX
|
iitf [Android.OS] | android.os.IInterface
|
implements [Modify] | true , adding an abstract method if given class doesn't implement it
|
in_hierarchy [Dex] |
check that some property (given as a function
Dex.link to bool )
holds in hierarchy starting from the given class
|
init [Dataflow.DATAFLOW] |
initial
Dataflow.LATTICE.l
|
init [Java] | <init>
|
inn [Dataflow.ANALYSIS] |
return
IN for the given Dataflow.ANALYSIS.st
|
insrt_citm [Dex] |
insert
Dex.code_item into the data pool
|
insrt_data [Dex] |
insert
Dex.data_item into the data pool
|
insrt_ins [Modify] |
insert an instruction at
Modify.cursor point; Modify.cursor would be advanced
|
insrt_ins [Dex] |
insert
Instr.instr into the data pool
|
insrt_insns [Modify] |
insert instructions at
Modify.cursor point: Modify.cursor will be advanced
|
insrt_insns_after_end [Modify] |
insert instructions after the end of some
Dex.code_item
|
insrt_insns_after_start [Modify] |
insert instructions after the start of some
Dex.code_item
|
insrt_insns_before_end [Modify] |
insert instructions before the end of some
Dex.code_item
|
insrt_insns_before_start [Modify] |
insert instructions before the start of some
Dex.code_item
|
insrt_return_void [Modify] |
insert
Instr.rv at the end of the method
|
insrt_str [Dex] |
insert
string into the data pool
|
insrt_stt [Dex] |
insert
STATIC_VALUE into the data pool
|
insrt_ty_lst [Dex] |
insert
TYPE_LIST into the data pool
|
instr_to_bytes [Instr] |
according to given base address, translate
Instr.instr to bytes
|
instr_to_string [Instr] | Instr.instr to string
|
internet [Android.Permission] | android.permission.INTERNET
|
ipdom [Ctrlflow] |
immediate post dominator according to post dominace realtions
|
is_abstract [Android] | true if given method is abstract
|
is_ins [Dex] | true if the item for given offset is Instr.instr
|
is_interface [Dex] | true if ACC_INTERFACE is set
|
is_key_abstract [Android.View.KeyEvent] | true if given method is one of KeyEvent abstracts
|
is_library [Android] | true if given class is Android library
|
is_library [Java] | true if given class is Java library
|
is_menu_abstract [Android.View.MenuItem] | true if given method is one of MenuItem abstracts
|
is_shorty_descr [Java] | true if given string is fit for shorty description
|
is_superclass [Dex] |
check whether some class is a superclass (up through the hierarchy)
of a given class.
|
is_type_descr [Java] | true if given string is fit for type description
|
is_view_abstract [Android.View] | true if given method is one of View abstracts
|
isoc [Java.Net] | java.net.InetSocketAddress
|
iter [Visitor] | |
J | |
j [Java] | long
|
K | |
key [Android.View] | android.view.KeyEvent
|
L | |
last [Ctrlflow.CTRLFLOW] |
last statement
|
loc_serv [Android.Content] | android.content.Context.LOCATION_SERVICE
|
log [Android.Util] | android.util.Log
|
low_reg [Instr] |
number of "low" registers, registers numbers higher
than this must be moved to a low register before they
can be used for some instructions.
|
lower [Java.Lang] | toLowerCase
|
M | |
machine_instr_to_str [Dex] |
get
string notation of given Dex.state_machine_instr
|
main [Main] | |
make_cfg [Ctrlflow] |
make control-flow graph for given
Dex.code_item
|
make_cg [Callgraph] |
make call graph for overall
Dex.dex file
|
make_class_overridable [Modify] |
rip off the
final qualifier on Dex.class_def_item
|
make_dfa [Propagation] |
make constant propagation analysis
|
make_dfa [Liveness] |
make liveness analysis
|
make_instr [Instr] | |
make_method_overridable [Modify] |
rip off the
final qualifer on Dex.encoded_method
|
manager [Android.Location] | android.location.LocationManager
|
meet [Dataflow.LATTICE] |
meet operator
|
menu [Android.View] | android.view.MenuItem
|
modify [Logging] |
instrument logging features into the dex.
|
mtd_comp [Dex] |
comparator for method signatures: method name, return type, and arguments
|
mtd_comp_relaxed [Dex] |
comparator for method signatures: method name, return type, and arguments,
but ignore the package name for return types and arguments.
|
N | |
new_arr [Instr] |
for a given destination register, size, and type,
generate a new
OP_NEW_ARRAY Instr.instr
|
new_arr_op [Instr] |
for a given value, array, index registers,
generate a new
OP_A(GET|PUT) -kind Instr.instr
|
new_class [Modify] |
add a new class definition;
pass superclass name, its name, and
Dex.access_flag s
|
new_const [Instr] |
for given a register number and constant,
generate
OP_CONST -kind Instr.instr
|
new_const_id [Instr] |
for given register number and string or class id,
generate
OP_CONST -kind Instr.instr
|
new_field [Modify] |
add a new field definition;
pass class id, its name,
Dex.access_flag s, and type
|
new_invoke [Instr] | |
new_method [Modify] |
add a new method definition;
pass class id, its name,
Dex.access_flag s, return type, and arguments
|
new_move [Instr] |
for a given source and destination register,
generate a new
OP_MOVE -kind Instr.instr
|
new_move_result [Instr] |
for given hex code and register number,
generate
OP_MOVE_RESULT -kind Instr.instr
|
new_obj [Instr] |
for a given destination register and type,
generate a new
OP_NEW_INSTANCE Instr.instr
|
new_return [Instr] | |
new_str [Modify] |
add a new
string
|
new_stt_fld [Instr] |
for given register number and static field id,
generate
OP_S(GET|PUT) -kind Instr.instr
|
new_ty [Modify] |
add a new type
|
next [Modify] |
next instruction
|
next [Dataflow.SCHEDULER] |
return the next available
Dataflow.SCHEDULER.st
|
no_idx [Dex] |
wrapping
Dex.no_index with Idx
|
no_index [Dex] |
0xffffffff (= -1 if signed int)
|
no_off [Dex] |
wrapping
Dex.no_offset with Off
|
no_offset [Dex] |
0x00000000
|
O | |
obj [Java.Lang] | java.lang.Object
|
of_i [Log] |
from
int to string
|
of_idx [Dex] |
unwrapping
Idx
|
of_java_ty [Java] |
from
Ljava/lang/Object; to java.lang.Object
|
of_off [Dex] |
unwrapping
Off
|
of_type_code [Dex] |
get
int value of given Dex.type_code
|
of_type_descr [Java] |
from type description
|
off2opr [Dex] |
from
Off to OPR_OFFSET
|
onClick [Android.View] | onClick
|
onCreate [Android.App] | onCreate
|
onDestroy [Android.App] | onDestroy
|
onKey [Android.View] | onKey
|
onKeyDown [Android.View.KeyEvent] | onKeyDown
|
onKeyLongPress [Android.View.KeyEvent] | onKeyLongPress
|
onKeyMultiple [Android.View.KeyEvent] | onKeyMultiple
|
onKeyUp [Android.View.KeyEvent] | onKeyUp
|
onLongClick [Android.View] | onLongClick
|
onMenuItemClick [Android.View.MenuItem] | onMenuItemClick
|
onOptionsItemSelected [Android.App] | onOptionsItemSelected
|
onPause [Android.App] | onPause
|
onResume [Android.App] | onResume
|
onTouch [Android.View] | onTouch
|
op_to_hx [Instr] | Instr.opcode to hex
|
op_to_hx_and_size [Instr] | Instr.opcode to hex and size
|
op_to_string [Instr] | Instr.opcode to string
|
opr2idx [Dex] |
from
OPR_INDEX to Idx
|
opr2off [Dex] |
from
OPR_OFFSET to Off
|
opr_to_string [Instr] | Instr.operand to string
|
out [Dataflow.ANALYSIS] |
return
OUT for the given Dataflow.ANALYSIS.st
|
override [Modify] | true , adding an overriding method if given class doesn't override it
|
own_the_fld [Dex] | true if the class owns the field
|
own_the_mtd [Dex] | true if the class owns the method
|
P | |
parse [Android.Net] | parse
|
parse [Parse] |
parse DEX binary
in_channel into Dex.dex
|
pdom2dot [Ctrlflow] |
print post dominator tree in dot format
|
pdoms [Ctrlflow] |
compute block-level post dominace relations for given
Ctrlflow.cfg
|
pkg [Java.Lang] | java.lang.Package
|
pm [Android.Content.PM] | android.content.pm.PackageManager
|
pred [Ctrlflow.CTRLFLOW] |
predecessors
|
prev [Modify] |
previous instruction
|
print_classes [Unparse] |
print all the class names occurred in DEX file
|
print_info [Unparse] |
print basic infomation about DEX file
|
print_method [Unparse] |
print
Dex.code_item as a method
|
provider [Android.Content] | android.content.ContentProvider
|
ps [Java.IO] | java.io.PrintStream
|
pub [Dex] | ACC_FOR_PUBLIC
|
pwr_serv [Android.Content] | android.content.Context.POWER_SERVICE
|
Q | |
query [Android.Content] | query
|
query [Android.App] | managedQuery
|
R | |
range [Util] |
tail-recursive version of python-like range
|
read_contacts [Android.Permission] | android.permission.READ_CONTACTS
|
read_lines [Util] |
read each line from
in_channel
|
read_phone_state [Android.Permission] | android.permission.READ_PHONE_STATE
|
replace_str [Modify] |
replace old
string with new one;
true if replaced, false if newly added
|
report_str_repl_cnt [Modify] |
report
string replacement counts
|
rm_data [Dex] |
remove
Dex.data_item in the data pool
|
rm_ins [Modify] |
remove an instruction at
Modify.cursor point; Modify.cursor would remain as same
|
rv [Instr] |
void return
|
S | |
s [Java] | short
|
sbd [Java.Lang] | java.lang.StringBuilder
|
seed_addr [Modify] |
set the start address for fresh ones
|
service [Android.App] | android.app.Service
|
set_level [Log] |
set logging level
|
split_string [Util] |
split a
string into a list of string s, with separator split
|
spub [Dex] | ACC_STATIC along with Dex.pub
|
start [Ctrlflow.CTRLFLOW] |
starting statement
|
stk [Java.Lang] | java.lang.StackTraceElement
|
str [Java.Lang] | java.lang.String
|
str_to_endian [Dex] |
obtain
Dex.endian from string representation
|
subst_cls [Modify] |
substitute the given class usage into the new one
|
succ [Ctrlflow.CTRLFLOW] |
successors
|
sys [Java.Lang] | java.lang.System
|
T | |
thr [Java.Lang] | java.lang.Throwable
|
to_acc_flag [Dex] |
make
int representation from bitfields of Dex.access_flag
|
to_idx [Dex] |
wrapping with
Idx
|
to_java_ty [Java] |
from
java.lang.Object to Ljava/lang/Object;
|
to_map [Propagation] |
retrieve a register-value mapping
|
to_module [Ctrlflow] |
make
Ctrlflow.cfg_module type module using Ctrlflow.cfg
|
to_off [Dex] |
wrapping with
Off
|
to_s [Dataflow.LATTICE] |
convert
Dataflow.LATTICE.l to string
|
to_s [Dataflow.ANALYSIS] |
same as
Dataflow.LATTICE.to_s
|
to_s [Ctrlflow.CTRLFLOW] |
for debugging
|
to_s [Java.Lang] | toString
|
to_shorty_descr [Java] |
to shorty description
|
to_type_code [Dex] |
convert
int to corresponding Dex.type_code
|
to_type_descr [Java] |
to type description
|
top [Dataflow.LATTICE] | TOP of the lattice
|
trans [Dataflow.DATAFLOW] |
transfer function
|
trim_1st [Util] |
trim the 1st character
|
trim_last [Util] |
trim the last character
|
ty_comp [Dex] |
comparator for type ids
|
ty_lst_comp [Dex] |
comparator for a
list of type ids
|
ty_lst_comp_relaxed [Dex] |
comparator for a
list of type ids,
but ignore the package name for types.
|
type_code_to_str [Dex] |
get
string notation of given Dex.type_code
|
U | |
unparse [Unparse] |
print
Dex.dex in YAML format
|
update_reg_usage [Modify] |
update register usage:
registers_size and outs_size
|
upper [Java.Lang] | toUpperCase
|
uri [Android.Net] | android.net.Uri
|
uri [Android.Content] | content://com.android.contacts
|
uri_reqs [Java.Apache] | class s that implement org.apache.http.client.methods.HttpUriRequest
|
uris [Android.Content] | android.content.ContentUris
|
V | |
v [Java] | void
|
v [Log] | verbose
|
v_of [Java.Lang] | valueOf
|
view [Android.View] | android.view.View
|
W | |
w [Log] | warn
|
write_settings [Android.Permission] | android.permission.WRITE_SETTINGS
|
Z | |
z [Java] | boolean
|