Aller au contenu

HD200S Soft F201 Boot F200 a partir de Boot B


idtoto

Messages recommandés

Bonjour

 

avec le Programmeur  ch341A

 

Pour commencer la prise que tout le monde appelle JTAG n'est pas celle la!

 

La prise utilisé est une prise PSI

 

Le programmateur ne fourni pas le courant nécessaire pour alimenter le demo (au scope on vois bien le signal oscillé, écroulé) de plus le régulateur sur le programmateur devient bouillant

 

Donc il ne faut pas connecter le 3.3V, le WP et le Reset

 

il faut allumer le démo attendre qu'il n'y ai plus de dialogue avec l'EEPROM (affichage d'une chaine par exemple)

 

Faire un dump de la mémoire

 

remplacer dans le DUMP a partir de l'adresse 0x160000 le soft par celui fourni pas le site KYNG

 

avec le ch314A faire Erase, puis Blank(3 minutes), puis Detect une ou 2 fois puis open du fichier modifié puis Program (3 minutes de plus)

 

ne pas éteindre le démo

 

sur le démo faire menu, informations système, info récepteur et vous verré Version logiciel Ver. F201 et Version boorloader Ver. F200

 

Vous pouvez éteindre et allumé le récepteur avec le bouton de la télécommande (pas avec le bouton arrière)

 

Il y a tout dans l'EEPROM (y compris le mot de passe en clair de votre Box!)

 

Si vous éteignez le récepteur avec le bouton arrière au démarrage vous aurez uniquement une led rouge

 

Si vous reprogrammé votre copie vous aurez une led rouge ou au mieux le message FAiL

 

en fait le programme F201 de KYNG est un piège au redémarrage si le boot n'est pas le bon il accède a la mémoire de temps en temps (cela superpose des data a votre reprogrammation!)

 

normalement avec plusieurs tentatives d'effacement reprogrammation vous allez récupérer votre démo!

 

Vous prouver aussi faire cela avant d'éteindre vote récepteur (et il n'y auras aucun problèmes)

 

Si vous avez éteint avant de reprogrammer

 

et que le chargement de marche jamais

 

il faudra utiliser la vrai prise JTAG (juste au dessus de la mémoire 5 broches). La broche de droite est la masse, il faut brancher un fil dessus et avec une résistance en série(1Kohm) toucher une après l'autre les autres pattes, ainsi vous aller faire un master reset JTAG du micro. Apres vous pourrez faire un effacement + load sans problèmes)

 

Pour info, j'ai trouvé et fais tout cela en moins d'une heure!

 

A mon avis pour les chinois, il faut moins d'un jour pour tout craquer et tout reprogrammer par le JTAG (Ils ont le fichier BSDL du micro)

 

Donc beaucoup, vous roule dans la farine! Et ces gens la, quand ils commences ils ne s'arrêtent pas!

  • Like 2
Lien vers le commentaire
Partager sur d’autres sites

Ci dessus les 2 procédures C pour générer la nouvelle mémoire

 

void CUtilDlg::OnBnClickedInvert()

 

{

 

unsigned long fin_du_fichier;

 

unsigned long i;

 

char d1,d2,d3,d4;

 

file_in1.Format("%s", m_edit_invert_in);

 

file_out.Format("%s", m_edit_invert_out);

 

if (f_in1 = fopen(file_in1, "rb")) {

 

fseek(f_in1,0,0);

 

fin_du_fichier = fread((char *)&buffer_in1, sizeof(char) , l_b, f_in1);

 

for (i=0; i<fin_du_fichier; i = i+4) {

 

d1 = buffer_in1;

 

 

d2 = buffer_in1[i+1];

 

 

d3 = buffer_in1[i+2];

 

 

d4 = buffer_in1[i+3];

 

 

buffer_in1[i+0] = d4;

 

 

buffer_in1[i+1] = d3;

 

 

buffer_in1[i+2] = d2;

 

 

buffer_in1[i+3] = d1;

 

 

}

 

 

fclose(f_in1);

 

 

if (f_out = fopen(file_out, "wb")) {

 

 

fseek(f_out,0,0);

 

 

fwrite((char *)&buffer_in1, sizeof(char),fin_du_fichier,f_out);

 

 

fclose(f_out);

 

 

}

 

 

}

 

 

}

 

 

