View Single Post
Old 10-21-2016, 02:41 PM   #1663
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Quote:
Originally Posted by trap000d View Post
I'm not absolutely sure, but it seems they've moved everything to java and placed all in /opt/amazon/ebook/lib. I had no opportunity to look inside all jars so can't definitely confirm that code moved there too, but, e.g. all search bar buttons now are inside /opt/amazon/ebook/lib/searchbar-assets.jar and searchbar-resources-*-assets.jar
In 5.8.5, opt/amazon/ebook/booklet/com/amazon/kindle/kindlet/internal/resources/KindletBookletResources_pt.java:
Is this array of arrays:
Code:
private static final Object[][] H = new Object[][]{{"kindlet.crash.startup.message.pattern", "Houve um erro ao tentar abrir este item. Caso o problema persista, entre em contato com o servi\u00e7o de atendimento ao cliente do Kindle em www.kindle.com/support."}, {"kindlet.crash.shutdown.message.pattern", "Houve um erro ao tentar fechar este item. Caso o problema persista, entre em contato com o servi\u00e7o de atendimento ao cliente do Kindle em www.kindle.com/support."}, {"kindlet.crash.general.message.pattern", "Houve um erro com este item. Caso o problema persista, entre em contato com o servi\u00e7o de atendimento ao cliente do Kindle em www.kindle.com/support."}, {"kindlet.remove.message", "O item que estava aberto est\u00e1 agora indispon\u00edvel porque foi removido de seu Kindle enquanto estava no modo de unidade USB. Para acessar este item, baixe-o novamente da nuvem."}, {"kindlet.restart.framework.message", "O item n\u00e3o foi fechado corretamente. \u00c9 necess\u00e1rio reiniciar o Kindle. Se voc\u00ea n\u00e3o fechar esta caixa de di\u00e1logo, seu dispositivo ser\u00e1 reiniciado em {0,number,integer} segundos."}, {"kindlet.restart.framework.button", "reiniciar"}, {"kindlet.restart.framework.cancel.button", "cancelar"}, {"kindlet.restartnow.framework.message", "Ocorreu um erro com o item. O Kindle ser\u00e1 reiniciado em {0,number,integer} segundos."}, {"kindlet.upgrade.required.pattern", "O item que voc\u00ea tentou abrir \u00e9 incompat\u00edvel com este Kindle. Tente atualizar seu Kindle a partir do menu Configura\u00e7\u00f5es. Caso o problema persista, entre em contato com o servi\u00e7o de atendimento ao cliente do Kindle em www.kindle.com/support."}, {"kindlet.crash.lowmemory.message", "Ocorreu um erro com o item. Ele ser\u00e1 fechado e o Kindle pode ser reiniciado."}, {"kindlet.crash.unknown", "Ocorreu um erro e o item ser\u00e1 fechado."}, {"kindlet.capability.fail.pattern", "Seu Kindle n\u00e3o atende aos requisitos m\u00ednimos para executar este item. Entre em contato com o servi\u00e7o de atendimento ao cliente do Kindle em www.kindle.com/support."}, {"appmgrd.path", "com.lab126.appmgrd"}, {"appmgrd.start.cmd", "start"}, {"store.search.uri", "app://com.lab126.store?action=search&query={0}"}, {"store.detail.uri", "app://com.lab126.store?action=detail&asin={0}"}, {"store.open.uri", "app://com.lab126.store"}, {"store.open.failure", "Ocorreu um erro ao iniciar a Loja Kindle."}, {"kindlet.title.subtitle.format", "{0}: {1}"}};
IIRC, you want to start by changing:
Code:
{"store.open.uri", "app://com.lab126.store"}
To what you want run.
I suppose the other store.* things would need adjustment also.

According to notes in the files, the Amazon jars are not (yet) signed, but written as if they will be at some point in time.

Which means using JBPatch (which re-codes jar files as they are loaded) to re-purpose the store button.
See: https://www.mobileread.com/forums/sho...d.php?t=175512
and the Wiki page linked from that post.

It would be nice if it where easier, and it may be, my Java knowledge is ancient and I only spent a few hours on looking at the de-compiled code.
(I de-compiled a copy of the entire ebook subtree using: cfr :: http://www.benf.org/other/cfr/ in a one-line bash script)
Code:
for f in `ls -1 *.jar` ; do java -jar ../../cfr_0_118.jar $f --outputdir ./output/ ; done
- - - -

Ah, it is in booklet resources because the main page is a Booklet.

- - - -

We also have a tool for re-writing Java binaries:
https://www.mobileread.com/forums/sho...d.php?t=236780

Note: You can't (by site rules) post the re-written *.jar file here, but you could instead post the bytecode modification (the input to the editor) here along with directions on how to apply it.

Last edited by knc1; 10-21-2016 at 05:23 PM.
knc1 is offline   Reply With Quote