CryptDecode avec modificateur CRYPT_ARCH_ZIP - Comment l'utiliser ? - page 8

 
Mikalas:
J'ai essayé - ça ne marche pas :(

Je comprends que CryptDecode utilise le CRC32 ? - Si c'est le cas, vous pouvez prendre le hachage CRC32 de l'archive et le glisser à la fin du tableau emballé :

struct ZIP_HEADER
{
  ...
  ushort last_mod_date;
  uint   crc_32;            // Берем это число и помещаем его в конец массива, который нужно распаковать
  uchar  ll_crc;
  ...
};
Z.I. Je lis maintenant que le hachage est un attribut facultatif et que, dans certains cas, il peut être rempli de zéros.
 

Non, pas CRC32, Adler32

(ils ont corrigé le texte, et ils l'ont corrigé et je l'ai corrigé - relisez )

J'ai écrit, ça ne marche pas. ! !!!!

 
Mikalas:

Non, pas CRC32, Adler32

(ils ont corrigé le texte, relisez-le)

J'ai écrit, ça ne marche pas. ! !!!!

Bien :

Mikalas:

... et le CRC32 de l'archive ZIP que j'ai collé - il ne se décompose pas :(

 
Mikalas:

Merci.

Le ZIP sans 4 octets et CRC32 de l'archive ZIP n'est pas déballé :(

Vasily, notre idée ne fonctionnera pas.

À moins, bien sûr, que les gars de MQ ne nous rejoignent à mi-chemin et n'ajoutent un drapeau en

functionCryptDecode(CRYPT_ARCH_ZIP, data, key, result,NO_READ_CRC) ;

ou prenez le CRC32 du fichier ZIP:

CryptDecode(CRYPT_ARCH_ZIP, data, key, result,USE_CRC_FROM_ZIP) ;

Vous n'avez pas besoin d'ajouter un drapeau. Il suffit de modifier CryptDecode pour qu'il accepte le code CRC, s'il existe. S'il est absent et que le champ du code est rempli de zéros, aucun code CRC n'est utilisé, c'est tout. De même, toutes les archives ne peuvent pas contenir de hachage :

Parfois, il est impossible de calculer les données au moment de l'écriture deLocalFileHeader, alors deszéros sont écrits danscrc32,compressedSize etuncompressedSize, letroisième bit degeneralPurposeBitFlag est mis à un et aprèsLocalFileHeader est ajoutée une structure commeData descriptor.

http://blog2k.ru/archives/3391

 
C-4:

Il n'est pas nécessaire d'ajouter un drapeau. Il suffit de modifier CryptDecode pour qu'il accepte le code CRC, s'il y en a un. S'il n'existe pas et que le champ du code est rempli de zéros, le code CRC n'est pas utilisé, c'est tout. De même, toutes les archives ne peuvent pas contenir de hachage :

Je ne sais pas comment MQ a implémenté la fonction, donc j'ai fait quelques suggestions

( peut-être qu'avec un drapeau ce sera plus facile pour eux de le faire)

 
Cher MQ ! Veuillez nous donner une réponse. Pourriez-vous rendre la correspondance de hachage facultative ?
 

Ce serait très bien.

Accès rapide à un grand nombre de fichiers dans une archive ZIP !

Une petite base de données avec un accès rapide aux fichiers - super !

Ouvrez le ZIP - faites une table de correspondance et faites une "course" à travers les décalages.

 

... Ils doivent penser.

Ils doivent être surpris que les artisans locaux trouvent une utilisation aussi inattendue deCRYPT_ARCH_ZIP.

Mikalas:

Ce serait très bien.
Accès rapide à un grand nombre de fichiers dans une archive ZIP !
Petite base de données avec accès rapide aux fichiers - super !
Ouvrez le ZIP - faites un tableau des correspondances et faites une "course" à travers les décalages.

+100 L'archivage est très utile. En préservant totalement le contrôle du contenu par MQ, bien sûr.

 
C-4:

... Ils doivent penser.

Ils doivent être surpris que les artisans locaux trouvent une utilisation aussi inattendue deCRYPT_ARCH_ZIP.

+100 L'archivage est très utile. En préservant totalement le contrôle du contenu de MQ, bien sûr. Aucun fichier exe ou exécutable ne doit se trouver à l'intérieur de l'archive.

Vasiliy !

Peu importe qu'il y ait un EXE ou non !

Je peux "construire" un exécutable à partir de fichiers apparemment banals,

en ajoutant ou en modifiant des octets.

Vous n'avez pas besoin d'utiliser le ZIP pour le faire !

Tant que nous pouvons télécharger et sauvegarder des fichiers, faire un EXE est un jeu d'enfant !

 
Mikalas:

Vasiliy !

Peu importe qu'il y ait un EXE ou non !

Je peux "construire" un fichier exécutable à partir de fichiers apparemment banals !

Vous n'avez pas besoin d'utiliser le ZIP pour cela !

En fait, oui. Il est possible de crypter un fichier exécutable de manière à ce qu'il ne soit pas différent d'un ensemble aléatoire d'octets.
Raison: