Commit Graph

3 Commits

Author SHA1 Message Date
JingMatrix 6703b45350
Fix oat_hook for recent Android versions (#387)
We used to hook functions `OatHeader::GetKeyValueStore` and `OatHeader::GetKeyValueStoreSize` to clean the `dex2oat` trace introduced by LSPosed. However, in recent versions of Android, these two functions are no longer exported. Moreover, the `OatHeader` structure has changed, which now sets certain entries to have fixed length by padding zeros.

To address these two changes, we hook `OatHeader::ComputeChecksum` as an entrypoint (fallback), and then employ the header file of `OatHeader` copied from AOSP to precisely locate its fields. Using this strategy, we modify `key_value_store` in memory, depending on whether the entry `dex2oat-cmdline` is padded.
2025-08-09 07:36:44 +02:00
JingMatrix 165ad94bf9 Adjust logs for dex2oat
1. Log dex2oat for debugging purpose
2. Avoid log formatting warning of type `dev_t` since it could be `%lu`
   or `%u`
3. Reformat changed files
2025-03-07 07:13:35 +01:00
JingMatrix c0478f593e
Hook dex2oat functions to remove LSPosed traces (#152)
We use the env LD_PRELOAD to hook the execution of `dex2oat`, which can be directly set to be a file descriptor.
2025-01-08 07:19:18 +01:00