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

 

Vasili!

Cevaplandı mı?

 
Henüz değil. Bence bu konuyu okuyacaklar ve buradan cevap verecekler. Bekleriz.
 
Lütfen net bir soru listesi yapın.

İşlev, dosyaları arşivlemekle değil, ayrı bir veri arabelleğiyle çalışır.
Söndürme algoritması, yanıtın sunucu tarafından onaylanmaması durumunda WebRequest'te kullanılmak üzere tanıtılan bir işlev olarak kullanılır.

Anahtar parametresi kullanılmaz.
 
mql5 :
Lütfen net bir soru listesi yapın.

İşlev, dosyaları arşivlemekle değil, ayrı bir veri arabelleğiyle çalışır.
Söndürme algoritması, yanıtın sunucu tarafından onaylanmaması durumunda WebRequest'te kullanılmak üzere tanıtılan bir işlev olarak kullanılır.

Anahtar parametresi kullanılmaz.

Tünaydın!

Sadece bir soru var , CRYPT_ARCH_ZIP parametresi ile CryptEncode () fonksiyonu ile paketlenmiş verilerin sonunda 4 bayt ne anlama geliyor?

Söndürme algoritmasını kullanırsanız, bu 4 baytı nasıl elde ettiğinizi bilerek ZIP arşivlerini de açabilirsiniz.

(Sayfa 6'daki bir ZIP arşiv paketi açma programı örneği)

 
Mikalas :

Tünaydın!

Sadece bir soru var , CRYPT_ARCH_ZIP parametresi ile CryptEncode () fonksiyonu ile paketlenmiş verilerin sonunda 4 bayt ne anlama geliyor?

Bu, kaynak verilerden bütünlük kontrolü, ADLER32 veya CRC32 içindir (arşivleme parametrelerine bağlıdır (Adler32 her zaman MQL'de kullanılır ve olmayabilir)
 
peki ya ilk 2 bayt?
 
sanyooooook :
peki ya ilk 2 bayt?

Büyük olasılıkla bu:

0x78 - paketlenmiş verinin bir işareti

0x5E - sıkıştırma yöntemi

Bu baytlar değişmez (kontrol ettim)

 
mql5 :
Bu, orijinal verilerden bütünlük kontrolü, ADLER32 veya CRC32 (eksik olabilir) içindir.

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 );

 struct ZIP_HEADER
{
   uint    sign;
   ushort a_version;
   ushort bit_flag;
   ushort comp_method;
   ushort last_mod_time;
   ushort last_mod_date;
   //uint   crc_32;
   uchar   ll_crc;
   uchar   lh_crc;
   uchar   hl_crc;
   uchar   hh_crc;
   uint    pack_size;
   uint    unpack_size;
   ushort fn_len;
   ushort extr_field_len;
};
 
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 );

Boş dört baytı kaydırmayı deneyebilir mi?

mql5 :
Bu, kaynak verilerden bütünlük kontrolü, ADLER32 veya CRC32 içindir (arşivleme parametrelerine bağlıdır (Adler32 her zaman MQL'de kullanılır ve olmayabilir)
 
C-4 :

Boş dört baytı kaydırmayı deneyebilir misiniz?

Son 4 bayt olmadan denedim ve son 4. "0" ile - çalışmıyor :(