問題タブ [self-extracting]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
executable - 7zip自己解凍型exe「extractto」フォルダ名のスペースに関する問題
7zipを使用してソフトウェアパッケージを圧縮し、単一の自己解凍型実行可能ファイルを作成してきました。デフォルトInstallPath
はスペースのないパスです。たとえばC:\Install\Downloads
、これは正常に機能します。ただし、パスがフォルダ名にスペースを含むカスタムの場所に変更された場合、たとえばC:\my temp folder\Downloads
、抽出は引き続き成功しますが、実行可能ファイルは見つからず、実行できません。
ポップアップするエラーメッセージは、実行中のエラー「C:\ mytempfolder \ Downloads \ foo\setup.exe」です。システムは、指定されたファイルを見つけることができません。参照しているフォルダーの場所を開くと、setup.exeファイルが確実にそこにあります。カスタムファイルの場所にあるスペースは、構成ファイルのRunProgram
変数で指定されている実行可能ファイルを起動するものを混乱させているようです。
私たちの設定ファイル:
何か助けはありますか?
zip - 新しく作成されたディレクトリに自分自身を抽出するアーカイブを作成できますか?
可能であれば、いくつかのファイルを圧縮したいと思います。この zip ファイルの受信者がそれを抽出 (またはダブルクリック) すると、ローカル ディスクにディレクトリが作成され、含まれているファイルがそのディレクトリに抽出されます。誰かがこれを達成する方法の正しい方向に私を向けることができますか?
self-extracting - 自己解凍アーカイブを実装しますか?
私は7zまたはwinrarを使用できることを知っていますが、これを自分で学びたいです.
自己解凍アーカイブを実装するにはどうすればよいですか? C# または C++ を使用できますが、問題を詳しく説明させてください。
exeを開くと、ファイルを抽出する場所を尋ねるある種のGUIが必要です。ユーザーがOKと言ったら、明らかにそれらを抽出する必要があります。私はすでに C# winforms で簡単な例を実装しましたが、私の問題は、ファイル名とファイルのバイナリを exe に取得する方法です。
むかしむかし、exeの最後に余分なデータを追加しても安全ですか? 答えは、exeの最後にデータを追加するだけで、ウイルススキャナーによって検出される可能性があることを示唆しています。アーカイブの長さを最後の 4 バイトとして書き込み、データを汎用 exe に追加するのは非常に簡単です。プロセスが自分の exe を読み取ることができるので、これが機能すると思います。しかし、それはハッキリしているように感じますし、私がこの手法を使用しているという理由だけで、私がウイルスを書いていると非難されることはありません。これを実装する適切な方法は何ですか?
注:自己抽出タグを確認しましたが、多くの質問は自己抽出の操作方法であり、実装方法ではありません。他の何かを求めているこのものを除いて自己解凍型の自己チェック実行可能ファイル
-編集- 7z で 2 つの自己解凍を作成し、それらを比較しました。のように見えます...7z.sfx
ファイルですが、通常の7zアーカイブが追加されています。それで...これをしても問題はありませんか?より良い方法はありますか?私はWindowsをターゲットにしており、C#コンパイラを使用して支援できますが、余分な作業がどれだけあるか、プログラムでどれだけ難しいかわかりません.exeの最後にデータを追加するのは悪くないですか?
self-extracting - IExpressでSelfExtractorのバージョン情報を設定できません
実際、IExpressで作成した自己解凍形式のバージョン情報を設定しようとしています。検索したところ、次のリンクが表示されましたが、バージョンセクションの値は認識されませんが、Wextract.exeのデフォルト値が毎回公開されています。[VersionSection]を無視したIExpressのようです。SEDファイルで次のことを試しました。
問題の解決にご協力ください。前もって感謝します。
visual-c++ - Visual C++ で PE セグメントの順序を制御する方法
パッカー/自己解凍 exe タイプのプログラムを作成しようとしていますが、Visual C++ のリンカーによって作成されたセグメントの順序に問題があります。
基本的に、次のように定義された特別な変数を持つスタブ プログラム (ローダー) があります。
そして、データを使って何かをしますblah
(例えば、データをアンパックします)。
次に、2 番目のプログラム (パッカー) がローダー プログラムをテンプレートとして使用して、blah
.
基本的に、パッカーはローダー ファイルをコピーし、古い.blah
セクションを新しいデータに置き換えます。新しいファイルが実行されると、ローダーはこの新しいデータで動作します。
exe ファイルを変更するのは難しい作業です。簡単にするため.blah
に、ファイルの最後のセグメントにして、単純にデータをローダーに追加し、PE ヘッダーのいくつかのサイズ フィールドを修正できるようにします。
.blah
ただし、Visual C++ リンカでセグメントの順序を制御して、ローダーをコンパイルするときにファイルの最後に配置する方法がわかりません。
現在、セクションの順序は次のとおりです。
ご覧.rsrc
のとおり.reloc
、場所が間違っています。前にそれらが必要.blah
です。
この順序を変更するにはどうすればよいですか?
windows - 自己解凍型の実行可能ファイルをプログラムで識別し、含まれているファイルを解凍するにはどうすればよいですか?
私はいくつかの基礎研究を行いましたが、これらを作成するための標準は1つではないようです。そのようなexeをビルドするためのコードが含まれているコードプロジェクトページをいくつか見ましたが、その1つを識別する方法や、実際にアプリケーションを実行せずにファイルを抽出できるかどうかについてのリファレンスはありません。
したがって、質問は次のとおりです。
- 特定のファイルが自己解凍型exeファイルであるかどうかを識別するために使用できる方法はありますか?
- コンピューティング業界で非常に一般的なフォーマットはいくつかありますか
- もしそうなら、これらのフォーマットはパッケージングexeを実行せずに抽出を可能にしますか?
- そうでない場合は、ある種のサンドボックス環境でそのようなファイルを実行して、結果のファイルを(Windowsで)表示できるようにする方法はありますか?
私はプログラマティックソリューションまたはサードパーティのユーティリティ/ライブラリを使用するソリューションの両方を受け入れていることに注意してください。
c++ - C++ を使用してバイナリ リソース (実行可能ファイル) を自己解凍するにはどうすればよいですか?
(私のプロジェクトにある) バイナリ リソースを抽出する必要がありますが、Windows/C++ を使用しています。
どうすればいいですか?
(どんな助けでも大歓迎です)
c# - GZipヘッダーのマジックナンバーが正しくありません。GZipストリームを渡していることを確認してください。(。exeファイル)
exeファイルを抽出したい。exeファイルにはいくつかのファイルとフォルダが含まれています。winrarを使用してファイルを抽出しようとすると抽出されますが、いくつかの例を使用してexeファイルを抽出しようとすると、次のエラーが発生します。
GZipヘッダーのマジックナンバーが正しくありません。GZipストリームを渡していることを確認してください。
私はいくつかのサンプルを使用し、問題のためにたくさんグーグルで検索しましたが、答えが得られませんでした。また、いくつかのライブラリも使用しました。
私はこのコードを使用しましたが、同じエラーが発生しました:
c++ - ある種のバイナリ署名を使用してWinRARSFXを識別するにはどうすればよいですか?
この質問に似た答えを探していますが、7zipではなくWinRARを探しています。基本的に、少なくとも「バージョン420のデフォルトSFXファイルで作成されたすべてのWinRAR生成自己解凍型実行可能ファイルは、位置0x00027400にバイト0x15、0xa1、0x45、0xcc、0x21、0x98、およびその他の非SFXファイルにこの署名が付いている可能性は低いです。」さらに良いことに、WinRAR SFXファイルのすべてのバージョンで同じ署名が見つかった場合、それらが異なる場所にある場合でも同様です。
SFXの動作の性質上、ファイルのアーカイブ部分を除いて、それらは非常に似ていますが、一部の文字列は不十分な識別子になります(たとえば、「このプログラムはDOSモードで実行できません」はすべてのSFXにありますが、他のほとんどのWindows実行可能ファイルにもあります)
現在、署名を決定する私の方法は、WinRAR SFXのさまざまなバージョンを調べて、すべてのファイルに共通する4バイトまたは6バイトのシーケンスを見つけることです。残念ながら、これらはたくさんあり、1つを選ぶのは難しいです。
file - 自己解凍型 zip ファイルのファイル バージョンと製品バージョンのプロパティを設定するにはどうすればよいですか?
自己解凍型の zip ファイルである EXE ファイルがあります。EXE ファイルに製品バージョンとファイル バージョンを設定するにはどうすればよいですか? Windows はそれらをファイル プロパティに一覧表示しますが、それらはすべて空白です。Winzip で利用可能な説明フィールドは、ファイル プロパティに影響を与えないようです。
私は Winzip Self-Extractor 4.0 Personal Edition を使用していますが、他の解決策/回避策があれば幸いです。