wip
All checks were successful
/ test_checkout (push) Successful in 51s

This commit is contained in:
Jean-Marie 'Histausse' Mineau 2025-07-16 16:01:35 +02:00
parent 655bff8de2
commit e6c8b0ee6c
Signed by: histausse
GPG key ID: B66AEEDA9B645AD2
9 changed files with 28 additions and 14 deletions

View file

@ -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.

View 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