# Dynamic loader inspector

This inspector hooks Android internals methods involved into dynamic bytecode loading, class loading and dynamic calls using Reflection API. It collects and analyse automatically additional Dex file or bytecode loaded at runtime. It is usefull when the application is obfuscated and hides its function calls. Files or data loaded at runtime are copied into the local workspace (`[project_workspace]/runtime/bytecode` folder). Copied files are automatically analysed statically at runtime and when dexcalibur starts. These files can be flushed from project settings menu.

###### Actions:

##### Method invoked dynamically

Heuristic model :

A Class.forName() or a const-class followed by Class.getMethod() is probably a call (trust: moderate, rapidity: fast, stability: stable)

A Class.forName() or a const-class< followed by Class.getMethod() followed statically by a Method.invoke() probably call (trust: good, rapidity: moderate, stability: stable)

A Method.invoke() is probably a call (trust: high, rapidity: fast, stability: unstable - can crash the server ! - frida limitation)

###### Actions :

The table below lists all unique method invoked dynamically. If a method has never been yet discovered, it is tagged with the new label.

- | Method | Flags | Action
--- | --- | --- | ---

##### Dex file loaded dynamically Refresh

The table below lists all Dex files gathered at runtime and decompiled dynamically.

- | Name | Filepath | Action
--- | --- | --- | ---

##### Elements discovered Refresh

The table below lists all elements discovered (string, class, method, field, array, ...).

- | Type | Object | Action
--- | --- | --- | ---