-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Booktabz AES #57
Comments
Ciao! Innanzitutto mi fa piacere sapere che c'è qualcuno di interessato a pdfgrabber per quanto riguarda il lato reverse engineering. Per sviluppare pdfgrabber mi sono occupato principalmente delle applicazioni android per vari motivi:
Cerco dunque di evitare per quanto possibile di analizzare codice macchina di applicativi desktop o applicazioni web. Le prime (nel raro caso in cui non siano un semplice webview o app electron e ricadendo quindi nelle seconde) perché come avrai ben scoperto richiedono uno sforzo maggiore a causa di ottimizzazioni aggressive dei compilatori, offuscamento, e maggiore complessita in generale. Le seconde perché spesso forniscono dati di qualità minore (render in formato jpg dei pdf originali) in quanto percepite appunto più "vulnerabili" da parte degli sviluppatori, e perché permettono alle case editrici di aggiornarle quando preferiscono, rendendo gli script inutili in qualche mese. Al contrario, le app android richiedono una stabilità e una coerenza con una API che non può, per motivi tecnici, evolversi rapidamente, perché non è concepibile per un utente dover aggiornare un'app ogni volta che si vuole leggere un maledettissimo libro (e gli sviluppatori delle case editrici sono ben consapevoli che una buona fetta di questi utenti installa queste app su dispositivi decisamente poco potenti). Per rispondere finalmente alla tua domanda (forse in modo un po' deludente) tutto ciò che ho fatto è stato:
Se hai altre domande sarò ben felice di risponderti! |
Ciao! |
Posso contattarti in privato in qualche modo? |
Certo! Puoi trovarmi su telegram |
Stavo lavorando ad un progetto simile solo per booktab (volevo poter leggere i miei ebook senza dover utilizzare la loro app schifosa), sono abbastanza nuova al reverse engineering, quindi ho attaccato il processo con x64dbg, analizzato il flow, trovato la funzione che genera la chiave, e la funzione che si occupa di decifrare l'xhtml.
Ho riscritto la funzione di generazione della chiave, e stavo riscrivendo la funzione per decifrare (la stavo riscrivendo istruzione per istruzione), quando dalla vostra repo ho notato che è semplicemente blowfish.
Ora la mia domanda è: come avete determinato che fosse blowfish? pattern recognition? Oppure avete visto che decifrava in blocchi e quindi provato aes e blowfish con un processo puramente euristico? O ancora dato che nella versione browser di Zanichelli browser viene utilizzato blowfish avete optato direttamente per quello? Grazie mille :)
The text was updated successfully, but these errors were encountered: