I've not forgotten this one, but I haven't advanced much either.
In principle I would have staid away form patching
/mnt/ext1/applications/koreader.app or
/mnt/ext1/system/bin/koreader.app, on the ground that OTA might overwrite them, so I thought of finding out what happens when the system deals with an .acsm. On my device there is no hope anymore that the firmware gets an OTA update, so in a way that would be more permanent.
In a crude way, I tried to identify what is launched when clicking on a .acsm by ssh'ing into the device, typing
Code:
P=""; while [ 1 ]; do P1=$P; P="`ps | tail -6 | head -1`"; if [ "$P" != "$P1" ]; then echo "$P"; fi; done
on the shell and looking at the output. I got essentially:
Code:
17385 sreader 62912 S < /ebrmain/bin/acsm_fulfill.app
19319 sreader 0 Z < [acsm_fulfill.ap]
19320 sreader 53176 R < /ebrmain/bin/adobescanner.app /mnt/ext1/Digital Editions/Thirteen Moons.epub 0 0 -metadata
19496 reader 46060 S < /ebrmain/bin/new_task.app /mnt/ext1/system/bin/koreader.app koreader.app Thirteen Moons.epub 128 /mnt/ext1/system/bin/koreader.app /mnt/ext1/Digit
19512 reader 1568 S < {koreader.app} /bin/sh /mnt/ext1/system/bin/koreader.app /mnt/ext1/Digital Editions/Thirteen Moons.epub
19544 reader 4288 R < {reader.lua} ./luajit ./reader.lua /mnt/ext1/Digital Editions/Thirteen Moons.epub
(I have omitted lines which are repeated multiple times due to the process changing state between R, S, D and Z), and
sync, and
sleep 30 and the like which seem to be running in the background anyway. The file in question here was one of the samples downloadable from
https://www.adobe.com/solutions/eboo...k-library.html .
Having seen that, though, I'm a bit out of ideas.
/ebrmain/bin/acsm_fulfill.app,
/ebrmain/bin/adobescanner.app and
/ebrmain/bin/new_task.app are all compiled binaries. `
strings` can show interesting things about them, but nothing which gave me clues. Only the latter called without arguments says
Code:
# /ebrmain/bin/new_task.app
Usage: new_task.app path appname name flags
but I don't understand what decides to pass
koreader.app as argument in this callchain.
extensions.cfg is apparently looked into just before that, but not transparently. If I found out how, I thought I could plug in there...