mirror of
https://github.com/NohamR/RMHook.git
synced 2026-01-09 05:58:12 +00:00
Rename build mode from qmldiff to qmlrebuild
Replaces all references to the 'qmldiff' build mode with 'qmlrebuild' across CMakeLists.txt, README.md, build scripts, and source files.
This commit is contained in:
@@ -8,10 +8,10 @@ set(CMAKE_CXX_STANDARD 17)
|
||||
|
||||
# Build mode options
|
||||
# - rmfakecloud: Redirect reMarkable cloud to rmfakecloud server (default)
|
||||
# - qmldiff: Qt resource data registration hooking (WIP)
|
||||
# - qmlrebuild: Qt resource data registration hooking
|
||||
# - dev: Development/reverse engineering mode with all hooks
|
||||
option(BUILD_MODE_RMFAKECLOUD "Build with rmfakecloud support" ON)
|
||||
option(BUILD_MODE_QMLDIFF "Build with QML diff/resource hooking" OFF)
|
||||
option(BUILD_MODE_QMLREBUILD "Build with QML resource rebuilding" OFF)
|
||||
option(BUILD_MODE_DEV "Build with dev/reverse engineering hooks" OFF)
|
||||
|
||||
# Compiler settings for macOS
|
||||
@@ -111,9 +111,9 @@ if(BUILD_MODE_RMFAKECLOUD)
|
||||
message(STATUS "Build mode: rmfakecloud (cloud redirection)")
|
||||
endif()
|
||||
|
||||
if(BUILD_MODE_QMLDIFF)
|
||||
target_compile_definitions(reMarkable PRIVATE BUILD_MODE_QMLDIFF=1)
|
||||
message(STATUS "Build mode: qmldiff (resource hooking)")
|
||||
if(BUILD_MODE_QMLREBUILD)
|
||||
target_compile_definitions(reMarkable PRIVATE BUILD_MODE_QMLREBUILD=1)
|
||||
message(STATUS "Build mode: qmlrebuild (resource hooking)")
|
||||
endif()
|
||||
|
||||
if(BUILD_MODE_DEV)
|
||||
|
||||
@@ -162,11 +162,11 @@ The build script supports different modes for various use cases:
|
||||
| Mode | Description |
|
||||
|------|-------------|
|
||||
| `rmfakecloud` | Redirect reMarkable cloud to rmfakecloud server (default) |
|
||||
| `qmldiff` | Qt resource data registration hooking for QML replacement |
|
||||
| `qmlrebuild` | Qt resource data registration hooking for QML replacement |
|
||||
| `dev` | Development/reverse engineering mode with all hooks |
|
||||
| `all` | Enable all modes |
|
||||
|
||||
**Note (qmldiff mode):** When using the `qmldiff` feature, you must clear the Qt QML cache before launching the app:
|
||||
**Note (qmlrebuild mode):** When using the `qmlrebuild` feature, you must clear the Qt QML cache before launching the app:
|
||||
```bash
|
||||
rm -rf ~/Library/Caches/remarkable
|
||||
```
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
# Build modes:
|
||||
# rmfakecloud - Redirect reMarkable cloud to rmfakecloud server (default)
|
||||
# qmldiff - Qt resource data registration hooking (WIP)
|
||||
# qmlrebuild - Qt resource data registration hooking
|
||||
# dev - Development/reverse engineering mode with all hooks
|
||||
|
||||
PROJECT_DIR=$(cd "$(dirname "$0")/.." && pwd)
|
||||
@@ -19,8 +19,8 @@ case "$BUILD_MODE" in
|
||||
rmfakecloud)
|
||||
DYLIB_NAME="rmfakecloud.dylib"
|
||||
;;
|
||||
qmldiff)
|
||||
DYLIB_NAME="qmldiff.dylib"
|
||||
qmlrebuild)
|
||||
DYLIB_NAME="qmlrebuild.dylib"
|
||||
;;
|
||||
dev)
|
||||
DYLIB_NAME="dev.dylib"
|
||||
@@ -37,20 +37,20 @@ esac
|
||||
CMAKE_OPTIONS=""
|
||||
case "$BUILD_MODE" in
|
||||
rmfakecloud)
|
||||
CMAKE_OPTIONS="-DBUILD_MODE_RMFAKECLOUD=ON -DBUILD_MODE_QMLDIFF=OFF -DBUILD_MODE_DEV=OFF"
|
||||
CMAKE_OPTIONS="-DBUILD_MODE_RMFAKECLOUD=ON -DBUILD_MODE_QMLREBUILD=OFF -DBUILD_MODE_DEV=OFF"
|
||||
;;
|
||||
qmldiff)
|
||||
CMAKE_OPTIONS="-DBUILD_MODE_RMFAKECLOUD=OFF -DBUILD_MODE_QMLDIFF=ON -DBUILD_MODE_DEV=OFF"
|
||||
qmlrebuild)
|
||||
CMAKE_OPTIONS="-DBUILD_MODE_RMFAKECLOUD=OFF -DBUILD_MODE_QMLREBUILD=ON -DBUILD_MODE_DEV=OFF"
|
||||
;;
|
||||
dev)
|
||||
CMAKE_OPTIONS="-DBUILD_MODE_RMFAKECLOUD=OFF -DBUILD_MODE_QMLDIFF=OFF -DBUILD_MODE_DEV=ON"
|
||||
CMAKE_OPTIONS="-DBUILD_MODE_RMFAKECLOUD=OFF -DBUILD_MODE_QMLREBUILD=OFF -DBUILD_MODE_DEV=ON"
|
||||
;;
|
||||
all)
|
||||
CMAKE_OPTIONS="-DBUILD_MODE_RMFAKECLOUD=ON -DBUILD_MODE_QMLDIFF=ON -DBUILD_MODE_DEV=ON"
|
||||
CMAKE_OPTIONS="-DBUILD_MODE_RMFAKECLOUD=ON -DBUILD_MODE_QMLREBUILD=ON -DBUILD_MODE_DEV=ON"
|
||||
;;
|
||||
*)
|
||||
echo "❌ Unknown build mode: $BUILD_MODE"
|
||||
echo "Available modes: rmfakecloud (default), qmldiff, dev, all"
|
||||
echo "Available modes: rmfakecloud (default), qmlrebuild, dev, all"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -244,7 +244,7 @@ static void (*original_qWebSocket_open)(
|
||||
const QNetworkRequest &request) = NULL;
|
||||
#endif
|
||||
|
||||
#ifdef BUILD_MODE_QMLDIFF
|
||||
#ifdef BUILD_MODE_QMLREBUILD
|
||||
static int (*original_qRegisterResourceData)(
|
||||
int,
|
||||
const unsigned char *,
|
||||
@@ -300,8 +300,8 @@ static inline bool shouldPatchURL(const QString &host) {
|
||||
logPrefix:@"[reMarkable]"];
|
||||
#endif
|
||||
|
||||
#ifdef BUILD_MODE_QMLDIFF
|
||||
NSLogger(@"[reMarkable] Build mode: qmldiff");
|
||||
#ifdef BUILD_MODE_QMLREBUILD
|
||||
NSLogger(@"[reMarkable] Build mode: qmlrebuild");
|
||||
[MemoryUtils hookSymbol:@"QtCore"
|
||||
symbolName:@"__Z21qRegisterResourceDataiPKhS0_S0_"
|
||||
hookFunction:(void *)hooked_qRegisterResourceData
|
||||
@@ -427,9 +427,9 @@ extern "C" void hooked_qWebSocket_open(
|
||||
}
|
||||
#endif // BUILD_MODE_RMFAKECLOUD
|
||||
|
||||
#ifdef BUILD_MODE_QMLDIFF
|
||||
#ifdef BUILD_MODE_QMLREBUILD
|
||||
|
||||
// See https://deepwiki.com/search/once-the-qrr-file-parsed-take_871f24a0-8636-4aee-bddf-7405b6e32584 for details on qmldiff replacement strategy
|
||||
// See https://deepwiki.com/search/once-the-qrr-file-parsed-take_871f24a0-8636-4aee-bddf-7405b6e32584 for details on qmlrebuild replacement strategy
|
||||
|
||||
extern "C" int hooked_qRegisterResourceData(
|
||||
int version,
|
||||
@@ -528,6 +528,6 @@ extern "C" int hooked_qRegisterResourceData(
|
||||
pthread_mutex_unlock(&gResourceMutex);
|
||||
return status;
|
||||
}
|
||||
#endif // BUILD_MODE_QMLDIFF
|
||||
#endif // BUILD_MODE_QMLREBUILD
|
||||
|
||||
@end
|
||||
@@ -36,7 +36,7 @@ static NSString *ReMarkableDumpRootDirectory(void) {
|
||||
return dumpDirectory;
|
||||
}
|
||||
|
||||
#ifdef BUILD_MODE_QMLDIFF
|
||||
#ifdef BUILD_MODE_QMLREBUILD
|
||||
uint32_t readUInt32(uint8_t *addr, int offset) {
|
||||
return (uint32_t)(addr[offset + 0] << 24) |
|
||||
(uint32_t)(addr[offset + 1] << 16) |
|
||||
@@ -554,4 +554,4 @@ void processNode(struct ResourceRoot *root, int node, const char *rootName) {
|
||||
// ReMarkableDumpResourceFile(root, node, rootName ? rootName : "", nameBuffer, fileFlag);
|
||||
}
|
||||
}
|
||||
#endif // BUILD_MODE_QMLDIFF
|
||||
#endif // BUILD_MODE_QMLREBUILD
|
||||
Reference in New Issue
Block a user