maxgwen Posté(e) 5 avril 2010 Share Posté(e) 5 avril 2010 Bonsoir après mon petit Gx_Nand j ai rencontré quelque souci de gestion kv info cryptage etc...... Donc je me suis mis a faire un soft qui regroupe un peu toute ces fonctionnalité , modification des info du kv et cryptage ou décryptage bon test .... KVTool v0.1 Lien vers le commentaire Partager sur d'autres sites More sharing options...
AnGe7 Posté(e) 5 avril 2010 Share Posté(e) 5 avril 2010 impossible d'ouvrir un quelconque KV chez moi désolé Lien vers le commentaire Partager sur d'autres sites More sharing options...
zouzzz Posté(e) 5 avril 2010 Share Posté(e) 5 avril 2010 Pareil chez moi. :/ Lien vers le commentaire Partager sur d'autres sites More sharing options...
maxgwen Posté(e) 5 avril 2010 Auteur Share Posté(e) 5 avril 2010 Bonjour vous avez une erreur ???? quel partie ne marche pas décryptage ou juste ouvrir kv pour lire les info ?? Lien vers le commentaire Partager sur d'autres sites More sharing options...
bugess Posté(e) 5 avril 2010 Share Posté(e) 5 avril 2010 encore une nouveauté , bon j'ai essayé le soft , mais je suis pas sur de ta manip" j'ai extrait le soft , validé le menu "open KV" je selectionne le dump , affichage fenetre "dialog" annotation "kv encrypted" validation "ok" = rien retour a la page du soft a quoi sert le menu "decrypt/encrypt kv" de memoire avant de modifier un kv il faut le decrypter Lien vers le commentaire Partager sur d'autres sites More sharing options...
maxgwen Posté(e) 5 avril 2010 Auteur Share Posté(e) 5 avril 2010 (modifié) encore une nouveauté , bon j'ai essayé le soft , mais je suis pas sur de ta manip"j'ai extrait le soft , validé le menu "open KV" je selectionne le dump , affichage fenetre "dialog" annotation "kv encrypted" validation "ok" = rien retour a la page du soft a quoi sert le menu "decrypt/encrypt kv" de memoire avant de modifier un kv il faut le decrypter Bonjour bugess le mieux serai un petit dialogue en live genre msn et au sujet du "de memoire avant de modifier un kv il faut le decrypter" je ne c' est pas quelle donné reste identique a tout les kv décrypté donc je comptrol les - - de la date sur le kv , pas génial mais bon ... et pour "decrypt/encrypt kv" en faite ces du rc4 donc si tu prend un fichier pas crypté tu le crypte et s il est crypté du le décrypte , la fonction est identique après le résultat final repend de celui entré KVTool v0.2 n arrête pas la lecture des info du kv même si le kv est crypté Modifié 5 avril 2010 par maxgwen Lien vers le commentaire Partager sur d'autres sites More sharing options...
bugess Posté(e) 5 avril 2010 Share Posté(e) 5 avril 2010 repetit essai de la V0.2 donc j'ai utilisé la fonction open KV , j'ouvre mon rawKV extrait d'une CM , serial ?? manufa ?? Region c'est une pal DVD pas la bonne j'ai testé en rajoutant la clé dvd meme resultat , ou je mis prend mal Lien vers le commentaire Partager sur d'autres sites More sharing options...
maxgwen Posté(e) 5 avril 2010 Auteur Share Posté(e) 5 avril 2010 (modifié) Re la fonction open kv ouvre un KV_dec.bin le tien est un KV_enc.bin surement comme tu dit rawKV donc avant il faut entré ta key cpu et Decrypt/Encrypt KeyVault J ai apporté quelque modification supplémentaire KVTool_v0.3 Modifié 5 avril 2010 par maxgwen Lien vers le commentaire Partager sur d'autres sites More sharing options...
AnGe7 Posté(e) 5 avril 2010 Share Posté(e) 5 avril 2010 (modifié) Ok, donc avant toutes choses il faut insérer la clé CPU, ensuite je clique sur décrypte KV, je sélectionne mon KV, j'obtiens un KV_dec.bin j'ouvre le KV_dec.bin avec le bouton "OPEN" et les infos apparaissent. j'ai rien oublié ? edit : ca fonctionne mais j'ai ça dans la date de fabrication : “IEP†DÀ mais le reste est visiblement bon. Modifié 5 avril 2010 par AnGe7 Lien vers le commentaire Partager sur d'autres sites More sharing options...
horny Posté(e) 5 avril 2010 Share Posté(e) 5 avril 2010 nikkel max mais un petit tuto ne serait pas de refus Lien vers le commentaire Partager sur d'autres sites More sharing options...
bugess Posté(e) 5 avril 2010 Share Posté(e) 5 avril 2010 me revoila effectivement c'est bien se que je pensais donc comme annoté la manip est commune a un "360flashtool" faut commencer par mettre la clé cpu , normal c'est elle qui permet de decrypter , puis on utilise le menu "decrypt/encryp" qui nous donne un kv decrypté qui lui est alors accessible avec lemenu "open" je vais etre casse couille , mais autant le faire en auto a se moment la , et faire annoté un menu info pour la demande de la clé cpu et encore une derniere , l'interger dans ton Gxnand le meme soft pour tout manip sur une nand , c'est bien plus pratique pour le soft actuel , ca marche a par la date qui est corrompu , toute sorte de signe au lieu de la date , comme avec 360flashtool et une date ms superieure ou inferieure a 2005 je sais plus j'ai un trou sur la date Lien vers le commentaire Partager sur d'autres sites More sharing options...
AnGe7 Posté(e) 5 avril 2010 Share Posté(e) 5 avril 2010 me revoila effectivement c'est bien se que je pensais donc comme annoté la manip est commune a un "360flashtool" faut commencer par mettre la clé cpu , normal c'est elle qui permet de decrypter , puis on utilise le menu "decrypt/encryp" qui nous donne un kv decrypté qui lui est alors accessible avec lemenu "open" je vais etre casse couille , mais autant le faire en auto a se moment la , et faire annoté un menu info pour la demande de la clé cpu et encore une derniere , l'interger dans ton Gxnand le meme soft pour tout manip sur une nand , c'est bien plus pratiquepour le soft actuel , ca marche a par la date qui est corrompu , toute sorte de signe au lieu de la date , comme avec 360flashtool et une date ms superieure ou inferieure a 2005 je sais plus j'ai un trou sur la date j'ai reporté la même chose plus haut tu as le bug aussi ? je lui ai fais remonté mais c'est vrai que bugess à raison, il faudrait automatisé l'action, une fenêtre d'action qui demande la clé CPU, on la rentre, on va chercher notre KV et le fichier décrypté s'enregistre au même endroit et s'ouvre automatiquement avec les infos qui s'affiche. Lien vers le commentaire Partager sur d'autres sites More sharing options...
maxgwen Posté(e) 6 avril 2010 Auteur Share Posté(e) 6 avril 2010 Bonjour desolé pour la date du kv mais j ai qu un version de ce kv donc si vous aver une version comme la votre ou la date bug serai intéressent qque je regarde la différence entre ancien kv et nouveau Lien vers le commentaire Partager sur d'autres sites More sharing options...
zouzzz Posté(e) 6 avril 2010 Share Posté(e) 6 avril 2010 Entre keyvault v1 et v2, ce qui change c'est juste l'OSIG. (voir KeyVault Modder v1e) Lien vers le commentaire Partager sur d'autres sites More sharing options...
maxgwen Posté(e) 12 avril 2010 Auteur Share Posté(e) 12 avril 2010 Bonjour une petite update KVTool_v0.5 avec auto détection de la date comme je n'est pas d autre kv je ne peu pas testé ..... bon teste a tous Lien vers le commentaire Partager sur d'autres sites More sharing options...
bugess Posté(e) 12 avril 2010 Share Posté(e) 12 avril 2010 re , encore pour tes softs , mais desolé de te le dire , pas d'annotation de date et pour tes essais utilise cela Voir le Fichier : essai2.rar Voir le Fichier : essai.rar Lien vers le commentaire Partager sur d'autres sites More sharing options...
maxgwen Posté(e) 12 avril 2010 Auteur Share Posté(e) 12 avril 2010 re , encore pour tes softs , mais desolé de te le dire , pas d'annotation de date et pour tes essais utilise cela Voir le Fichier : essai2.rar Voir le Fichier : essai.rar Merci pour ces fichiers bon chose qui est sure ce sont des kv type 2 après j ai fait une comparaison avec fdt et en faite je ne voie pas ce qui change d un KV_dec.bin type 1 ou 2 mais chose qui est sure fdt lui le detecte bien pour ré encrypté le kv car la chose qui change en premier dans le version crypté se sont les block qui sont dans la kv2 et qui ne sont pas dans le kv1 block 512 + 16 ( 16 = 01 00 00 00 00 FF 00 00 00 00 00 00 xx xx xx xx ) le 01 est un compteur , FF indicateur bad-block si different de FF cette zone est concideré en babdblock et apres le reste les XX XX XX XX sa doit etre un crc ou autre je ne connai pas la methode de calcul Donc en gros pour l instant KVTool = KV type 1 il me faut plus d info pour comptinué pour le KV type 2 Lien vers le commentaire Partager sur d'autres sites More sharing options...
bugess Posté(e) 12 avril 2010 Share Posté(e) 12 avril 2010 il te faut quoi comme info , si on peut t'aider Lien vers le commentaire Partager sur d'autres sites More sharing options...
maxgwen Posté(e) 13 avril 2010 Auteur Share Posté(e) 13 avril 2010 il te faut quoi comme info , si on peut t'aider Merci J ai presque tout regroupé enfin presque lol /*---------------------------------------------------------------------------- Function name: BSswap32 Syntax: static inline unsigned long BSswap32(unsigned long t) Parameter: Description: - - Return Value: Description: Description: ----------------------------------------------------------------------------*/ static inline unsigned long BSswap32(unsigned long t) { return ((t & 0xFF) << 24) | ((t & 0xFF00) << 8) | ((t & 0xFF0000) >> 8) | ((t & 0xFF000000) >> 24); } /*---------------------------------------------------------------------------- Procedure name: CalcECC Syntax: void CalcECC(UINT *Data) Parameter: Description: - - Return Value: Description: Description: ----------------------------------------------------------------------------*/ void CalcECC(BYTE *Data, UINT PageSize) { UINT Pos = 0, Value = 0; BYTE *Edc = ((BYTE*) Data) + PageSize; UINT v = 0; for (Pos = 0; Pos < 0x1066; Pos++) { if(!(Pos & 31)) v = ~BSswap32(*Data++); Value ^= v & 1; v >>= 1; if(Value & 1) Value ^= 0x6954559; Value >>= 1; } Value = ~Value; // 26 bit ecc Data Edc[0xC] |= (char) ((Value << 6) & 0xC0); Edc[0xD] = (char) ((Value >> 2) & 0xFF); Edc[0xE] = (char) ((Value >> 10) & 0xFF); Edc[0xF] = (char) ((Value >> 18) & 0xFF); } sa a transcrire en pascal Lien vers le commentaire Partager sur d'autres sites More sharing options...
BestPig Posté(e) 13 avril 2010 Share Posté(e) 13 avril 2010 (modifié) Je pense que BSwap32 doit s'écrire comme ça en Pascal. function BSswap32(t: LongInt) : LongInt;begin result := ((t and $FF) << 24) or ((t and $FF00) << 8) or ((t and $FF0000) >> 8) or ((t and $FF000000) >> 24);end; L'autre fonction y'a des pointeurs de partout, et je ne maitrise pas les pointeurs en C, et encore moins en pascal xD. Modifié 13 avril 2010 par BestPig Lien vers le commentaire Partager sur d'autres sites More sharing options...
maxgwen Posté(e) 13 avril 2010 Auteur Share Posté(e) 13 avril 2010 Je pense que BSwap32 doit s'écrire comme ça en Pascal. function BSswap32(t: LongInt) : LongInt;begin result := ((t and $FF) << 24) or ((t and $FF00) << 8) or ((t and $FF0000) >> 8) or ((t and $FF000000) >> 24);end; L'autre fonction y'a des pointeurs de partout, et je ne maitrise pas les pointeurs en C, et encore moins en pascal xD. Slt ces pluto quelque chose comme sa function BSswap32(Const Buffer: array of Byte): Longword; begin Result:=(Buffer[3] shl 24) or (Buffer[2] shl 16) or (Buffer[1] shl 8) or Buffer[0]; end; unsigned long = Longword Lien vers le commentaire Partager sur d'autres sites More sharing options...
BestPig Posté(e) 13 avril 2010 Share Posté(e) 13 avril 2010 J'ai regarder ici pour la conversion des types : http://delphi.about.com/od/windowsshellapi/l/aa101303a.htm unsigned long n'est pas un tableau, pourquoi toi en delphi tu fait un tableau de byte ? Lien vers le commentaire Partager sur d'autres sites More sharing options...
maxgwen Posté(e) 13 avril 2010 Auteur Share Posté(e) 13 avril 2010 (modifié) J'ai regarder ici pour la conversion des types :http://delphi.about.com/od/windowsshellapi/l/aa101303a.htm unsigned long n'est pas un tableau, pourquoi toi en delphi tu fait un tableau de byte ? fonction original de flash tool void CalcECC(unsigned long *pData, unsigned char *pEDC) { int i=0, val=0; unsigned long v = 0; for (i = 0; i < 0x1066; i++) { if (!(i & 31)) { if (i == 0x1000) pData = (unsigned long*)pEDC; v = ~*pData++; /* byte order: LE */ } val ^= v & 1; v>>=1; if (val & 1) val ^= 0x6954559; val >>= 1; } val = ~val; pEDC[0xC]|= (val << 6) & 0xFF; pEDC[0xD] = (val >> 2) & 0xFF; pEDC[0xE] = (val >> 10) & 0xFF; pEDC[0xF] = (val >> 18) & 0xFF; } unsigned char m_pData[512] = { 0x72, 0xEE, 0x24, 0x3C ....etc........ byte encrypter unsigned char m_pSpare[16] = { 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 qui est apellé CalcECC((unsigned long *)&m_pData[0], &m_pSpare[0]); en delphi function BSswap32(Const Buffer: array of Byte): Longword; begin Result:=(Buffer[3] shl 24) or (Buffer[2] shl 16) or (Buffer[1] shl 8) or Buffer[0]; end; m_pData: array[0..511] of byte = ( $72, $EE, $24, $3C ....etc........ byte encrypter m_pSpare: array[0..15] of byte = ( $01, $00, $00, $00, $00, $FF, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ); procedure CalcECC(var pData: array of byte; var pEDC: array of byte); c++ v = ~*pData++; /* byte order: LE */ resulta v = 3435973836 delphi idx:=0; v := not BSswap32(pData[idx]); // byte order: LE */ Inc(idx,4); resulta v = 3435973836 etc......... voila fonction réécrite reste plus qu'a trouvé comment différencier un kv1 & kv2 fichier decrypter Modifié 13 avril 2010 par maxgwen Lien vers le commentaire Partager sur d'autres sites More sharing options...
BestPig Posté(e) 13 avril 2010 Share Posté(e) 13 avril 2010 Peut-etre que zouzz peut t'aider pour ça, me semble qu'il a déja travail sur des KV. Lien vers le commentaire Partager sur d'autres sites More sharing options...
zouzzz Posté(e) 14 avril 2010 Share Posté(e) 14 avril 2010 reste plus qu'a trouvé comment différencier un kv1 & kv2 fichier decrypter Entre keyvault v1 et v2, ce qui change c'est juste l'OSIG Lien vers le commentaire Partager sur d'autres sites More sharing options...
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant