mirror of
https://github.com/NohamR/RMHook-iOS.git
synced 2026-05-24 19:59:51 +00:00
Add multiple Qt/iOS version support and hooks
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -2,3 +2,4 @@
|
||||
/src/packages
|
||||
.DS_Store
|
||||
/rev
|
||||
/patched
|
||||
|
||||
@@ -3,16 +3,28 @@
|
||||
# Default to 3.25.0 if no argument is provided
|
||||
VERSION=${1:-3.25.0}
|
||||
|
||||
if [ "$VERSION" == "3.25.0" ]; then
|
||||
if [ "$VERSION" == "3.17.0" ]; then
|
||||
MACRO="-DV3_17_0=1"
|
||||
QT_VERSION="6.5.3"
|
||||
TARGET="iphone:latest:14.0"
|
||||
elif [ "$VERSION" == "3.25.0" ]; then
|
||||
MACRO="-DV3_25_0=1"
|
||||
QT_VERSION="6.8.2"
|
||||
TARGET="iphone:latest:16.0"
|
||||
elif [ "$VERSION" == "3.26.0" ]; then
|
||||
MACRO="-DV3_26_0=1"
|
||||
QT_VERSION="6.8.2"
|
||||
TARGET="iphone:latest:17.0"
|
||||
elif [ "$VERSION" == "3.27.0" ]; then
|
||||
MACRO="-DV3_27_0=1"
|
||||
QT_VERSION="6.10.0"
|
||||
TARGET="iphone:latest:17.0"
|
||||
elif [ "$VERSION" == "3.27.1" ]; then
|
||||
MACRO="-DV3_27_1=1"
|
||||
QT_VERSION="6.10.0"
|
||||
TARGET="iphone:latest:17.0"
|
||||
else
|
||||
echo "Error: Unknown version '$VERSION'. Supported versions are: 3.25.0, 3.27.1"
|
||||
echo "Error: Unknown version '$VERSION'. Supported versions are: 3.25.0, 3.17.0, 3.27.1"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
21
src/Tweak.xm
21
src/Tweak.xm
@@ -24,15 +24,32 @@
|
||||
|
||||
|
||||
// __ZN21QNetworkAccessManager13createRequestENS_9OperationERK15QNetworkRequestP9QIODevice
|
||||
#if V3_25_0
|
||||
// Search for strings: "local+http"; "data"; "qrc"; "unix"; "https";
|
||||
// last function of the vtable of QNetworkAccessManager ("21QNetworkAccessManager")
|
||||
#if V3_17_0
|
||||
#define QtNetworkAccessManager_createRequest 0x101673958 // sub_101673958
|
||||
#elif V3_25_0
|
||||
#define QtNetworkAccessManager_createRequest 0x1017FB9F4 // sub_1017FB9F4
|
||||
#elif V3_26_0
|
||||
#define QtNetworkAccessManager_createRequest 0x1018236C0 // sub_1018236C0
|
||||
#elif V3_27_0
|
||||
#define QtNetworkAccessManager_createRequest 0x101924584 // sub_101924584
|
||||
#elif V3_27_1
|
||||
#define QtNetworkAccessManager_createRequest 0x10192472C // sub_10192472C
|
||||
#endif
|
||||
|
||||
// __ZN10QWebSocket4openERK15QNetworkRequest
|
||||
#if V3_25_0
|
||||
// Search for strings: "Invalid URL."; "wss"; "SSL Sockets are not supported on this platform."; "w"; "http"; "Unsupported WebSocket scheme: %1"; "Invalid resource name."
|
||||
// Then take 2nd xref
|
||||
// The function is called by a function referencing "openNotificationSocket" 5 times for RM logs and another one being a big WebSocket function
|
||||
#if V3_17_0
|
||||
# define QtWebSocket_open 0x100824C5C // sub_100824C5C
|
||||
#elif V3_25_0
|
||||
# define QtWebSocket_open 0x100526A18 // sub_100526A18
|
||||
#elif V3_26_0
|
||||
# define QtWebSocket_open 0x100566CF8 // sub_100566CF8
|
||||
#elif V3_27_0
|
||||
# define QtWebSocket_open 0x10056487C // sub_10056487C
|
||||
#elif V3_27_1
|
||||
# define QtWebSocket_open 0x100564A24 // sub_100564A24
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user