1 :
◆WINNtSV. :
ハードディスクがものすごく安くなった今日この頃。
皆様いかがお過ごしでしょうか?
NT4.0スレでちらっと出てましたけど、
こいつを使うと、ExeやDllがものすごく小さくなっちゃいます。
圧縮したままで普通に実行可能です。
C:\WINNT とか C:\WINNT\SYSTEM32 とかに適用したら凄そう。
一部で有名な「MAME」の配布バイナリもこれで圧縮してますよね。
・NTFS圧縮との兼ね合いはどうなのか?
・アンチウイルスソフトに蹴られないのか?
・本当に元に戻せるの?
などなど、実際いろいろ試してみよう! 人柱タンいろいろ教えて!
というスレッドです。
↓本家はこちら
ttp://wildsau.idv.uni-linz.ac.at/mfx/upx.html ↓日本語フロントエンドはこちら
ttp://www.urikire.net/UPXF.htm
3 :
1 ◆WINNtSV. :01/09/11 06:28
PhotoShop6.0j のフォルダにやってみました!
$ upx *.exe
$ upx *.dll
47.3MB → 18.7MB になったよ!
ハァハァ…
4 :
名無し~3.EXE:01/09/11 06:32
起動も心持ち速くなるよ。
その代わりメモリ食うけど。
>>4 おお!先行者タン! ハァハァ…
起動時にはメモリ喰いそうですけど、
起動後もずっとなんでしょうか?
6 :
名無し~3.EXE:01/09/11 06:58
>>5 ずっとそうだよ。
試してみりゃいいじゃん。
ちなみに起動が速くなるっていうのはディスクアクセスの関係。
>>3のように50MBが20MBになったら多少読み込み時間が早くなるんでね。
メモリに展開しなきゃならないけどそのさいの時間ロスは微々たるもんでしょ。
もっとも昨今の速いHDDじゃ30MBの差くらいどうってことないかもしれないけど。
FDDなんかだと顕著にわかるんだけどね。
結論:
何十MBも小さくできる場合はディスクアクセススピードの関係によりUPX圧縮は起動速度を速くする。
ただ、小さい実行ファイルをUPX圧縮するとディスクアクセスはほぼ一瞬なのであまり効果は無く、メモリを多く使用する分やらないほうが良い。
大きいけれども長時間起動しないようなアプリには理想的なわけですね。
といっても、具体例がさっぱり思いつきませんが。
9 :
1 ◆WINNtSV. :01/09/11 07:23
>>6 ナルホド! 謹言ありがとうございます。
同一プロセスである以上、起動時に展開用に確保されたメモリ(データ、opコードとも)は
死ぬまで解放されないということでしょうか?(てきとう)
>>7 というわけで
================== 終了 =====================
じゃなくて、
1. 起動(ディスクアクセス)速度が向上
2. 占有メモリが増えてしまう
がバーターな関係になってしまうというのもわかるんですけど、
3. 占有するディスクスペース節約!
ていうのに惹かれましたです。ハァハァ。
貧乏性ですかねえ。
だって、
C:\WINNTのサイズ、 1.31GBですよ…。
ゲイツ君ヒドイヤ!
11 :
名無し~3.EXE:01/09/11 07:37
>>10 ・・・、アホに説明するのは疲れるからなにも言わない。
うん、貧乏性だな。
俺はディスクスペースの節約より起動速度の短縮に価値を見出した。
でもメモリ食うのはなぁ。とりあえずでかい実行ファイルでやってみよう。
13 :
1 ◆WINNtSV. :01/09/11 07:50
個人的には、
KERNEL32.DLL
USER32.DLL
GDI32.DLL
NTDLL.DLL
ADVAPI32.DLL
COMDLG32.DLL
COMCTL32.DLL
このへんを圧縮したときの影響も気になり。
でも一回ロードしたら使い回すんでしたっけ?
>>11 配下にプロファイルもテンポラリファイルも置いてないよう!
…ちがう? やっぱり俺アホ?
ディスクスペース的なオーバーヘッドも、
アロックされるメモリ的なオーバーヘッドも、
検証してみないといけませんね。
でも、どうすればいいかなあ。
多重起動できるEXEで試せばいいかな。
16 :
名無し~3.EXE:01/09/11 07:57
>>15 そんなわけないだろ。
ページングファイルとか休止状態のためのファイルがあるんじゃないの?
>>14 でも、upx.exe自体が
KERNEL32.DLL
USER32.DLL
NTDLL.DLL
をインポートしており…
この3つは無理ナノカッ!
>>15 そんなわけありますよう。
ページング: D:\
TEMP: C:\TEMP
ProfilesDir: D:\home
ハイバネ: こんなもんいらん!無効化!
で運用中でアリマス!
C:\WINNTにへんなテンポラリが入るのはいやでアリマス!
ちなみに当方独身、Win2000Proでアリマス!
18 :
名無し~3.EXE:01/09/11 08:29
>>17 俺もWin2kProだけど700MBで収まってるよ。
19 :
名無し~3.EXE:01/09/11 09:10
そもそも何を入れたら1.3gなんじゃ
めちゃめちゃ意味不明コンポーネントの塊では?
ちなみにウチの2000は
win2000フォルダ(648MB)
Document関係(26MB)
ページング(190MB)
これで2000全部。
NTフォルダだけで1.3て...
winnt847MB
大きいけれども長時間起動しないようなアプリといえば。。。
HP表示テスト用のネスケ6とかか?
普通のアプリは気にしなくてもいいけど、
UPXは圧縮後のファイルにチェックサム出してくれないから
NT系では KERNEL32.DLL 等が正しく動くかどうか不安。
仮にチェックサムなしで動いたとしてもUPXは KERNEL32や USER32 のように
複雑な DLL は圧縮できそうにない。
あと、元に戻すといっても、非可逆圧縮だから完全には戻らない。
バックアップを取っておいた方が無難。
HDDを買ってくるのがもっと無難。
WINNT 1.28 GB (1,378,898,790 バイト)
ファイル数 10.915
フォルダ数 330
presp3関係で135MB
ServicePackFiles 167MB
system32 569MB
1年以上再インストールしていない。
うーんと、うちもWin2000が出てすぐからだから1年半近く使ってます。
安定してるなあ。
\FONTS がでかいのと、\DLLCACHE をそのままにしてることが問題かな。
4年ぐらい再インストールせず、Windows2000上書きすると1G余裕で超えます。
開発系アプリが入っていなければそこまで行かないかもしれんが。
26 :
名無し~3.EXE:01/09/11 10:53
>あと、元に戻すといっても、非可逆圧縮だから完全には戻らない。
それは恐い。
うちWin2000 SP2インストールしたばかりだが873M
いらないと思われるものは消したんだけどなぁ…
>19 dllcache も消したの?
28 :
名無し~3.EXE:01/09/11 11:12
メモリを喰うのはCopy on WriteとかMapCache(Win98/Me)
等が有効に働かなくなるから。
>>23 非可逆圧縮でプログラムが動くと思ってるのか、阿呆。
31 :
22じゃないが:01/09/11 15:19
>>29-30
実行コード部分は確かに可逆じゃないと動かんだろうが、
PEヘッダとかデータ領域とかは多少変わってもOKっす。
っつーか、実際UPXかけてから-dで展開してみろ。完全には戻らないから。
>>31 ヘッダにはさ日時が入ってるんだよ。
おんなじソースコンパイルしても .exe 一致しないのが証拠。
そこが変わってんじゃないの?
>>29 わかりにくいね。。。。。スマソ。「非可逆」だけにしとくんだった。
>>32 UPX & 日本語フロントエンドを使って見て欲しい。
「余分なデータを取り除く」
「[Export]セクションを圧縮する」
「移動レコードを削除する」
っていうオプションがあって、
「余分なデータを取り除く」以外はデフォルトだ。
まあそのオプションにチェック入れなきゃ可逆と呼べるかもしれないが。
言いたいことはわかったよ。
日本語フロントエンドってのは使ってないんだけど、
「余分なデータを取り除く」 ってオプションはどれだかわかんないや。
>>34 ヘルプによれば
> 圧縮したあとに残るゴミデータを除去するオプションです。
> わずかながらサイズが減少するので、このチェックつきで圧縮しても
> エラーが起きなければ問題はないんじゃないかなぁ。
だそうだから、
--overlay=stripかな?ってこれぐらいしかないと思うけど。
36 :
名無し~3.EXE:01/09/11 19:32
1が出てこないのは起動不能になったから(藁
37 :
名無し~3.EXE:01/09/11 20:46
UPXで圧縮なんかするのQ2の接続ソフトぐらいだろ?
ダウンロードの時間を少しでも縮小しないといけないからね。
38 :
1@家 ◆WINNtSV. :01/09/11 22:26
あーぢつはHDD買ってきてしまいました!IBMの60GB!
ついでにメモリも256だけ。…ダメスカ?
ブートドライブの引っ越し方法を知らないもんで、
いろいろ調べモノ中。
貿易センタービルも気になっちゃうし、
俺の中のUPXプライオリティがダウソしております!
先行者タン、人柱タン いろいろよろしくです!
39 :
名無し~3.EXE:01/09/12 20:49
DLLをいくつか圧縮したら元に戻らなくなった。
その上エラーが出るようになった。
鬱だ…
40 :
1 ◆WINNtSV. :01/09/16 11:16
HDD引っ越しは何とかなったけど、
ちと仕事が忙しくて…、スミマセン。
でも快適にナリマシタ!
●わかったこと
HDDをFDISKしたら、アクティブパーティションを作っておかないと、
ブートドライブにならない。
--
「Photoshop6.0JフォルダUPXed計画」の後日談を。
ImageReady.exeへのショートカットのアイコンが、
WindowsEXE標準のアイコンに化けました。
ショートカットのプロパティでアイコンの変更しようとしても、
「利用できるアイコンが見つからない」状態です。トホホ。
win32PEを圧縮すると、先頭のアイコンリソース「だけ」は
外から参照できるところに出すはずなのに…。
Photoshp.exeは目玉アイコンだけ見えるんですけどねえ。
まあPhotoshp.exeのアイコンリソースを、
画像ファイルタイプのアイコンに指定してたりすると、
ちと困ったことです。
USER32.DLLなんか、エライことになりそうですぞ。
>>40 アイコンリソースのオプションをいじくれ。
まったく圧縮しないオプションもあるしな。
> HDDをFDISKしたら、アクティブパーティションを作っておかないと、
> ブートドライブにならない。
・・・・・・・・・・・
42 :
1 ◆WINNtSV. :01/09/16 11:59
>>41 $ upx --help
打ってみたら、オプションがイパーイですねえ。
俺も日本語フロントエンド使ってみるです。
43 :
1 ◆WINNtSV. :01/09/16 14:26
upx同梱版のフロントエンド落としてみました。
同梱されてるのは1.08ですねえ。。。
1.20使った方がいいですよね。
あらためていろんなオプション見てみました。
この辺使えば問題が減るのはわかるけど、
高圧縮が期待できる部分だからなあ…。
--compress-exports=0
Don't compress the export section.
Use this if you plan to run the compressed
program under Wine.
--compress-icons=0
Don't compress any icons.
--compress-resources=0
Don't compress any resources at all.
45 :
名無し~3.EXE:01/09/16 14:39
うちはWin2000の環境変数に
--best --compress-icons#0
を指定して使ってる。
アイコンリソースは削らず、最大限の圧縮。
自己改変チェックがついてるシェアウェアを
圧縮してしまって困ったこともあったね・・・。
圧縮ファイルは複数起動したり多重にロードすると
その数に比例して無駄なメモリ消費が増える。
複数アプリに同時使用されるシステムDLLなんかを
圧縮してしまったら、目も当てられないことになるはず。
また圧縮ファイルの使用時に一度すべてメモリに読み込むから
非圧縮でも同様になるネットワーク経由の起動以外では
起動速度面でのデメリットが出るし、余計にメモリも喰う。
圧縮して「○○KB小さくなった」と思ったら、大体それと
同じくらいメモリ消費量が増えると思っていい。
結局、メリットもデメリットも理解する「ユーザ」が使うべきなのだろうね。
最近ではソフトの「作者」が使っていることが多いけど、「ファイルサイズが
小さくなる」ということ以外に何も知らない作者が、かなり多いみたい・・・。
環境変数でオプション指定しておくと、フロントエンド使う必要あるの?と
思ってしまうかも。折角ワイルドカードも使えるのだし・・・。
http://nmnl.port5.com/ にあるDropUpは一度だけ使ってみたことがあるけど
感じたメリットは、初心者でも忘れずにバックアップが取れるということくらいかな。
うちはバッチファイルでバックアップ取り→UPX圧縮を手軽にしてる。
知人にWin98をシステム丸ごとUPX圧縮した人が居るけど、期待通り(?)
通常使用不可能、OS再インストールになった。元々再インストールする
つもりだからその前に、ということで試したようだけど。
>>1に
>・アンチウイルスソフトに蹴られないのか?
というのがあるけど、古いUPXでの圧縮実行ファイルでNAVが固まったように
なってしまったりしたことはある。古いアンチウィルスソフトでは警告を出すものも
存在するみたい。最近ではUPXも対策してるし、アンチウィルスソフトやその他の
バイナリ操作系ソフトでも、UPXなどで圧縮されたファイルでトラブルが出ないよう
対策を加えてきたソフトが増えてきたから、圧縮ファイルそれ自体以外での
トラブル要因はだいぶ減ったと思う。
47 :
名無し~3.EXE:01/09/16 23:20
UPX?
49 :
名無し~3.EXE:01/09/18 22:24
U
51 :
名無し~3.EXE:01/09/20 18:41
UP
UPXで圧縮したプログラムを使うと理論上スワップファイルが増えるんだけどね。
53 :
名無し~3.EXE:01/09/29 18:19
既出
55 :
名無し~3.EXE:01/09/29 18:36
56 :
名無し~3.EXE:01/09/29 18:46
57 :
名無し~3.EXE:01/09/29 18:56
58 :
名無し~3.EXE:01/09/29 19:33
57までは筋が通っていたが・・・。
60 :
名無し~3.EXE:01/09/29 20:08
ahya
UPX
66 :
名無し~3.EXE:01/10/06 00:04
それよりこれ何て読むのよ?
ウプックス(・∀・)?
そこんとこどーなのよ?
the Ultimate Packer for eXecutables
69 :
1 ◆WINNtSV. :01/10/07 17:23
ムム。微妙にageられてる!
仕事も佳境にはいってるくせに、ウルチマオンラインなんか始めちゃって、
UPXで実験するヒマねーっす!
「UPX」の読み方は、
「ゆうぱっく」
ですよ。(ウソ
Unko Project X