pgaskin / NickelMenu

The easiest way to launch scripts, change settings, and run actions on Kobo e-readers.
https://pgaskin.net/NickelMenu
MIT License
591 stars 32 forks source link

Intitial testing for enabling hidden notebook on kobo libra 2. #144

Open Pololot64 opened 1 year ago

Pololot64 commented 1 year ago

I did some basic research. This lets you open the notebook "app". The app doesn't function properly, however. You also cannot draw on pdfs.

pgaskin commented 1 year ago

Thanks! I will take a look at this when I start working on the patch updates for the latest release (I've been away recently).

Pololot64 commented 1 year ago

Is it best to write it only for the newer build versions or should there be a build check?

pgaskin commented 1 year ago

Is it best to write it only for the newer build versions or should there be a build check?

Try loading both (newest one first), and if one is null, then use the other. Something like:

else if (!strcmp(arg2, "notebooks")) sym_f = dlsym(RTLD_DEFAULT, "_ZN14MoreController9notebooksEv")
    ? "_ZN14MoreController9notebooksEv"        //libnickel 4.32.19501 * _ZN14MoreController9notebooksEv
    : "_ZN15LibraryNavMixin13showNotebooksEv"; //libnickel 4.28.17623 4.31.19086 _ZN15LibraryNavMixin13showNotebooksEv
Pololot64 commented 1 year ago

Just pasted what you said :) I don't speak cpp yet. Let me go test.

Pololot64 commented 1 year ago

I have a question, I found the original string (that turned out to be wrong) by fuzzy searching in compiled binaries pulled out of the firmware. Is there a better way?

Pololot64 commented 1 year ago

So, it seems that kobo is smarter than that. As before, I can open the notebooks app. The problem is that on the creation of any note, the device requests to download the handwriting recognition pack and fails in a loop of try again dialogs. I cannot think of a way around this.