void CUtilDlg::OnBnClickedReplace()

 

 

{

 

 

unsigned long fin_du_fichier1;

 

 

unsigned long fin_du_fichier2;

 

 

unsigned long i;

 

 

file_in1.Format("%s", m_edit_replace_in);

 

 

file_in2.Format("%s", m_edit_replace_in2);

 

 

file_out.Format("%s", m_edit_replace_out);

 

 

if (f_in1 = fopen(file_in1, "rb")) {

 

 

fseek(f_in1,0,0);

 

 

fin_du_fichier1 = fread((char *)&buffer_in1, sizeof(char) , l_b, f_in1);

 

 

if (fin_du_fichier1 > 0x00160000) {

 

 

fseek(f_in1,0,0);

 

 

if (! (f_in2 = fopen(file_in2, "rb"))) {

 

 

}

 

 

fseek(f_in2,0,0);

 

 

fin_du_fichier2 = fread((char *)&buffer_in2, sizeof(char) , l_b, f_in2);

 

 

for (i=0; i<fin_du_fichier2; i++) {

 

 

buffer_in1[i+0x00160000] = buffer_in2;

 

 

}

 

 

}

 

 

fclose(f_in2);

 

 

if (f_out = fopen(file_out, "wb")) {

 

 

fseek(f_out,0,0);

 

 

fwrite((char *)&buffer_in1, sizeof(char),fin_du_fichier1,f_out);

 

 

fclose(f_out);

 

 

fclose(f_in1);

 

 

}

 

 

}

 

 

}

 

 

 

 

 

J'ai bien dis moins d'une heure pour le tout

 

 

Alors que de vent remué!!!!

 

 

Bateau, Bateau petit bateau

 

 

Bla     , Bla        petit bla

 

 

 

 

Pour info

 

des lignes ont été modifiés dans le code et pas par moi

 

exemple

 

buffer_in1[i+0x00160000] = buffer_in2;

  • Like 2
Lien vers le commentaire
Partager sur d’autres sites

  • Administration
Non pas de tuto

 

J'ai autre chose a faire (cadeau de mon temps, a vous d'apprendre pour la suite)

 

de plus ce site modifie mes Posts

 

Code modifié (un pro verras vite ou)

 

salut

 

il n y a pas eu de modification ton post

 

[ATTACH]18002.IPB[/ATTACH]

  • Like 3
Lien vers le commentaire
Partager sur d’autres sites

Bonjour, merci pour ces infos. Si j'ai bien compris le programme permettrait de modifier la mémoire du boot afin qu'il accepte le main Fxxx c'est bien ça ?

 

Autre question comment fait on pour reprogrammer la mémoire sans carte interface ? Par le port RS232 ou ailleurs ? ou faut il traduire le programme en binaire afin de l'injecter avec un programmateur d'eeprom ?

Lien vers le commentaire
Partager sur d’autres sites

En fait d'après ce que je comprend, tu as réussi à injecter un dump modifié avec la version F201 directement dans le démo allumé ou en veille. Le controle de la version est fait dans la phase de boot. Du coup si on éteint le démo physiquement via le bouton, la phase de boot va détecter que le boot n'est pas correct.

 

Il faudrait donc trouver quel partie de la phase de boot fait le check et la désactiver non?

Lien vers le commentaire
Partager sur d’autres sites

de plus il ne faut pas lire

 

i+0x00160000i mais i+0x00160000

 

quel mélange de data!!!!!

 

pour les bébés et encore!

 

Je suppose qu'il n'a pas que ca de modifier!

 

Vérifier par exemple que les négations ne soit pas transformé en affirmations ....

 

Sous tutelle canal++ ou autres chaine payantes???

 

Pour info je ne regarde pas cannal+, je n'aime pas le sport (jeux du cirque du temps des Romains...) Si des individus peuvent aller jouer avec un hélicoptère  c'est bien parce que des gens qui n'ont même pas de quoi vivre normalement leurs donnes ce qu'ils ne donnent même pas a leurs enfants

 

Et je suis gentils quand je dis cela!

Lien vers le commentaire
Partager sur d’autres sites

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...