Commit Graph
53 Commits
Author SHA1 Message Date
Dakkshesh d762663192 java: Overhaul detection of attestation properties
- Reuse and extend the attestation we perform for detection of functional TEE.
- Extract properties like boot hash, os version, attest version, keymaster version from the generated certificate.
- Use previous methods as fallback for devices without functional TEE.
- Set ro.boot.vbmeta.digest during initialization with the boot hash value.

Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-19 19:33:27 +05:30
Dakkshesh 088e9ff1b0 java: Stop using dev.rikka.hidden.stub
- We dont need the whole dev.rikka.hidden.stub library so just remove it and simplify dependencies.
- We already have our own stub package so we can just include the missing stubs that we want directly in it.

Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-17 23:15:44 +05:30
Dakkshesh af2707765a workflows: build: Remove redundant setup/configuration
Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-17 21:29:20 +05:30
Dakkshesh efb704500e .idea: Refresh
Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-17 21:29:03 +05:30
Nicholas BissellandGitHub 095b32554b java: CertHack: Honour StrongBox security level when requested in generate mode (#20) 2025-08-17 12:29:09 +05:30
MONAandGitHub 7410315701 Add more package names to target.txt (#21)
* Add more root detection and security analysis app package names to target.txt
* Revised commit: kept only apps that check bootloader status
2025-08-17 11:46:20 +05:30
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
8b19dc5376 build(deps): bump org.jetbrains.kotlin.android from 2.2.0 to 2.2.10 (#18)
Bumps [org.jetbrains.kotlin.android](https://github.com/JetBrains/kotlin) from 2.2.0 to 2.2.10.
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v2.2.0...v2.2.10)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin.android
  dependency-version: 2.2.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-14 17:37:43 +05:30
Nicholas BissellandGitHub a41c49dcbf Correct package paths for keystore2 API stub (#16) 2025-08-14 13:16:51 +05:30
Dakkshesh 6517fd2569 java: CertHacker: Pass imei2 field correctly
- It was being passed with the wrong tag ID
- Only pass it if attestVersion is >= 300

ref: https://source.android.com/docs/security/features/keystore/attestation#authorizationlist-fields

Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-13 12:26:25 +05:30
Dakkshesh 10c1a41981 java: CertHacker: Handle attest and keymaster version gracefully
Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-13 12:06:24 +05:30
DakksheshandGitHub e768569ed6 README: Add vvb2060/KeyAttestation to acknowledgement 2025-08-11 22:05:42 +05:30
DakksheshandGitHub c55df1743b README: Add android requirement 2025-08-11 22:03:56 +05:30
Dakkshesh 5d2ba396e1 Revert "module: Set minimum sdk to 31"
- Injection failures have been fixed on android 10/11.

This reverts commit de71e45bf3.

Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-11 20:34:08 +05:30
Dakkshesh a33069b481 java: CertHack: Dont append moduleHash for < Android 12
- To avoid "Unknown tag 724" error on older platfoms like Android 10/11
- Conditionally downgrade keymaster versions to 3.0 on these platforms

Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-11 20:33:37 +05:30
Dakkshesh eaa017be86 cpp: RefBase: Dont use incWeakRequireWeak()
- Fixes the following on older android 10/11 platforms:
08-11 14:53:05.143  1388  1388 I TrickyStoreOSS: TrickyStore injector starting...
08-11 14:53:05.144  1388  1388 I TrickyStoreOSS: Starting injection of /data/adb/modules/tricky_store/libTrickyStoreOSS.so (entry: entry) into process 1024
08-11 14:53:05.151   587   587 I Zygote  : Preloading shared libraries...
08-11 14:53:05.155  1026  1053 I ServiceManager: Waiting for service 'package_native' on '/dev/binder'...
08-11 14:53:05.155  1388  1388 W TrickyStoreOSS: Primary dlopen failed for library: /data/adb/modules/tricky_store/libTrickyStoreOSS.so, dlerror: dlopen failed: cannot locate symbol "_ZN7android7RefBase12weakref_type18incWeakRequireWeakEPKv" referenced by "/data/adb/modules/tricky_store/libTrickyStoreOSS.so"..., trying fallback
08-11 14:53:05.155  1388  1388 I TrickyStoreOSS: Using fallback dlopen method for compatibility
08-11 14:53:05.158  1388  1388 E TrickyStoreOSS: Fallback dlopen failed for library: /data/adb/modules/tricky_store/libTrickyStoreOSS.so, dlerror: dlopen failed: cannot locate symbol "_ZN7android7RefBase12weakref_type18incWeakRequireWeakEPKv" referenced by "/data/adb/modules/tricky_store/libTrickyStoreOSS.so"...
08-11 14:53:05.158  1388  1388 E TrickyStoreOSS: Failed to load library in remote process
08-11 14:53:05.158  1388  1388 E TrickyStoreOSS: Injection failed

- Also improve error handling in injection process

Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-11 20:33:37 +05:30
Dakkshesh 60bf475d48 app: Bump version to 2.1.0
Signed-off-by: Dakkshesh <dakkshesh5@gmail.com>
2025-08-11 16:21:59 +05:30
Dakkshesh de71e45bf3 module: Set minimum sdk to 31
- There are some issues with Android 10/11 that causes injection failures.
- Raise the compatiblity requirement until they are fixed.

Signed-off-by: Dakkshesh <dakkshesh5@gmail.com>
2025-08-11 16:20:15 +05:30
Dakkshesh f723e53e2b java: CertHacker: Sanitize the XML data before passing to XML parser
- Remove whitespaces
- Remove Byte Order Mark (BOM)

Fixes #12

Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-10 09:39:32 +05:30
Dakkshesh ef87d5dddf java: CertificateHacker: Handle getPackageInfo() correctly
Fixes #11

Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-10 00:13:10 +05:30
Dakkshesh b31b023018 workflows: changelogs: Fix zip detection
Signed-off-by: Dakkshesh <dakkshesh5@gmail.com>
2025-08-08 15:41:21 +05:30
Dakkshesh adac71b5bc workflows: changelogs: Update repo URL
Signed-off-by: Dakkshesh <dakkshesh5@gmail.com>
2025-08-08 14:41:29 +05:30
Dakkshesh a17b276875 workflows: Add changelog generator
Signed-off-by: Dakkshesh <dakkshesh5@gmail.com>
2025-08-08 14:39:10 +05:30
Dakkshesh 67f7fa061f java: CertificiateHacker: Refactor and tidy up a bit
- Removed unused boilerplate from initial bring up
- Inlined some functions which were fragmented due to some initial plans that were dropped
- Moved appropriate functions to CertificateUtils
- Tidy up some function and variable names

Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-07 22:47:12 +05:30
Dakkshesh 64a998000a cpp: Switch to C++23 standard
- Our codebase is written well to support this.
- LSPlt will continue to use c++20 via its cmake logic.

Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-07 16:49:42 +05:30
Dakkshesh 52e8056b90 cpp: Move LSPlt configuration to gradle script
Otherwise for some reason it fails to set the vars in CI builds.

Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-07 16:24:42 +05:30
Dakkshesh 6b73ee7d3f workflows: Remove txt from ignore list
My bad, i forgot CMakeLists.txt exists.

Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-07 16:09:05 +05:30
Dakkshesh f2c0ed7beb cpp: LSPlt: Disable building shared lib
We dont need it. This also fixes some build errors when `DEBUG_SYMBOLS_PATH` is undefined.

Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-07 16:03:09 +05:30
Dakkshesh 9ed495df6d cpp: use LSPlt's own CMake build logic
Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-07 15:41:38 +05:30
Dakkshesh 289f10cb47 cpp: Update LSPlt submodule
Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-07 15:41:07 +05:30
Dakkshesh 54c798b380 cpp: stub: Format using clang-format
Somehow this was missed out during initial formatting.

Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-07 11:41:27 +05:30
Chris RenshawandGitHub 0f40a2b76b Update target.txt with other common checkers (#9) 2025-08-07 11:37:21 +05:30
Dakkshesh bba2281241 config: remove hardcoded generatePackages entries
- This is a leftover from initial bring up when target.txt parsing wasn't implemented.
- Not needed now because we have auto mode.

Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-07 11:33:37 +05:30
Dakkshesh 52847b8870 github: Add build workflow
Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-07 00:05:54 +05:30
Dakkshesh 0010515c0b module: Fix up update json link
Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-06 21:08:56 +05:30
Dakkshesh 7f57e82ff9 README: Fix up acknowledgement link
Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-06 21:06:15 +05:30
Dakkshesh 435a79ed64 src: Correct log tag
Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-06 21:06:03 +05:30
Dakkshesh 7ac40416f8 gradle: Update to 9.0.0
Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-06 21:01:53 +05:30
Dakkshesh eec1d8c390 Setup dependabot
Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-06 21:01:53 +05:30
Chris RenshawandDakkshesh 0ae8be899d Sync with official service.sh but also tidy (#8)
Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-06 21:01:52 +05:30
Dakkshesh 48b94e8670 gitignore: Add .idea/codeStyles & sort
Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-06 21:01:46 +05:30
Dakkshesh c5b82ef67d src: dos2unix
Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-06 21:01:18 +05:30
Dakkshesh fa2fa1c7d5 Add README.md
Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-06 19:46:58 +05:30
DakksheshandChris Renshaw f9c912ad92 module: Add AOSP software keybox to pass MEETS_DEVICE_INTEGRITY by default
Co-authored-by: Chris Renshaw <osm0sis@outlook.com>
Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-06 19:46:52 +05:30
Dakkshesh e46820275f src: Add module files
Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-06 19:46:42 +05:30
Dakkshesh 87bb7b2df1 cpp: external: Clean AOSP headers and resolve missing dependencies
- To solve some dependency issues by removing redundant code.
- Added missing headers

Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-06 17:50:34 +05:30
Dakkshesh 4898f0efc2 src: cpp: Import binder uapi header from linux kernel
tag: v6.16

Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-06 17:49:37 +05:30
Dakkshesh eadeb3ed00 src: cpp: Switch to JingMatrix's LSPlt fork
Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-06 17:49:16 +05:30
Dakkshesh 2a0f54e336 src: cpp: Pull required headers from AOSP
tag: android-16.0.0_r1

Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-06 17:48:38 +05:30
Dakkshesh 8ed149154f src: cpp: Add LSPlt submodule
Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-04 14:11:24 +05:30
Dakkshesh 205f939deb build: Update relavant tools
Signed-off-by: Dakkshesh <beakthoven@gmail.com>
2025-08-04 14:07:41 +05:30