Posté le 26/11/2019 19:28
Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 92 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements
Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd
Citer : Posté le 26/11/2019 19:50 | #
Perso j'utilise objdump pour avoir quelque chose de lisible pour un être humain. Ensuite avec l'aide des syscall j'arrive à savoir où commencer et ou m'orienter dans le binaire. À partir de là, je désassemble tout a la main et je remonte les sub-routine au fur et à mesure car pour certaines parties il faut être très minutieux (Casio passe son temps à utiliser des structures de données stockée dans la RAM).
Juste par curiosité, tu cherches quelle info en désassemblant l'OS ?
Citer : Posté le 26/11/2019 20:10 | #
Hmm, bonne question... mais je crains qu'il n'y ait pas d'utilisateur d'IDA Pro ici pour répondre. x_x
J'ai personnellement codé mon propre désassembleur pour produire des listings moins verbeux et identifier automatiquement les syscalls et registres périphériques. Ce que je perds en interactivité, je le gagne un peu en efforts de désassemblage.
Désolé de ne pas pouvoir aider sur ce coup là. Ça fait quand même plaisir de voir des gens qui s'intéressent au bas niveau. Bienvenue
Citer : Posté le 26/11/2019 20:28 | #
J'ai fait à peu près la même chose de mon côté. Sur mon laptop, c'est un outil qui me permet d'avoir des infos sur les appelles systèmes et sur ma calculatrice c'est un désassembleur "live" : Vhex.
Maintenant que tu en parles, je me demande pourquoi je n'ai pas fait mon propre désassembleur sur mon laptop x)
Citer : Posté le 26/11/2019 20:29 | #
Hmm, bonne question... mais je crains qu'il n'y ait pas d'utilisateur d'IDA Pro ici pour répondre. x_x
J'ai personnellement codé mon propre désassembleur pour produire des listings moins verbeux et identifier automatiquement les syscalls et registres périphériques. Ce que je perds en interactivité, je le gagne un peu en efforts de désassemblage.
Désolé de ne pas pouvoir aider sur ce coup là. Ça fait quand même plaisir de voir des gens qui s'intéressent au bas niveau. Bienvenue
J'ai juste tenté IDA Freeware ( sans comprendre trop le fonctionnement d'IDA ) , et pour convertir en code , il faut appuyer c
Passé ici il y a peu. ಥ‿ಥ
Jouez à Mario sans arrêt sur votre Casio !
City Heroes
Piano Casio
Micro GIMP
Citer : Posté le 26/11/2019 20:29 | #
Merce pour vos réponses
Perso j'utilise objdump pour avoir quelque chose de lisible pour un être humain. Ensuite avec l'aide des syscall j'arrive à savoir où commencer et ou m'orienter dans le binaire. À partir de là, je désassemble tout a la main et je remonte les sub-routine au fur et à mesure car pour certaines parties il faut être très minutieux (Casio passe son temps à utiliser des structures de données stockée dans la RAM).
Juste par curiosité, tu cherches quelle info en désassemblant l'OS ?
J'ai pas spécialement bien compris ton mode opératoire, et désassembler à la main xD wait comment ?
Je cherche des infos sur le mode examen, et bidouiller/comprendre le système (j'adore bidouiller en bas niveau)
Hmm, bonne question... mais je crains qu'il n'y ait pas d'utilisateur d'IDA Pro ici pour répondre. x_x
J'ai personnellement codé mon propre désassembleur pour produire des listings moins verbeux et identifier automatiquement les syscalls et registres périphériques. Ce que je perds en interactivité, je le gagne un peu en efforts de désassemblage.
Désolé de ne pas pouvoir aider sur ce coup là. Ça fait quand même plaisir de voir des gens qui s'intéressent au bas niveau. Bienvenue
Oui c'est vrai que j'ai pas vue beaucoup de screenshot de SH4 déassemblé via IDA Pro.
Ton désassembleur est open source ?
Registres périphériques ? Je suppose que il y a de la doc dans la bible casio ?
Pas de soucis, je me débrouille souvent seul mais là j'avoue que j'ai un peu de mal, ça fait 3 jours que je me renseigne sur ce sujet.
Oui j'adooooore le bas niveau et quoi de mieux qu'un système pas trop complexe pour débuter (je suis en terminal au passage)
Ajouté le 26/11/2019 à 20:31 :
J'ai juste tenté IDA Freeware ( sans comprendre trop le fonctionnement d'IDA ) , et pour convertir en code , il faut appuyer c
Oui, et pour déclarer une subroutine on appuie sur P
Ajouté le 26/11/2019 à 20:32 :
J'ai fait à peu près la même chose de mon côté. Sur mon laptop, c'est un outil qui me permet d'avoir des infos sur les appelles systèmes et sur ma calculatrice c'est un désassembleur "live" : Vhex.
Merci beaucoup pour ce lien je vais lire ça quand j'aurais du temps libre
Citer : Posté le 26/11/2019 21:01 | #
Sympa ! La convention quand on touche au mode examen veut qu'on soit responsables avec les résultats. Généralement les découvertes et outils ne quittent pas le cercle restreint des gens qui font le RE, et pour de bonnes raisons - compromettre sa sécurité ne ferait que le faire renforcer.
(C'était le petit warning dark, maintenant on s'amuse. o/)
En l'occurrence oui ! Tu peux compiler mon fxSDK en n'activant que fxos (le reste sert à écrire des add-ins). Note que toutes les fonctions d'analyse ne sont pas implémentées, c'est parce que je le fais au besoin... x)
Bonne intution ! Pour SH4, c'est par ici : https://bible.planet-casio.com/common/hardware/mpu/sh7724.pdf
Attention le MPU est en fait customisé, il y a des différences régulièrement (eg. tous les modules multimédia n'existent pas par exemple). Mais la base est commune.
Oui j'adooooore le bas niveau et quoi de mieux qu'un système pas trop complexe pour débuter (je suis en terminal au passage)
Eh ben tu t'en sors bien pour être honnête ! Ça me rappelle que j'ai aussi commencé en terminale...
Citer : Posté le 26/11/2019 21:11 | #
Sympa ! La convention quand on touche au mode examen veut qu'on soit responsables avec les résultats. Généralement les découvertes et outils ne quittent pas le cercle restreint des gens qui font le RE, et pour de bonnes raisons - compromettre sa sécurité ne ferait que le faire renforcer.
(C'était le petit warning dark, maintenant on s'amuse. o/)
Noté
En l'occurrence oui ! Tu peux compiler mon fxSDK en n'activant que fxos (le reste sert à écrire des add-ins). Note que toutes les fonctions d'analyse ne sont pas implémentées, c'est parce que je le fais au besoin... x)
Nice, j'irais voir ça merci
Bonne intution ! Pour SH4, c'est par ici : https://bible.planet-casio.com/common/hardware/mpu/sh7724.pdf
Attention le MPU est en fait customisé, il y a des différences régulièrement (eg. tous les modules multimédia n'existent pas par exemple). Mais la base est commune.
Merci, ça me fera de la lecture
Je m'aide aussi de la doc officiel Renesas du SH4A
Eh ben tu t'en sors bien pour être honnête ! Ça me rappelle que j'ai aussi commencé en terminale...
Le reverse de la calculette j'ai commencé en terminal après en terme de programmation ça doit bien faire 4/5 ans que je touche au C++/C.
Mais le bas niveau c'est réellement en seconde que j'ai commencer à accrocher.
Et du coup pour modifier l'OS ton fxSDK pourra m'aider à compiler aussi ?
Je vais repasser sous debian, j'étais un peu dépendant de windows pour IDA Pro, ça ne me fera pas de mal de retourner dans un environnement linux pour toucher au bas niveau
Citer : Posté le 26/11/2019 21:26 | #
Si tu veux modifier l'OS tu devrais certainement le faire en assembleur, auquel cas tu n'as pas besoin de compilateur, juste d'un assembleur.
Puisque tu parles de Debian, le canonique est le as de binutils. Généralement on se le compile à la main. Chacun a potentiellement sa propre façon de faire, mais on a un tutoriel général qui peut dépanner (et qui compile aussi GCC, ce dont tu n'as peut-être pas besoin, à toi de voir).
Puisqu'on en parle, modifier l'OS n'est pas tout, il faut encore l'envoyer dans la calto... à tes risques et périls, souvent. x_x"
Citer : Posté le 26/11/2019 21:36 | #
Si tu veux modifier l'OS tu devrais certainement le faire en assembleur, auquel cas tu n'as pas besoin de compilateur, juste d'un assembleur.
Oush désolé je parle comme je pense le vocabulaire (l'expression en général) et moi ça fait 2. (je parlais bien d'assembleur)
Puisque tu parles de Debian, le canonique est le as de binutils. Généralement on se le compile à la main. Chacun a potentiellement sa propre façon de faire, mais on a un tutoriel général qui peut dépanner (et qui compile aussi GCC, ce dont tu n'as peut-être pas besoin, à toi de voir).
Merci j'irais voir ça
Puisqu'on en parle, modifier l'OS n'est pas tout, il faut encore l'envoyer dans la calto... à tes risques et périls, souvent. x_x"
L'envoyer dans la calto et pouvoir le deboguer x)
Il y a pas moyen d'émuler ? (Je suppose que non)
Flasher la calto c'est pas très compliqué non ? Suffit de mettre à jour le checksum ?
Citer : Posté le 26/11/2019 21:40 | #
Hmm, y'a des émulateurs officiels, mais les modifier serait encore une tâche bien compliquée à elle seule. Il y a un seul émulateur communautaire de Prizm fondé sur QEMU, mais je n'ai jamais vu personne s'en servir et le dépoussiérer serait aussi un projet à part entière.
Pour les vieux modèles oui, puis tu balances dans fxRemote. Les détails sont bien cachés par ceux qui les ont découverts.
Citer : Posté le 26/11/2019 21:48 | #
Petite intervention non technique :
Sous Gnunux, tu peux retrouver Ghidra. C'est un décompilateur créé originellement par la NSA, qui a été rendu open-source l'an dernier de mémoire. Je ne sais plus si l'archi SH4 est supportée, mais si c'est pas trop compliqué y'a sûrement moyen de l'ajouter. Dans tous les cas, c'est un sérieux concurrent à IDA !
Quelques indices me disent que tu risque d'être tenté de tricher au Bac (terminale, modification de l'OS, mode examen…). ⇒ La triche en examen d'État est passable de lourdes sanctions. Et ce n'est pas parce qu'une led clignote que les surveillants ne pourront pas suspecter de la fraude et entamer une procédure. Le travail que tu effectue est très intéressant, mais j'insiste sur ce qu'a dit Lephe, soit responsable avec tes résultats. Whitehat/blackhat, la différence se joue à peu (et je sais de quoi je parle).
Citer : Posté le 26/11/2019 21:56 | #
Hmm, y'a des émulateurs officiels, mais les modifier serait encore une tâche bien compliquée à elle seule. Il y a un seul émulateur communautaire de Prizm fondé sur QEMU, mais je n'ai jamais vu personne s'en servir et le dépoussiérer serait aussi un projet à part entière.
C'est vrai que un émulateur sous QEMU pour deboguer l'OS ça serait vraiment top
Petite intervention non technique :
Sous Gnunux, tu peux retrouver Ghidra. C'est un décompilateur créé originellement par la NSA, qui a été rendu open-source l'an dernier de mémoire. Je ne sais plus si l'archi SH4 est supportée, mais si c'est pas trop compliqué y'a sûrement moyen de l'ajouter. Dans tous les cas, c'est un sérieux concurrent à IDA !
C'est sympa de proposer mais je me suis déjà renseigné sur ghidra (que j'ai déjà utilisé à sa sortie en open source), SH4 est dispo dessus il me semble
Je vais tenter sur linux
Quelques indices me disent que tu risque d'être tenté de tricher au Bac (terminale, modification de l'OS, mode examen…). ⇒ La triche en examen d'État est passable de lourdes sanctions. Et ce n'est pas parce qu'une led clignote que les surveillants ne pourront pas suspecter de la fraude et entamer une procédure. Le travail que tu effectue est très intéressant, mais j'insiste sur ce qu'a dit Lephe, soit responsable avec tes résultats. Whitehat/blackhat, la différence se joue à peu (et je sais de quoi je parle).
Honnêtement c'est juste pour me tester en terme de capacité, je n'ai pas besoin de tricher au bac jai un assez bon niveau en math/physique
Ajouté le 26/11/2019 à 21:58 :
Pour les vieux modèles oui, puis tu balances dans fxRemote. Les détails sont bien cachés par ceux qui les ont découverts.
J'ai lus quelque part (sur planet casio) que on en savait un peu plus sur les méthodes utilisé par fxRemote
Citer : Posté le 26/11/2019 21:59 | #
Typiquement un secret bien gardé...
Citer : Posté le 26/11/2019 22:00 | #
Typiquement un secret bien gardé...
En tout cas vraiment la bible casio de reverse engineering c'est vraiment un domaine qui me passionne en ce moment
Citer : Posté le 26/11/2019 22:03 | #
En tout cas vraiment la bible casio de reverse engineering c'est vraiment un domaine qui me passionne en ce moment
Si tu souhaite écrire une partie, on peut te construire un accès et ajouter un dossier à ton nom
Citer : Posté le 26/11/2019 22:03 | #
Content que ça t'intéresse ! Les contributions (pas trop sensibles) sont bienvenues. o/
Citer : Posté le 26/11/2019 22:07 | #
En tout cas vraiment la bible casio de reverse engineering c'est vraiment un domaine qui me passionne en ce moment
Si tu souhaite écrire une partie, on peut te construire un accès et ajouter un dossier à ton nom
Ça serait franchement un honneur
Mais d'abord il me faut approfondir ça fait que 3 jours que je bosse sur ça, je n'ai pas découvert grand chose.
J'apprends pour l'instant
Mais la proposition me touche
Ajouté le 26/11/2019 à 22:08 :
Content que ça t'intéresse ! Les contributions (pas trop sensibles) sont bienvenues. o/
Je ferais de mon mieux
Ajouté le 27/11/2019 à 16:54 :
Note que toutes les fonctions d'analyse ne sont pas implémentées, c'est parce que je le fais au besoin... x)
Je viens de tomber sur un todo x), je voulais disasm un add-in à 0x200 mais l'option -b est TODO
Citer : Posté le 27/11/2019 17:04 | #
Si tu me laisses un peu de temps (genre jusqu'à demain) je peux l'implémenter, c'est pas dur ça.
Citer : Posté le 27/11/2019 17:08 | #
Si tu me laisses un peu de temps (genre jusqu'à demain) je peux l'implémenter, c'est pas dur ça.
Je peux attendre ne t'en fais pas ^^,
Justement je me suis inscrit sur le git de casio pour pouvoir l'implémenter x)
Ajouté le 27/11/2019 à 17:21 :
J'ai fork fxSDK car j'avais un bug avec la nouvelle méthode pour compiler le cross compilateur
Citer : Posté le 27/11/2019 17:28 | #
Oublie pas de spécfier --toolchain selon tes besoins.
Edit : Pour fxos tu n'as pas besoin du cross-compilateur, du reste.