CryptDecode with modifier CRYPT_ARCH_ZIP - How to use? - ページ 4 12345678910 新しいコメント Mikhail Filimonov 2015.03.28 20:18 #31 sanyooooook: そうすると、通常のアーカイバの出力と比較されます。で、何が問題なんだ?CryptEncode()で 作成したZIPがデコードされれば、何が問題かは明らかではないでしょ うか? Mikhail Filimonov 2015.03.28 20:36 #32 MQには独自のフォーマットがある! string file_name = "GAZR-6.15.dat"; uchar array[]; uchar key[]; uchar result[]; int a_handle = FileOpen( file_name, FILE_READ|FILE_BIN ); if ( a_handle != INVALID_HANDLE ) { uint array_size = FileReadArray( a_handle, array ); if ( array_size > 0 ) { ArrayResize( key, array_size ); for ( int i = 0; i < int( array_size ); i++ ) key[i] = 0; int a_enc = CryptEncode( CRYPT_ARCH_ZIP, array, key, result ); int b_handle = FileOpen( "test.zip", FILE_WRITE|FILE_BIN ); if ( b_handle != INVALID_HANDLE ) { FileWriteArray( b_handle, result ); FileClose( b_handle ); } FileClose( a_handle ); } } int handle = FileOpen( "test.zip", FILE_READ|FILE_BIN ); if ( handle != INVALID_HANDLE ) { uint array_size = FileReadArray( handle, array ); FileClose( handle ); Print( "Read totals: ", array_size ); ArrayResize( key, array_size ); for ( int i = 0; i < int( array_size ); i++ ) key[i] = 0; //ArrayResize( result, array_size, array_size * 100 ); ResetLastError(); int d = CryptDecode( CRYPT_ARCH_ZIP, array, key, result ); if ( d < 1 ) { Print( GetLastError() ); } }MQL5からアーカイブを作成すればすべてうまくいくしかし、このアーカイブは標準のZIPでは解凍できません!!! Vasiliy Sokolov 2015.03.28 20:53 #33 Mikalas:MQには独自のフォーマットがある!MQL5からアーカイブを作成すればすべてうまくいくしかし、このアーカイブは標準的なZIPで解凍されていません!!!マイケル、アレクサンダーの投稿をよく読んでみてください。sanyooooook: ZIPアーカイブは全体の構造体であり、この関数は配列をアーカイブ/アンアーカイブするものです。大雑把に言うと、アーカイブ機能の出力のみをアンアーカイブする。 つまり、MQからのネイティブフォーマットは存在しない。CryptEncode関数が 与えるのはzip-archiveの一部だけで、残りは自分で作成しなければなりません。しかし、問題は、標準的なZIPアーカイバとCryptEncodeの間でアーカイブの部分さえ一致しないことです。とにかく、月曜日を待っています。私たちに不足している情報を与えてくれるのは、MQだけです。 Mikhail Filimonov 2015.03.28 20:58 #34 C-4:Mikhailさん、Alexanderさんの投稿をよく読んでみてください。 ですから、MQからの独自フォーマットはありません。CryptEncode関数が与えるものは、zipアーカイブの一部に過ぎず、残りは自分で作成する必要があります。しかし、問題は、標準的なZIPアーカイバとCryptEncodeの間でアーカイブの部分さえ一致しないことです。とにかく、月曜日を待っています。私たちに不足している情報を与えてくれるのはMQだけです。だから、ヘッダーを飛ばして、データだけを読めばいいんだ!Google it = PKWare データ圧縮ライブラリ ヘッダー Alexandr Bryzgalov 2015.03.28 20:59 #35 Mikalas:で、何が問題なんだ?CryptEncode()で 作成したZIPがデコードされれば、何が問題なのかは明らかではない でしょうか? CryptoDecodeの後に来るものと、通常のアーカイバの後に来るものは構造が異なる Alexandr Bryzgalov 2015.03.28 21:01 #36 ここで、私が行った実験をいくつか紹介します。 in the file: The quick brown fox jumps over the lazy dog茶色いきつねがのんびりした犬を飛び越える。 ファイル中:「すばしっこいキツネは怠け者の犬を飛び越える オンファイル:SDFGHGJDFGGGHGHGJK,G Alexandr Bryzgalov 2015.03.28 21:02 #37 は、MQが独自の出力構造を持っていることがわかりました。 Mikhail Filimonov 2015.03.28 21:02 #38 バシリー!MQL5でヘッダーのないZIPが作成される!その結果、読み取り時に読み飛ばすことがない。ググる=PKWareデータ圧縮ライブラリヘッダhttp://en.wikipedia.org/wiki/Zip_(file_format)MQは圧縮方式が1つしかないためZIPが異なる圧縮方式を使用している場合、解凍することはできません。つまり、すべてのZIPアーカイブが利用できるわけではありません。 Vasiliy Sokolov 2015.03.28 21:28 #39 sanyooooook: MQは独自の出力構造を持っています。それ自身」でなければ、ZIPとはまったく関係がないのです。圧縮率によって、圧縮されたデータの構造は異なりますが、異なることはありえません。そのため、CryptDecodeは 特定の圧縮率やその他の必要なパラメータを記述したキーによって、何らかの形で管理されなければならない。キーを正しく設定する方法は、MQだけが知っています。ミカラス: バシリー!MQL5でヘッダーのないZIPが作成される!ミハイル、あなたは自分が何を言っているのか理解する必要があります。問題は、ヘッダーやファイル形式ではありません。この記事を注意深く読んでください。 Mikhail Filimonov 2015.03.28 21:34 #40 C-4:それ自身」でなければ、ZIPとはまったく関係がないのです。圧縮率によって、圧縮されたデータの構造は異なりますが、異なることはありえません。そのため、CryptDecodeは特定の圧縮率やその他のパラメータを記述したキーで何らかの管理をする必要があります。キーを正しく設定する方法は、MQだけが知っています。ミハイル 何が問題なのかを理解する必要があります。問題は、ヘッダーやファイル形式ではありません。スレッドをよく読んでください。そして、自分が何を望んでいるかを正しく述べる。スレッドの冒頭に、コードがありますね。アーカイブを丸ごと 読んで、ヘッダーと 一緒に解読しようとしているんですね!?標準的なパッカーで作成されたZIPアーカイブには、HEADERがあります!MQL5のアンパッカーは、ヘッダーをスキップ しません。そのため、データの解凍はできません。では、説明してください。当初は、何が欲しいのか? 12345678910 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
そうすると、通常のアーカイバの出力と比較されます。
で、何が問題なんだ?
CryptEncode()で 作成したZIPがデコードされれば、何が問題かは明らかではないでしょ うか?
MQには独自のフォーマットがある!
MQL5からアーカイブを作成すればすべてうまくいく
しかし、このアーカイブは標準のZIPでは解凍できません!!!
MQには独自のフォーマットがある!
MQL5からアーカイブを作成すればすべてうまくいく
しかし、このアーカイブは標準的なZIPで解凍されていません!!!
マイケル、アレクサンダーの投稿をよく読んでみてください。
ZIPアーカイブは全体の構造体であり、この関数は配列をアーカイブ/アンアーカイブするものです。
大雑把に言うと、アーカイブ機能の出力のみをアンアーカイブする。
つまり、MQからのネイティブフォーマットは存在しない。CryptEncode関数が 与えるのはzip-archiveの一部だけで、残りは自分で作成しなければなりません。しかし、問題は、標準的なZIPアーカイバとCryptEncodeの間でアーカイブの部分さえ一致しないことです。
とにかく、月曜日を待っています。私たちに不足している情報を与えてくれるのは、MQだけです。
Mikhailさん、Alexanderさんの投稿をよく読んでみてください。
ですから、MQからの独自フォーマットはありません。CryptEncode関数が与えるものは、zipアーカイブの一部に過ぎず、残りは自分で作成する必要があります。しかし、問題は、標準的なZIPアーカイバとCryptEncodeの間でアーカイブの部分さえ一致しないことです。
とにかく、月曜日を待っています。私たちに不足している情報を与えてくれるのはMQだけです。
だから、ヘッダーを飛ばして、データだけを読めばいいんだ!
Google it = PKWare データ圧縮ライブラリ ヘッダー
で、何が問題なんだ?
CryptEncode()で 作成したZIPがデコードされれば、何が問題なのかは明らかではない でしょうか?
ここで、私が行った実験をいくつか紹介します。
バシリー!
MQL5でヘッダーのないZIPが作成される!
その結果、読み取り時に読み飛ばすことがない。
ググる=PKWareデータ圧縮ライブラリヘッダ
http://en.wikipedia.org/wiki/Zip_(file_format)
MQは圧縮方式が1つしかないため
ZIPが異なる圧縮方式を使用している場合、解凍することはできません。
つまり、すべてのZIPアーカイブが利用できるわけではありません。
MQは独自の出力構造を持っています。
それ自身」でなければ、ZIPとはまったく関係がないのです。
圧縮率によって、圧縮されたデータの構造は異なりますが、異なることはありえません。そのため、CryptDecodeは 特定の圧縮率やその他の必要なパラメータを記述したキーによって、何らかの形で管理されなければならない。キーを正しく設定する方法は、MQだけが知っています。
バシリー!
MQL5でヘッダーのないZIPが作成される!
ミハイル、あなたは自分が何を言っているのか理解する必要があります。問題は、ヘッダーやファイル形式ではありません。この記事を注意深く読んでください。
それ自身」でなければ、ZIPとはまったく関係がないのです。
圧縮率によって、圧縮されたデータの構造は異なりますが、異なることはありえません。そのため、CryptDecodeは特定の圧縮率やその他のパラメータを記述したキーで何らかの管理をする必要があります。キーを正しく設定する方法は、MQだけが知っています。
ミハイル 何が問題なのかを理解する必要があります。問題は、ヘッダーやファイル形式ではありません。スレッドをよく読んでください。
そして、自分が何を望んでいるかを正しく述べる。
スレッドの冒頭に、コードがありますね。
アーカイブを丸ごと 読んで、ヘッダーと 一緒に解読しようとしているんですね!?
標準的なパッカーで作成されたZIPアーカイブには、HEADERがあります!
MQL5のアンパッカーは、ヘッダーをスキップ しません。
そのため、データの解凍はできません。
では、説明してください。
当初は、何が欲しいのか?