CRYPT_ARCH_ZIP değiştiricili CryptDecode - Nasıl kullanılır? - sayfa 8

 
Mikalas :
Denedim - çalışmıyor :(

Anladığım kadarıyla CryptDecode CRC32 kullanıyor mu? - Öyleyse, arşivden CRC32 karmasını kendiniz alabilir ve paketlenmiş dizinin sonuna koyabilirsiniz:

 struct ZIP_HEADER
{
  ...
   ushort last_mod_date;
   uint    crc_32;              // Берем это число и помещаем его в конец массива, который нужно распаковать
   uchar   ll_crc;
  ...
};
ZY Şimdi hash'in isteğe bağlı bir nitelik olduğunu ve bazı durumlarda sıfırlarla doldurulabileceğini okudum.
 

Hayır, CRC32 değil, Adler32

(metni düzelttiler, düzelttiler ve ben düzelttim - tekrar okudum )

Yazdım, çalışmıyor !!!!!

 
Mikalas :

Hayır, CRC32 değil, Adler32

(metni düzelttiler, tekrar okudular)

Yazdım, çalışmıyor !!!!!

Aynen öyle:

Mikalas :

... ve değiştirdiğim ZIP arşivinden CRC32 - paketi açılmamış :(

 
Mikalas :

Teşekkür ederim.

ZIP, değiştirdiğim ZIP arşivinden 4 bayt ve CRC32 olmadan açılamaz - paketi açmıyor :(

Vasili, fikrimiz işe yaramayacak

Tabii ki, MQ'dan adamlar bizimle buluşmaya gelip bir bayrak eklemedikçe.

işlev CryptDecode ( CRYPT_ARCH_ZIP, veri, anahtar, sonuç, NO_READ_CRC );

veya CRC32'yi ZIP dosyasından alın :

CryptDecode ( CRYPT_ARCH_ZIP, veri, anahtar, sonuç, USE_CRC_FROM_ZIP );

Bayrak eklemenize gerek yok. CryptDecode'u, varsa CRC kodunu kabul edecek şekilde değiştirmek yeterlidir. Mevcut değilse ve kod alanı sıfırlarla doluysa, CRC kodu kullanılmaz, o kadar. Ayrıca, her arşiv bir karma içeremez:

Bazen verileri LocalFileHeader yazarken hesaplamak mümkün olmaz , ardından crc32 , sıkıştırılmışSize ve uncompressedSize öğelerine sıfırlar yazılır, generalPurposeBitFlag içindeki üçüncü bit bire ayarlanır ve LocalFileHeader'dan sonra Data tanımlayıcı türünde bir yapı eklenir .

http://blog2k.ru/archives/3391

 
C-4 :

Bayrak eklemenize gerek yok. CryptDecode'u, varsa CRC kodunu kabul edecek şekilde değiştirmek yeterlidir. Mevcut değilse ve kod alanı sıfırlarla doluysa, CRC kodu kullanılmaz, o kadar. Ayrıca, her arşiv bir karma içeremez:

MQ'nun işlevi nasıl uyguladığını bilmiyorum, bu yüzden birkaç öneride bulundum

(belki bir bayrakla yapmak onlar için daha kolay olacaktır)

 
Sevgili MQ! Lütfen bir cevap ver. Karma doğrulamayı isteğe bağlı yapabilir misiniz?
 

Çok iyi olurdu.

ZIP arşivindeki çok sayıda dosyaya hızlı erişim!

Hızlı dosya erişimine sahip küçük bir veritabanı harika!

Açılan ZIP - bir yazışma tablosu yaptı ve ofsetlerle "sürücü".

 

... Görmeyi düşünüyorlar.

Muhtemelen yerel zanaatkarların CRYPT_ARCH_ZIP özelliği için böyle beklenmedik bir kullanım bulmasını beklemiyorlardı.

Mikalas :

Çok iyi olurdu.
ZIP arşivindeki çok sayıda dosyaya hızlı erişim!
Hızlı dosya erişimine sahip küçük bir veritabanı harika!
Açılan ZIP - bir yazışma tablosu yaptı ve ofsetlerle "sürücü".

+100 Arşivlerle çalışmak çok gereklidir. Tabii ki içerik kontrolünün MQ tarafından tamamen korunmasıyla.

 
C-4 :

... Görmeyi düşünüyorlar.

Muhtemelen yerel zanaatkarların CRYPT_ARCH_ZIP özelliği için böyle beklenmedik bir kullanım bulmasını beklemiyorlardı.

+100 Arşivlerle çalışmak çok gereklidir. Tabii ki içerik kontrolünün MQ tarafından tamamen korunmasıyla. Arşiv içerisinde herhangi bir exe ve yürütülebilir dosya bulunmamalıdır.

Vasili!

EXE olup olmaması önemli değil!

Görünüşte dikkat çekici olmayan dosyalardan bir yürütülebilir dosyayı "bir araya getirebilirim",

bayt ekleme veya değiştirme.

Bunun için ZIP kullanmak gerekli değildir!

Dosyaları yükleyip kaydedebildiğimiz anda bir EXE oluşturun - boşver!

 
Mikalas :

Vasili!

EXE olup olmaması önemli değil!

Görünüşte önemsiz dosyalardan bir yürütülebilir dosyayı "oluşturabilirim"!

Bunun için ZIP kullanmak gerekli değildir!

Aslında evet. Bir yürütülebilir dosyayı, rastgele bir bayt koleksiyonundan farklı olmayacak şekilde şifrelemek mümkündür.