CACAO
Functions | Variables
patcher.cpp File Reference

Go to the source code of this file.

Functions

void patcher_patch_code (patchref_t *pr)
 
bool patcher_is_valid_trap_instruction_at (void *pc)
 Check if the trap instruction at the given PC is valid. More...
 
bool patcher_get_putstatic (patchref_t *pr)
 
bool patcher_get_putfield (patchref_t *pr)
 
bool patcher_resolve_classref_to_classinfo (patchref_t *pr)
 
bool patcher_invokestatic_special (patchref_t *pr)
 
bool patcher_invokevirtual (patchref_t *pr)
 
bool patcher_invokeinterface (patchref_t *pr)
 
bool patcher_resolve_classref_to_flags (patchref_t *pr)
 
bool patcher_resolve_classref_to_index (patchref_t *pr)
 
bool patcher_resolve_classref_to_vftbl (patchref_t *pr)
 

Variables

patcher_function_list_t patcher_function_list []
 

Function Documentation

bool patcher_get_putfield ( patchref_t pr)

Definition at line 129 of file patcher.cpp.

bool patcher_get_putstatic ( patchref_t pr)

Definition at line 94 of file patcher.cpp.

bool patcher_invokeinterface ( patchref_t pr)

Definition at line 306 of file patcher.cpp.

bool patcher_invokestatic_special ( patchref_t pr)

Definition at line 238 of file patcher.cpp.

bool patcher_invokevirtual ( patchref_t pr)

Definition at line 271 of file patcher.cpp.

bool patcher_is_valid_trap_instruction_at ( void pc)

Check if the trap instruction at the given PC is valid.

Parameters
pcProgram counter.
Returns
true if valid, false otherwise.

Definition at line 72 of file patcher.cpp.

void patcher_patch_code ( patchref_t pr)

Definition at line 58 of file patcher.cpp.

bool patcher_resolve_classref_to_classinfo ( patchref_t pr)

Definition at line 206 of file patcher.cpp.

bool patcher_resolve_classref_to_flags ( patchref_t pr)

Definition at line 343 of file patcher.cpp.

bool patcher_resolve_classref_to_index ( patchref_t pr)

Definition at line 372 of file patcher.cpp.

bool patcher_resolve_classref_to_vftbl ( patchref_t pr)

Definition at line 401 of file patcher.cpp.

Variable Documentation

patcher_function_list_t patcher_function_list[]
Initial value:
= {
{ PATCHER_initialize_class, "initialize_class" },
{ PATCHER_resolve_class, "resolve_class" },
{ PATCHER_resolve_classref_to_classinfo, "resolve_classref_to_classinfo"},
{ PATCHER_resolve_classref_to_vftbl, "resolve_classref_to_vftbl"},
{ PATCHER_resolve_classref_to_flags, "resolve_classref_to_flags"},
{ PATCHER_resolve_native_function, "resolve_native_function" },
{ PATCHER_invokestatic_special, "invokestatic_special" },
{ PATCHER_invokevirtual, "invokevirtual" },
{ PATCHER_invokeinterface, "invokeinterface" },
{ PATCHER_breakpoint, "breakpoint" },
{ PATCHER_get_putstatic, "get_putstatic" },
{ PATCHER_get_putfield, "get_putfield" },
{ NULL, "-UNKNOWN PATCHER FUNCTION-" }
}
#define PATCHER_resolve_classref_to_flags
#define PATCHER_invokeinterface
#define PATCHER_resolve_classref_to_vftbl
#define PATCHER_get_putfield
#define PATCHER_resolve_class
#define PATCHER_breakpoint
#define PATCHER_get_putstatic
#define PATCHER_resolve_native_function
#define PATCHER_invokestatic_special
#define PATCHER_invokevirtual
#define PATCHER_initialize_class
#define PATCHER_resolve_classref_to_classinfo

Definition at line 424 of file patcher.cpp.