Download the attached zip file and extract it into the hidden .kobo folder on the device. The old privacy settings will be temporarily available after the device reboots.
Spoiler:
Code:
#include <QString>
#include <fcntl.h>
#include <NickelHook.h>
QString (*kpp_hook_orig)(void*);
static struct nh_info KoboPrivacyPermissions = {
.name = "KoboPrivacyPermissions",
.desc = "Switches back to the old privacy settings for the next boot.",
.uninstall_flag = "/mnt/onboard/kpp_uninstall",
};
static struct nh_hook KoboPrivacyPermissionsHook[] = {
{.sym = "_ZN23OneStoreServiceSettings18privacySettingsUrlEv", .sym_new = "_kpp_hook", .lib = "libnickel.so.1.0.0", .out = nh_symoutptr(kpp_hook_orig), .desc = "[OneStoreServices] kobo_privacyCentre_url", .optional = true},
{0},
};
static struct nh_dlsym KoboPrivacyPermissionsDlsym[] = {
{0},
};
static int kpp_init() {
if (!kpp_hook_orig)
nh_log("failed to hook privacySettingsUrl");
creat(KoboPrivacyPermissions.uninstall_flag, 0644);
return 0;
}
NickelHook(
.init = kpp_init,
.info = &KoboPrivacyPermissions,
.hook = KoboPrivacyPermissionsHook,
.dlsym = KoboPrivacyPermissionsDlsym,
)
extern "C" __attribute__((visibility("default"))) QString _kpp_hook(void*) {
return QString();
}
Code:
include NickelHook/NickelHook.mk
override LIBRARY := libkoboprivacypermissions.so
override SOURCES += src/koboprivacypermissions.cc
override CFLAGS += -Wall -Wextra -Werror
override CXXFLAGS += -Wall -Wextra -Werror -Wno-missing-field-initializers
include NickelHook/NickelHook.mk