This commit is contained in:
parent
655bff8de2
commit
e6c8b0ee6c
9 changed files with 28 additions and 14 deletions
|
@ -47,7 +47,7 @@ When instanciating an object with `Object obj = cst.newInstance("Hello Void")`,
|
|||
#figure(
|
||||
```java
|
||||
Method mth = clz.getMethod("myMethod", String.class);
|
||||
Object[] args = {(Object)"an argument"}
|
||||
Object[] args = {(Object)"an argument"};
|
||||
String retData = (String) mth.invoke(obj, args);
|
||||
```,
|
||||
caption: [Calling a method using reflection]
|
||||
|
@ -133,7 +133,7 @@ In those cases, the parameters could be used directly whithout the detour inside
|
|||
) <lst:-th-expl-cl-call-trans>
|
||||
|
||||
|
||||
=== Code loading <sec:th-trans-cl>
|
||||
=== Code Loading <sec:th-trans-cl>
|
||||
|
||||
An application can dynamically import code from several format like #DEX, #APK, #JAR or #OAT, either stored in memory or in a file.
|
||||
Because it is an internal, platform dependant format, we elected to ignore the #OAT format.
|
||||
|
|
13
5_theseus/2_dynamic_data_collection.typ
Normal file
13
5_theseus/2_dynamic_data_collection.typ
Normal file
|
@ -0,0 +1,13 @@
|
|||
#import "../lib.typ": todo
|
||||
|
||||
== Collection Runtime Information <sec:th-dyn>
|
||||
|
||||
In order to perform the transformations described in @sec:th-trans, we need information like the name and signature of the method called with reflection, or the actual bytecode loaded dynamically.
|
||||
We are doing those transformation specifically because those information are difficult to extract statically.
|
||||
Hence, we are using dynamic analysis to collect the runtime information we need.
|
||||
|
||||
=== Collect Bytecode
|
||||
|
||||
=== Collect Reflection Data
|
||||
|
||||
=== Application Execition
|
Loading…
Add table
Add a link
Reference in a new issue