π
<-

Compression du boot2

C, C++, ASM...

Compression du boot2

Unread postby Benoit934 » 16 Mar 2013, 02:44

Bonjour, j'ai pour but de recompresser le boot2 donc je suis entrain de regarder comment il est décompressé pour ensuite le recompresser

Je viens de commencer je vais mettre a jour le sujet en fonction de mes découvertes
Déjà au moment de la décompression le header est detruis
Image


Si j'ai bien compris le header est délimité par les zero bytes je ne sais pas encore si ca taille est statique, je ne suis pas doué en C je peux aussi affirmer qu'il y a pas de chiffrage de type blowfish

Apres avoir retiré le header le decompresseur traite deux bytes par deux bytes tant qu'il y en a a traiter

Pour le premier octet la fonction getbits(1) retourne true donc le 1er octet sera le resultat de getbits(16) dans le ca contraire ca aurais été le résultat de common[getbits(6)] (common contiens un octet du fichier par occurrence).

Le resulat de getbits(16) est "18f0" donc le fichier commence par 18f0

Pour le 2nd octet le resultat de getbits(1) est toujours vrais donc le 2nd octet sera en principe 1e01 mais en realité j'ai 9fe5, peux être un problème de position

La je suis trop crevé je vais me coucher, j'espere pouvoir reécrire l'algo de décompression et aussi l'inverser, je vais peux etre modifier l'extraction pour conserver le header dans un autre fichier
You do not have the required permissions to view the files attached to this post.
Je viens ici pour m'entourer de gens intelligents, ça me donne parfois l'impression d'en faire partie
User avatar
Benoit934
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 83.6%
 
Posts: 41
Joined: 15 Mar 2013, 02:25
Location: Florange, France
Gender: Male
Calculator(s):
MyCalcs profile

Re: Compression du boot2

Unread postby Benoit934 » 16 Mar 2013, 07:25

J'ai utilisé l'algo de imgmanip pour la compression mais comme j'ai dis plus haut lors de l'estraction le header et le footer est perdu, donc je vais faire en sorte de stoqur ou regenerer cette information.

Maintenant je vais annuler les modifications du boot1 une par une pour cibler les offsets de la verification RSA et tenter de le porter sur le boot2

Dans le boot1 il suffit simplement de remplacer 8D E5 E3 FE FF EB FF 00 00 E2 par 8D E5 E3 FE FF EB 00 00 00 E2 pour faire sauter la vérification RSA tous les reste est la que pour le style image et numéro de version
You do not have the required permissions to view the files attached to this post.
Je viens ici pour m'entourer de gens intelligents, ça me donne parfois l'impression d'en faire partie
User avatar
Benoit934
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 83.6%
 
Posts: 41
Joined: 15 Mar 2013, 02:25
Location: Florange, France
Gender: Male
Calculator(s):
MyCalcs profile

Re: Compression du boot2

Unread postby Benoit934 » 16 Mar 2013, 07:51

J'ai lancé un OS prototype avec le boot2 production modifié par mes soins je fais une sauvegade de ma calculatrice et si l'exploit est confimé je partage
Je viens ici pour m'entourer de gens intelligents, ça me donne parfois l'impression d'en faire partie
User avatar
Benoit934
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 83.6%
 
Posts: 41
Joined: 15 Mar 2013, 02:25
Location: Florange, France
Gender: Male
Calculator(s):
MyCalcs profile

Re: Compression du boot2

Unread postby Lionel Debroux » 16 Mar 2013, 08:12

Si j'ai bien compris le header est délimité par les zero bytes

Non.

je ne sais pas encore si ca taille est statique

TI utilise un format de type certificate sur les TI-Z80, TI-68k et Nspire, voir http://debrouxl.github.com/gcc4ti/cert.html (en particulier cfindfield et CERT_FIELD) pour plus d'infos :)

je peux aussi affirmer qu'il y a pas de chiffrage de type blowfish

Oui, le boot2 n'est pas chiffré, voir Hackspire.

Apres avoir retiré le header le decompresseur traite deux bytes par deux bytes tant qu'il y en a a traiter

Le compresseur traite en effet 2 bytes par 2 bytes, mais pas le décompresseur :)

(common contiens un octet du fichier par occurrence).

Deux octets ;)

Le resulat de getbits(16) est "18f0" donc le fichier commence par 18f0

Oui.

Pour le 2nd octet le resultat de getbits(1) est toujours vrais donc le 2nd octet sera en principe 1e01 mais en realité j'ai 9fe5, peux être un problème de position

Non.

comme j'ai dis plus haut lors de l'extraction le header et le footer est perdu, donc je vais faire en sorte de stoquer ou regenerer cette information.

C'est clairement faisable de stocker, mais en même temps, il n'est pas très difficile de copier-coller à l'éditeur hexa plus tard :)
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.3%
 
Posts: 6869
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

Re: Compression du boot2

Unread postby Benoit934 » 16 Mar 2013, 08:15

La j'ai déjà mon boot2 modifié sans verification RSA sur emulateur, donc je pense faire un simple patch IPS et ne pas modifier les outils, du moins pas pour le moment
Je viens ici pour m'entourer de gens intelligents, ça me donne parfois l'impression d'en faire partie
User avatar
Benoit934
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 83.6%
 
Posts: 41
Joined: 15 Mar 2013, 02:25
Location: Florange, France
Gender: Male
Calculator(s):
MyCalcs profile

Re: Compression du boot2

Unread postby Benoit934 » 17 Mar 2013, 04:41

Alors je suis capable d'installer un OS de prototype mais celui lors du boot est désinstallé, si je force le lancement celui-ci bloque a 98%
Je viens ici pour m'entourer de gens intelligents, ça me donne parfois l'impression d'en faire partie
User avatar
Benoit934
Niveau 10: GR (Guide de Référence)
Niveau 10: GR (Guide de Référence)
Level up: 83.6%
 
Posts: 41
Joined: 15 Mar 2013, 02:25
Location: Florange, France
Gender: Male
Calculator(s):
MyCalcs profile


Return to Native: Ndless, Linux, ...

Who is online

Users browsing this forum: ClaudeBot [spider] and 10 guests

-
Search
-
Social TI-Planet
-
Featured topics
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1510 utilisateurs:
>1496 invités
>8 membres
>6 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)