[過去ログ] 【.cmd】 バッチファイルスクリプト %12 【.bat】©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
1(2): 転載ダメ©2ch.net [sageteoff] 2017/03/11(土)13:47 ID:2LSSeyH1(1)調 AAS
拡張子が .cmd または .bat のバッチファイルのスクリプティング(プログラミング)に関わる
質問,テクニック(JScript,Perl等の埋め込みなど含む),関連情報のためのスレです。
※何でも無理矢理バッチでやろうとせず、WSH等の使用も検討しましょう。
前スレ
【.cmd】 バッチファイルスクリプト %11 【.bat】©2ch.net
2chスレ:tech
それ以前の過去スレ
%10 2chスレ:tech
%9 2chスレ:tech
%8 2chスレ:tech
%7 2chスレ:tech
%6 2chスレ:tech
%5 2chスレ:tech
%4 2chスレ:tech
%3 2chスレ:tech
%2 2chスレ:tech
%1 2chスレ:tech
903: 2018/10/27(土)13:14 ID:8ILfgags(2/3)調 AAS
フォント問題だね、
メモ帳とかレジストリエディタはフォントリンクで表示用フォントが持ってないコードも他のフォントにあればそれで代用表示するから
904: 2018/10/27(土)15:49 ID:IkTi26EG(1)調 AAS
なんだよ地球文字って?
905(1): 2018/10/27(土)16:16 ID:NXHcy7gB(3/4)調 AAS
https://www.charbase.com/1f30e-unicode-earth-globe-americas
https://www.charbase.com/1f30f-unicode-earth-globe-asia-australia
https://www.charbase.com/1f30d-unicode-earth-globe-europe-africa
906: 2018/10/27(土)16:59 ID:r0d5m4I8(1)調 AAS
そんな文字(絵文字?)があるのか。
初めて見て、びっくり。(; ̄Д ̄)
907: 2018/10/27(土)17:04 ID:NXHcy7gB(4/4)調 AAS
それ、右上のリンクを押したら色々出て来て笑える
908(1): 2018/10/27(土)22:17 ID:8ILfgags(3/3)調 AAS
for /f %a in ('dir /b') do echo %~za,%~ta
なんてことできたんだねえ、
dir /bは他の属性情報を削いでるからできないと思い込んでた
909: 2018/10/28(日)08:43 ID:uzLWPyey(1)調 AAS
>>908
dirで取得した情報使うわけじゃないから
カレントにxxx.txtとかのファイルがあれば
for /f %a in ("xxx.txt") do echo %~za
とかできるよ
910: 2018/10/28(日)11:17 ID:ecNurFe9(1)調 AAS
dpnxfだったら単にファイル名にカレントのパスを付けるだけだからチグハグでも出来ちゃうんだぜ
aaa.txtっていうファイルがカレントに存在してなくても構わないってことだ
pushd d:\xxx\yyy
for /f %a in ("aaa.txt") do echo %~fa
ってやれば、d:\xxx\yyy\aaa.txtっていう架空のファイルのフルパス名を表示してくれる
911: 2018/10/28(日)20:39 ID:5N/SSOj8(1)調 AAS
>>905
俺のブラウザが古いのかうまく表示されなかったけど、これか。
http://i.stack.imgur.com/DQ2Ls.png
912(1): 2018/10/29(月)00:52 ID:m4kOmKq3(1)調 AAS
質問です。
データが以下のように入っているcsvファイルを
指定された削除対象のファイル名の行を削除したいです。
削除対象は別ファイルに一覧としてあります。
イメージとしては以下のようにしたいです。
bass.csv
================================
ファイル名,日付,時間
AAA,20111001,1300
AAB,20171001,1300
AAC,20171031,1300
AAD,20171031,1300
================================
delete.txt
================================
AAB
AAD
================================
output.csv
================================
ファイル名,日付,時間
AAA,20111001,1300
AAC,20171031,1300
================================
OSはWindows7
コマンド(batでもOK)でoutput.csvのような形にしたいのですが
上手くいかず、findstr /V で1行だけ試しにやってみたら理想と近い形になったのですが、
削除対象が複数になると上手くいきませんでした。
913: 2018/10/29(月)06:11 ID:VYDzXbvz(1/8)調 AAS
?
findstr /v "AAA AAD" bass.csv>output.csv
で行くはずだがだめだった?
これが行ければ除外パターンを作るfor /f文を前段に作るだけで終わると思うが
914: 2018/10/29(月)06:59 ID:VYDzXbvz(2/8)調 AAS
行けるじゃん…そういえばfindstrは/gオプションあるから、for文も要らんね
findstr /v /g:delete.txt bass.csv>output.txt
なおfindstrの複数検索パターン指定は和文だと失敗する。
英数字の検索なら問題なし
915: 2018/10/29(月)07:23 ID:g89iCylL(1/7)調 AAS
よくわからんが
FINDSTR /B にして検索文字列のあとに , を付ければいいんじゃね
916: 2018/10/29(月)07:26 ID:g89iCylL(2/7)調 AAS
あ、/I も付ければいいかも
917: 2018/10/29(月)08:03 ID:VYDzXbvz(3/8)調 AAS
行頭以外にAAAやAADが記述されており、それは出力したいなら /B は合った方がいい
918: 2018/10/29(月)08:12 ID:VYDzXbvz(4/8)調 AAS
訂正 AABやAADが だった
919: 2018/10/29(月)08:15 ID:g89iCylL(3/7)調 AAS
無いとファイル名の部分一致するかも
拡張子あるなら末尾の , は要らんかも
和文ダメなんだ知らんかった
920(3): 2018/10/29(月)09:16 ID:g89iCylL(4/7)調 AAS
>>912
和文無ければ不要のバッチ
@echo off & setlocal & set /a n=0
for /f "delims=" %%i in (delete.txt) do set "s=%%i" & call :x
if %n%==0 (goto :eof ) else set /a n-=1
echo ファイル名,日付,時間> output.csv
for /f "skip=1 delims=" %%i in (bass.csv) do set "s=%%i" & call :y
goto :eof
:x
set "d%n%=%s%" & set /a n+=1 & goto :eof
:y
for /f "delims=," %%j in ("%s%") do set "s1=%%j" & call :z
goto :eof
:z
setlocal enabledelayedexpansion
for /L %%k in (0,1,%n%) do if /i "!s1!"=="!d%%k!" goto :eof
echo !s!>> output.csv
921(1): 2018/10/29(月)09:25 ID:g89iCylL(5/7)調 AAS
>>920
3行目訂正
if %n%==0 (copy bass.csv output.csv & goto :eof ) else set /a n-=1
922(2): 2018/10/29(月)10:42 ID:VYDzXbvz(5/8)調 AAS
おいらが書くならこう
@echo off
setlocal enabledelayedexpansion
for /f %%a in (delete.txt) do set list=!list!,%%a
set list=%list:,= %
for /f "delims=" %%b in (bass.csv) do (
set "line=%%b"
set /a flg=0
for %%b in (%list%) do (
echo !line!|findstr /b /v "%%b">nul 2>&1
set /a flg +=!errorlevel!
)
rem echo !cnt!
if !flg! equ 0 echo !line!>>output.txt
)
pause
923(2): 2018/10/29(月)11:13 ID:K68WvpFD(1)調 AAS
>>899
x64だと
C:\Windows\System32\
x64だと64bitで書いたアプリもあるのでフォルダで区別
ここらへんwindows自体が手品のようなことをしていていわば巨大ウィルスソフト化
x64はintelの失敗作、性能を優先しすぎて使い勝手が大幅に悪くなった
924: 2018/10/29(月)11:17 ID:P47cxv7B(1)調 AAS
CSVのフィルタ処理をバッチでやろうとは思わないけど参考になった
925: 2018/10/29(月)11:21 ID:VYDzXbvz(6/8)調 AAS
すまん、>>922の内側のfor分の %%変数は%%cの方がよかった。
ローカル変数的な振る舞いで動作上は問題ないけど
926(3): 2018/10/29(月)11:39 ID:wCs1yHBV(1)調 AAS
先輩方、お知恵ありがとうございます。
情報の後出しとなってしまって大変申し訳ありません。
ファイル名には枝番がふられているものがあり、
delete.txtに記載されている「AAB」を削除指定すると枝番01,02の記載迄消えてしまう為
ファイル名と完全一致の行のみを削除するにはどのようにすれば良いかお知恵をお借りしたかった次第です。
bass.csv
================================
ファイル名,日付,時間
AAA,20111001,1300
AAB,20171001,1300
AAC,20171031,1300
AAD,20171031,1300
AAB01,20111001,1300
AAB02,20111001,1300
================================
delete.txt
================================
AAB
AAD
================================
output.csv
================================
ファイル名,日付,時間
AAA,20111001,1300
AAC,20171031,1300
AAB01,20111001,1300
AAB02,20111001,1300
================================
927: 2018/10/29(月)11:41 ID:VYDzXbvz(7/8)調 AAS
delete.txtにカンマ加えて書けばいいんでないの?
AAB,
AAD,
928(1): 2018/10/29(月)11:55 ID:g89iCylL(6/7)調 AAS
>>926
>>920でOK
>>922
delete.txtの中の
テキストに半角スペースや ! 文字があると誤動作
929: 2018/10/29(月)12:31 ID:g89iCylL(7/7)調 AAS
>>926
もし>>920を使うなら>>921で訂正してください
930(1): 2018/10/29(月)13:38 ID:SulfyTCP(1)調 AAS
>>923
質問は64bitならどういう値になるって質問ではなくて、
32bitの場合と64bitの場合とで機能・動作的に何が違うの?
って意味だと思うけど
931: 2018/10/29(月)13:42 ID:t/dvzEws(1)調 AAS
>>930
違うよ
932: 2018/10/29(月)13:43 ID:VYDzXbvz(8/8)調 AAS
>>928
半角スペースはケアレス、!は全く気にしていなかった。勉強になった。有難う
933: 2018/10/29(月)22:11 ID:BnWHDqaq(1)調 AAS
Ruby で作った
require 'csv'
delete_files = { } # 削除するファイル名を入れる、ハッシュ
text = <<TEXT
AAB
AAD
TEXT
# 改行区切りで、改行を除去してから、ハッシュに入れる
text.each_line do | line | # 各行
line.chomp! # 末尾の改行を削除する
next if line.empty? # 空行は処理しない
delete_files[ line ] = true
end
# コロン区切りのCSV 入力ファイルを、1行ずつ処理する
CSV.foreach( "bass.csv" ) do |row|
# 削除対象ファイルの行は、出力しない
puts row.join( "," ) unless delete_files.has_key? row[ 0 ]
end
934: 2018/10/29(月)22:24 ID:XpqRFBWF(1)調 AAS
地球はチタマと読むのです
935: 899 2018/10/30(火)17:29 ID:GfHx62hK(1/3)調 AAS
>>923
レスありがとうございます。
OSはwin10x64で実行されたcmdの呼び出し元は
C:\Program Files (x86)にあるアプリケーションです
%__APPDIR__%はC:\Windows\SysWOW64\
%ComSpec%はC:\WINDOWS\system32\cmd.exe
左上にある窓のtitleは%ComSpec%と同じで、何か変です
タスクマネージャーにはコマンドプロンプト(32ビット)と出ます
OSから直接cmdを起動したら(32ビット)は出ません
OSが自分自身を騙してるのでしょうか
たぶん機能上は違いが無いと思いますが
936: 2018/10/30(火)17:53 ID:ZaLbntHv(1/2)調 AAS
その呼び出してるアプリが32bitアプリなのだと予想
937: 2018/10/30(火)17:57 ID:GfHx62hK(2/3)調 AAS
C:\Program Files (x86)なので32ビットですね
938: 2018/10/30(火)18:58 ID:ZaLbntHv(2/2)調 AAS
64bitOSでの32bitアプリはエミュレーションみたいな物で、32bitアプリから64bitのdllは使えないし、その逆も出来ないようになってる。なのでcmd.comも分けてあるという理由でメモリや動作モード以外の機能差は無いのではなかろうかと
939: 2018/10/30(火)19:57 ID:8A3JIwUi(1)調 AAS
32bitアプリから見た C:\Windows\System32 の実体は C:\Windows\SysWOW64 だから、
System32にあってもSysWOW64にないコマンド(WSL関連とか)は実行できないとか、
環境変数の値がビット数に応じて違うとか、その程度の違い
940: 2018/10/30(火)22:17 ID:GfHx62hK(3/3)調 AAS
試しに
64ビットでビルドしたコマンドは
普通に動作しました
>echo %__APPDIR__%
C:\Windows\SysWOW64\
>Hello_World.exe
Hello World!
941: 2018/10/31(水)19:08 ID:QI0rTSh9(1)調 AAS
以前は確かsystem32のcmdとSysWOW64のcmdが同じだったんだ
そんでもってWinSxSのcmdが違っていた
今はsystem32とSysWOW64が違うんだな
WinSxSのはsystem32と同じになってる
手品の種が変った?
942: 2018/10/31(水)21:11 ID:lh+glCNV(1)調 AAS
>>926
作ってみた。ファイル名に%がはいらない前提ですが、こんな手もあるということで勘弁願いたい。
@echo off
set t=tmp.bat
echo type bass.csv^^>%t%
for /f "delims=" %%a in ( delete.txt ) do (
echo ^| find /v "%%a,"^^>>%t%
)
echo ^>output.csv>>%t%
call %t%
del %t%
943: 2018/11/01(木)07:13 ID:5DVAbKOZ(1/2)調 AAS
夜見た時は何をやってるのか分からなかった。
finnd /vをパイプでパターン数繰り返すわけね。
944: 2018/11/01(木)11:22 ID:06yasLFO(1)調 AAS
%ってファイル名に使えるんだね
半角記号でバッチの挙動に関係するのは「!」くらいしか知らなかったわ。
じゃあ変数名と同じ名前のフォルダ(例えば「%appdata%」)に
cdで移動するのは無理って事?
945(1): 2018/11/01(木)11:39 ID:OrBUhe7y(1/2)調 AAS
@echo off
md %%appdata%%
cd %%appdata%%
cd
pause
946: 2018/11/01(木)11:46 ID:OrBUhe7y(2/2)調 AAS
>set /p a=
%appdata%
>cd %a%
>cd
D:\%appdata%
947: 2018/11/01(木)19:53 ID:5DVAbKOZ(2/2)調 AAS
for /f 文の時の()内ってダブルコーテーションのパスつっこむとダメなのね
知らなかったわ……
948: 2018/11/01(木)21:09 ID:OeVqRgzL(1)調 AAS
usebackqがあるだろ
949: 2018/11/02(金)17:48 ID:C2p2E45I(1)調 AAS
>>945
%の前に%を置いてエスケープするのか
どうもありがとう
950(1): 2018/11/05(月)20:55 ID:LVlVWx6w(1)調 AAS
遅延展開だと論理否定の単項演算子が全く使い物にならない
@echo off
setlocal enabledelayedexpansion
set /a a=0,b=0
set /a "a=!22+!33"
echo a=!a!
set /a "b=!(5^5)"
echo b=!b!
pause
なんだこの結果は
a=33
b=55
正解は
a=0
b=1
951(1): 2018/11/06(火)07:20 ID:4bA2Iy3p(1/5)調 AAS
>>950
XORは二重引用符で囲んでも更にエスケープの謎仕様
@echo off
set n=!
setlocal enabledelayedexpansion
set /a a=0,b=0
set /a "a=!n!22+!n!33"
echo a=!a!
set /a "b=!n!(5^^5)"
echo b=!b!
pause
a=0
b=1
952: 2018/11/06(火)08:19 ID:NUZ4yNuE(1)調 AAS
言語仕様に謎が多すぎて業務に使うには怖い
953: 2018/11/06(火)10:53 ID:XCQlzVed(1)調 AAS
標準インストールされてるという以外に長所はないよなぁ
954: 2018/11/06(火)11:06 ID:OYWwvpi1(1)調 AAS
今のWindowsなら、Powerchell?、WSH?なら、標準インストールされているが・・・・。
以前なら、REXX(PC-DOS)とか、QBASICあたり?
でも、使い物になるのは・・・・。
955: 2018/11/06(火)11:25 ID:CgLejKNb(1)調 AAS
QBASICは中身がないので別途買わないと動かないよ
956(1): 2018/11/06(火)14:54 ID:7wQVLanf(1)調 AAS
>>951
!を取って
set /a "b=(5^^5)"
では
オペランドがありません。
0
って出るのは何故?
957: 2018/11/06(火)15:53 ID:4bA2Iy3p(2/5)調 AAS
>>956
謎ですねえ
>cmd /v:on
>set n=!
>set /a "a=!n!(123^456)"
0
>set /a "a=!n!(123^^456)"
0
>set /a "a=!n!(123^^^456)"
0
>set /a "a=!n!(123^^^^456)"
オペランドがありません。
>set /a "a=(123^456)"
435
>set /a "a=(123^^456)"
オペランドがありません。
958: 2018/11/06(火)15:56 ID:4bA2Iy3p(3/5)調 AAS
たぶん式に遅延変数があると2回展開してるんじゃ?
959: 2018/11/06(火)16:35 ID:4bA2Iy3p(4/5)調 AAS
遅延変数が無くても
NOT演算がある時に再エスケープ(^^)が必要みたいね
>cmd /v:on
>set /a "a=!(123^123)"
0
>set /a "a=!(123^^123)"
1
>set /a "a=(123^123)"
0
>set /a "a=(123^456)"
435
>
一番上の式は !(123123) で 0 になってると思う
960: 2018/11/06(火)16:48 ID:4bA2Iy3p(5/5)調 AAS
遅延無しの環境では二重引用符だけでエスケープは要らないようだ
>cmd /v:off
>set /a "a=!(123^123)"
1
>
961: 2018/11/07(水)07:55 ID:BI4/Q6Ue(1)調 AAS
遅延モードでは式の中に ! 文字があると展開の処理が違うんだろう。
だから ^ 文字の扱いも変化する。
962: 2018/11/08(木)07:17 ID:9iJL9tpZ(1)調 AAS
@ECHO OFF
REM 単項演算子 ! を使用しないNOT演算
SETLOCAL ENABLEDELAYEDEXPANSION
FOR /L %%I IN (-3,1,3) DO (
SET /A A=%%I
SET /A "B=~(A|-A)>>31&1"
ECHO A=!A! , NOT A=!B!
)
PAUSE
IF使えば簡単だけど
963: 2018/11/09(金)09:53 ID:3Y5lMbnv(1/4)調 AAS
%~nx0 が変だ
>dir /b
test.bat
>type test.bat
@echo file="%~nx0"
>test
file="test.bat"
>"test"
file="test"
>
964: 2018/11/09(金)11:09 ID:3Y5lMbnv(2/4)調 AAS
どうも先頭の引用符が怪しい
>.\"test"
file="test.bat"
>test"
file="test.bat"
>"test
file="test"
>
965: 2018/11/09(金)17:30 ID:3Y5lMbnv(3/4)調 AAS
>te"st
file="test.bat"
966: 2018/11/09(金)19:53 ID:BPg47oOK(1)調 AAS
test.exe.bat
967: 2018/11/09(金)21:20 ID:3Y5lMbnv(4/4)調 AAS
>t"E"s"T"
file="test.bat"
>"t"E"s"T"
file="t"E"s"T"
先頭が引用符だと
%~nx0 は入力丸写しの
拡張子無視のバカ仕様らしい
968(1): 2018/11/14(水)01:02 ID:fbx51wpG(1)調 AAS
7z の個別連続圧縮のやり方を教えてください。
あまり詳しくなくてネットを見て見よう見まねで作ったので自分でもよく分かってません。
@echo off
set exe7z="C:\Program Files\7-Zip\7z.exe"
:start
if "%~1"=="" exit /b
%exe7z% a -r -mmt=on -mx=9 -ssw -txz "%~dpnx1.7z" "%~1"
shift
goto start
このままだと作成された 7z のファイル名に元ファイルの拡張子が付いてしまいます。
dpn1 だとファイル名の拡張子は消えるけど、作成された 7z の中のファイルは拡張子が消えた状態になってしまいます。
ファイル名から元の拡張子を消し、中のファイルは拡張子を残したままってどこを変えればよいのでしょうか?
969: 2018/11/14(水)06:32 ID:JBsUV7Ak(1/2)調 AAS
単に7zipのcliコマンドオプションの使い方で、バッチと関係ないなあ...
970: 2018/11/14(水)06:39 ID:vPR2E9Wi(1/2)調 AAS
-txz だと書庫のヘッダににファイル名の情報は無い
書庫名を変えて開くと中のファイル名も同じく変わるだけ
中身は同じ
971: 2018/11/14(水)06:57 ID:JBsUV7Ak(2/2)調 AAS
要するにxzファイルフォーマットの限界だな。ファイル名を保持する機能が無い
972: 2018/11/14(水)07:10 ID:vPR2E9Wi(2/2)調 AAS
だから複数ファイルの圧縮も出来ない
973: 2018/11/15(木)02:26 ID:/pNu0fIl(1)調 AAS
できないのか。残念。
974: 2018/11/15(木)03:44 ID:sPg3U71k(1)調 AAS
xzじゃないとダメなの?
zipやrarや7zにしちゃダメなの?
975: 2018/11/15(木)04:23 ID:eQKfIPvp(1)調 AAS
反応遅っっw
976: 2018/11/15(木)04:24 ID:MW4yWYe4(1)調 AAS
>>968 が何をしたいのか分からん。
-txz なのに拡張子が .7z になってる。
なぜ .xz にしないのか。
977(1): 2018/11/19(月)19:31 ID:qVZWX1fW(1)調 AAS
ところで、結局、DOSでの圧縮はどの形式がおすすめ?
978: 2018/11/19(月)20:03 ID:Qq88xGOU(1)調 AAS
DOSなんてもう使ってないし
979(1): 2018/11/19(月)20:26 ID:8P0ZFwQc(1)調 AAS
>>977
lzh 一択
980: 2018/11/19(月)23:22 ID:uf9ZfFD/(1)調 AAS
>>979
右に同じ
981(1): 2018/11/20(火)03:39 ID:rmOcRzV5(1)調 AAS
lzhは脆弱性があるから使うべきではない
zip一択
DOSで使えるzipアプリがあるかどうかは知らん
982: 2018/11/20(火)06:48 ID:TCh3BaRv(1)調 AAS
>>981
> lzhは脆弱性があるから使うべきではない
脆弱性は対策されてるよ
使用しない方がいいと言うのはlzhの脆弱性じゃなくてアンチウイルスソフトが対応しないから
983(3): 2018/11/20(火)09:38 ID:O/AOgigh(1)調 AAS
そもそもアンチウィルスソフトに対応してもらえないってのが脆弱性でしょ。
事実上公式最新版のUNLHA.DLLはソース非公開で
ソース公開してる古いDOS版はヘッダ構造体がサイズ固定で静的に確保されてるから、
例えばDOSでは考慮しなくて良かった数千文字の
長いファイル名があるとバッファオーバーランを引き起こす。
アンチウィルスソフトによってはDOS版のソースを使ってるので
バッファオーバーランを発生させるようなヘッダを不正扱いして
該当書庫のそれ以降の圧縮ファイルの検査をスルーするものがあるが、
そのような検査されない圧縮ファイルであっても事実上公式のUNLHA.DLLでは解凍できてしまう。
検査はされないが解凍できてしまうようなファイルにウィルスしこまれたら大変ってのが「脆弱性」なわけ。
アンチウィルスソフトが対応してくれないなら脆弱性は対策されてるとは言えないっしょ。
対処法は誰かが移植性の高いソースコードを書いて公開するぐらいしかないよーな。
984: 2018/11/20(火)21:31 ID:9NuM4Bsa(1)調 AAS
>>983
どっちもねーよアホンダラ。
LHA は日本独自の圧縮アルゴリズム&zipに追い越された。
いわゆるガラパゴス技術。いらん。
数年前まで役所が .lzh とかで何かしら添付ファイル送ってくることがあって文句付けようかと思ったことがある。
985(1): 2018/11/20(火)22:34 ID:7AOElbkD(1)調 AAS
>>983
今時16bit環境なんかで使ってる奴いないだろ
unlha32.dllは脆弱性の対策されてるから言いがかりレベル
986: 2018/11/20(火)22:42 ID:U4aYcO/c(1/2)調 AAS
純粋なDOS(16bit)を使っててウィルスが怖いなんて思う人いるのか
987(1): 2018/11/20(火)22:44 ID:htpgQQTF(1)調 AAS
win95か98だとしたら背筋が凍る
988: 2018/11/20(火)22:50 ID:U4aYcO/c(2/2)調 AAS
>>987
いやだからDOSを狙ったウィルスなんかが今時流通してるって思うのかってことさ
989(1): 2018/11/21(水)00:32 ID:dG4a7MEF(1/3)調 AAS
>>985
unlha32.dllが対策したのはバッファーオーバーランそのものについてだけ、ね。
>>983のは、同じ書庫データなのにソフトによって取り扱い方に違いができてしまった事が原因で、
言わば仕様とかlzhのエコシステム全体の不具合だから
unlha32.dllだけ対策しました、アンチウイルスソフトが対策しねーのが悪いって喚いてもしょうがないのよ。
990(2): 2018/11/21(水)06:43 ID:sFoC6dAL(1/6)調 AAS
>>989
馬鹿なの?
そんなのlhzに限らずどんな書庫ファイルでも同じだろ
単にアンチウイルスソフトが対応しなかっだけの話
まあグローバルに展開してるマカフィーやシマンテックから見たら極東でちょっと流行ってただけのファイルフォーマットにいちいち対応してられるかよって思うのも無理はないわな
991(1): 2018/11/21(水)08:07 ID:dG4a7MEF(2/3)調 AAS
>>990
いや、lzhのヘッダは安全性そっちのけで拡張性と互換性を優先した結果、
論理的な最大ヘッダサイズが4ギガバイト(要するに制限がない)とか酷い事になってるからねぇ……
例えば最大で64キロバイト程度のzipなんかと同等に並べるのはちょっと無理じゃねーかと。
992(1): 2018/11/21(水)09:43 ID:nqncv/qX(1)調 AAS
>>990
https://micco.mars.jp/vul/2010/mhvi20100425.htm
993(1): 2018/11/21(水)09:46 ID:sFoC6dAL(2/6)調 AAS
>>991
それの何が問題なんだ?
まさか4GBのメモーがないとヘッダーが読めないとか思ってるのか? w
994: 2018/11/21(水)09:50 ID:sFoC6dAL(3/6)調 AAS
>>992
だからウィルス対策ソフトが対応してないって話だろ
何回ループすれば理解できるんだよ w
995(1): 2018/11/21(水)11:07 ID:dG4a7MEF(3/3)調 AAS
>>993
おいおい……
64キロバイトを一括でメモリに読み込んで処理すんのと
4ギガバイトを逐次読み込んで処理しなきゃいけないのとでは
実装の難易度もコストも全然違うんだけど……
初心者でもわかりやすいところで言えば
64キロバイトの方はメモリが潤沢にあれば静的なメモリ確保でもいいけど
4ギガバイトの方は普通は動的なメモリ確保が必須になるし。
996: 2018/11/21(水)11:11 ID:guoVPW2S(1)調 AAS
・
997: 2018/11/21(水)11:49 ID:eSuVM7gW(1)調 AAS
・
998: 2018/11/21(水)12:29 ID:sFoC6dAL(4/6)調 AAS
>>995
で、何が問題なの?
自分には実装できねーから糞だって話か? w
999: 2018/11/21(水)12:35 ID:sFoC6dAL(5/6)調 AAS
そもそも動的メモリー確保が難しいとかどんだけレベル低いんだよ w
1000: 2018/11/21(水)12:36 ID:sFoC6dAL(6/6)調 AAS
と言う事でバカの頭に脆弱性があっただけ
終わり w
1001(1): 1001 Over 1000 Thread AAS
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 619日 22時間 49分 43秒
1002(1): 1002 Over 1000 Thread AAS
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.061s