Skip to content

Commit

Permalink
Bring back Dobby!
Browse files Browse the repository at this point in the history
chiteroman committed Oct 22, 2024
1 parent d846ccc commit 5135008
Showing 65 changed files with 17 additions and 16,303 deletions.
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "app/src/main/cpp/Dobby"]
path = app/src/main/cpp/Dobby
url = https://github.com/chiteroman/Dobby.git
8 changes: 3 additions & 5 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -13,6 +13,9 @@ android {
}

packaging {
jniLibs {
excludes += "**/libdobby.so"
}
resources {
excludes += "**"
}
@@ -28,11 +31,6 @@ android {

externalNativeBuild {
cmake {
abiFilters(
"arm64-v8a",
"armeabi-v7a"
)

arguments(
"-DCMAKE_BUILD_TYPE=Release",
"-DANDROID_STL=none",
30 changes: 3 additions & 27 deletions app/src/main/cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -6,32 +6,8 @@ find_package(cxx REQUIRED CONFIG)

link_libraries(cxx::cxx)

if (${ANDROID_ABI} STREQUAL "arm64-v8a")
set(ARCH "arm64")
elseif (${ANDROID_ABI} STREQUAL "armeabi-v7a")
set(ARCH "arm")
endif ()
add_library(${CMAKE_PROJECT_NAME} SHARED main.cpp)

file(GLOB SHADOWHOOK_SRC
shadowhook/*.c
shadowhook/arch/${ARCH}/*.c
shadowhook/common/*.c
shadowhook/third_party/xdl/*.c
)
add_subdirectory(Dobby)

add_library(${CMAKE_PROJECT_NAME} SHARED
main.cpp
${SHADOWHOOK_SRC}
)

target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE
shadowhook
shadowhook/arch/${ARCH}
shadowhook/include
shadowhook/common
shadowhook/third_party/bsd
shadowhook/third_party/lss
shadowhook/third_party/xdl
)

target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE log)
target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE log dobby_static)
1 change: 1 addition & 0 deletions app/src/main/cpp/Dobby
Submodule Dobby added at 7c1444
29 changes: 7 additions & 22 deletions app/src/main/cpp/main.cpp
Original file line number Diff line number Diff line change
@@ -2,7 +2,7 @@
#include <sys/system_properties.h>
#include <unistd.h>
#include "zygisk.hpp"
#include "shadowhook.h"
#include "dobby.h"
#include "json.hpp"

#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, "PIF", __VA_ARGS__)
@@ -48,13 +48,10 @@ static std::string DEVICE_INITIAL_SDK_INT, SECURITY_PATCH, BUILD_ID;
typedef void (*T_Callback)(void *, const char *, const char *, uint32_t);

static T_Callback o_callback = nullptr;
static void *o_cookie = nullptr;

static void modify_callback(void *cookie, const char *name, const char *value, uint32_t serial) {

if (!cookie || !name || !value || !o_callback || !o_cookie) return;

if (cookie != o_cookie) return;
if (!cookie || !name || !value || !o_callback) return;

std::string_view prop(name);

@@ -80,29 +77,17 @@ static void modify_callback(void *cookie, const char *name, const char *value, u
static void (*o_system_property_read_callback)(prop_info *, T_Callback, void *) = nullptr;

static void my_system_property_read_callback(prop_info *pi, T_Callback callback, void *cookie) {
if (pi && callback && cookie) {
o_callback = callback;
o_cookie = cookie;
}
if (pi && callback && cookie) o_callback = callback;
return o_system_property_read_callback(pi, modify_callback, cookie);
}

static bool doHook() {
if (shadowhook_init(SHADOWHOOK_MODE_UNIQUE, true) != 0) {
LOGE("shadowhook failed to init!");
return false;
}

LOGD("loaded shadowhook version: %s", SHADOWHOOK_VERSION);
LOGD("loaded Dobby version: %s", DobbyGetVersion());

void *ptr = shadowhook_hook_sym_name(
"libc.so",
"__system_property_read_callback",
(void *) my_system_property_read_callback,
(void **) &o_system_property_read_callback
);
void *ptr = DobbySymbolResolver(nullptr, "__system_property_read_callback");

if (ptr) {
if (ptr && !DobbyHook(ptr, (void *) my_system_property_read_callback,
(void **) &o_system_property_read_callback)) {
LOGD("hook __system_property_read_callback successful at %p", ptr);
return true;
}
446 changes: 0 additions & 446 deletions app/src/main/cpp/shadowhook/arch/arm/sh_a32.c

This file was deleted.

41 changes: 0 additions & 41 deletions app/src/main/cpp/shadowhook/arch/arm/sh_a32.h

This file was deleted.

523 changes: 0 additions & 523 deletions app/src/main/cpp/shadowhook/arch/arm/sh_inst.c

This file was deleted.

41 changes: 0 additions & 41 deletions app/src/main/cpp/shadowhook/arch/arm/sh_inst.h

This file was deleted.

284 changes: 0 additions & 284 deletions app/src/main/cpp/shadowhook/arch/arm/sh_t16.c

This file was deleted.

46 changes: 0 additions & 46 deletions app/src/main/cpp/shadowhook/arch/arm/sh_t16.h

This file was deleted.

408 changes: 0 additions & 408 deletions app/src/main/cpp/shadowhook/arch/arm/sh_t32.c

This file was deleted.

36 changes: 0 additions & 36 deletions app/src/main/cpp/shadowhook/arch/arm/sh_t32.h

This file was deleted.

60 changes: 0 additions & 60 deletions app/src/main/cpp/shadowhook/arch/arm/sh_txx.c

This file was deleted.

39 changes: 0 additions & 39 deletions app/src/main/cpp/shadowhook/arch/arm/sh_txx.h

This file was deleted.

310 changes: 0 additions & 310 deletions app/src/main/cpp/shadowhook/arch/arm64/sh_a64.c

This file was deleted.

44 changes: 0 additions & 44 deletions app/src/main/cpp/shadowhook/arch/arm64/sh_a64.h

This file was deleted.

203 changes: 0 additions & 203 deletions app/src/main/cpp/shadowhook/arch/arm64/sh_inst.c

This file was deleted.

42 changes: 0 additions & 42 deletions app/src/main/cpp/shadowhook/arch/arm64/sh_inst.h

This file was deleted.

291 changes: 0 additions & 291 deletions app/src/main/cpp/shadowhook/common/bytesig.c

This file was deleted.

157 changes: 0 additions & 157 deletions app/src/main/cpp/shadowhook/common/bytesig.h

This file was deleted.

55 changes: 0 additions & 55 deletions app/src/main/cpp/shadowhook/common/sh_config.h

This file was deleted.

107 changes: 0 additions & 107 deletions app/src/main/cpp/shadowhook/common/sh_errno.c

This file was deleted.

40 changes: 0 additions & 40 deletions app/src/main/cpp/shadowhook/common/sh_errno.h

This file was deleted.

53 changes: 0 additions & 53 deletions app/src/main/cpp/shadowhook/common/sh_log.c

This file was deleted.

70 changes: 0 additions & 70 deletions app/src/main/cpp/shadowhook/common/sh_log.h

This file was deleted.

49 changes: 0 additions & 49 deletions app/src/main/cpp/shadowhook/common/sh_sig.h

This file was deleted.

173 changes: 0 additions & 173 deletions app/src/main/cpp/shadowhook/common/sh_trampo.c

This file was deleted.

52 changes: 0 additions & 52 deletions app/src/main/cpp/shadowhook/common/sh_trampo.h

This file was deleted.

556 changes: 0 additions & 556 deletions app/src/main/cpp/shadowhook/common/sh_util.c

This file was deleted.

104 changes: 0 additions & 104 deletions app/src/main/cpp/shadowhook/common/sh_util.h

This file was deleted.

191 changes: 0 additions & 191 deletions app/src/main/cpp/shadowhook/include/shadowhook.h

This file was deleted.

47 changes: 0 additions & 47 deletions app/src/main/cpp/shadowhook/sh_enter.c

This file was deleted.

Loading

0 comments on commit 5135008

Please sign in to comment.