アカウント名:
パスワード:
見えなくなったからって情報が無くなったわけではないと言うあれ?
だよねーhttps://bunshun.jp/articles/-/7742?page=1 [bunshun.jp]PNGって画像ファイル内のどこを表示するか指定できるんですかね。確かピクセルのすクラーンショット関連ツールはPNG形式で画像を作るはず。
そういうんじゃなくて、ファイルサイズが小さくなるときにtruncateを忘れていて元のファイルの末尾部分がゴミとしてトリミングしたファイルの末尾にそのまま残ってしまうという問題。一般には先頭部分が失われたzlibストリームを復元することはできないけど、16KBごとに動的ハフマン辞書が初期化される性質とか新しいファイルに含まれる切り抜き部分を既知平文として使うことで復元が可能になるらしい
復元できなかったけどなんでだろう元のファイルだと復元できたけどよくわからない
> Discord では 1 月までこのような処理が行われていなかったという
今は削除されてるってことじゃね?
興奮のあまり読み飛ばしてたごめん
ファイルそのままで先頭から書き込んじゃう奴ね。やるやる。トリミングしたつもりが途中から普通に見れてしまうのは確かに問題。
しかしウェブサービスも画像を受け取るならきちんとデータのトリミング?みたいな地味に面倒そうな処理をしないといけないのね。メタデータ削除のついでにやるようなものだし、そういうことしないと画像ファイルサーバーのつもりがデータ置き場に転用されかねないからセキュリティ対策を別としてもやらざるを得ないが。でも軽く自作サービス作る時とかめんどくさそうだなぁ。ライブラリもツールもあるだろうけど。
modeをwでfopenすべきところをr+で開いちゃってたみたいなことなのか加工したファイルを元ファイルに上書き保存するってイメージがなくてすぐには分からなかった
Android の ContentResolver の openOutputStream では、 mode に "w" を指定しても切り詰められないというのが始末に悪い。前に自作アプリでひかかって調べたら、自分で truncate メソッドを呼ぶと良いというのを見つけて、まじかいなと思いながら対応した記憶がある。今調べたら、 Android 10 から "w" では切り詰められない動作に変わっていて、 "wt" と指定すると 切り詰められるらしい……。
猫缶とか璃樹無とかうめ~このみかんとかFCさくらとかあややとかでんことかラブマとか堂々と埋め込まずにコソコソ黒塗りするだけだからそういう目にあうスマホ厨は軟弱だなぁ
記事に書かれているようにバグってるのはParcelFileDescriptor.parseMode。バグの影響を受けるのがPixel の「マークアップ」ツール。
他にもParcelFileDescriptor.parseModeを使っているソフトウェアで作成した画像ファイルは同様の問題が存在するっていう理解でよいのかな?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー
いつぞや話題になった黒塗りPDFと同じか (スコア:3, 興味深い)
見えなくなったからって情報が無くなったわけではないと言うあれ?
Re:いつぞや話題になった黒塗りPDFと同じか (スコア:1)
だよねー
https://bunshun.jp/articles/-/7742?page=1 [bunshun.jp]
PNGって画像ファイル内のどこを表示するか指定できるんですかね。
確かピクセルのすクラーンショット関連ツールはPNG形式で画像を作るはず。
Re: (スコア:0)
そういうんじゃなくて、ファイルサイズが小さくなるときにtruncateを忘れていて元のファイルの末尾部分がゴミとしてトリミングしたファイルの末尾にそのまま残ってしまうという問題。
一般には先頭部分が失われたzlibストリームを復元することはできないけど、16KBごとに動的ハフマン辞書が初期化される性質とか新しいファイルに含まれる切り抜き部分を既知平文として使うことで復元が可能になるらしい
俺もDiscordにpng形式のスクショをアップして試したけど (スコア:0)
復元できなかったけどなんでだろう
元のファイルだと復元できたけどよくわからない
Re:俺もDiscordにpng形式のスクショをアップして試したけど (スコア:1)
> Discord では 1 月までこのような処理が行われていなかったという
今は削除されてるってことじゃね?
Re: (スコア:0)
興奮のあまり読み飛ばしてた
ごめん
やるやる (スコア:0)
ファイルそのままで先頭から書き込んじゃう奴ね。やるやる。
トリミングしたつもりが途中から普通に見れてしまうのは確かに問題。
しかしウェブサービスも画像を受け取るならきちんとデータのトリミング?みたいな地味に面倒そうな処理をしないといけないのね。
メタデータ削除のついでにやるようなものだし、そういうことしないと画像ファイルサーバーのつもりがデータ置き場に転用されかねないからセキュリティ対策を別としてもやらざるを得ないが。
でも軽く自作サービス作る時とかめんどくさそうだなぁ。ライブラリもツールもあるだろうけど。
Re:やるやる (スコア:1)
modeをwでfopenすべきところをr+で開いちゃってたみたいなことなのか
加工したファイルを元ファイルに上書き保存するってイメージがなくてすぐには分からなかった
Re:やるやる (スコア:2)
Android の ContentResolver の openOutputStream では、 mode に "w" を指定しても切り詰められないというのが始末に悪い。
前に自作アプリでひかかって調べたら、自分で truncate メソッドを呼ぶと良いというのを見つけて、まじかいなと思いながら対応した記憶がある。
今調べたら、 Android 10 から "w" では切り詰められない動作に変わっていて、 "wt" と指定すると 切り詰められるらしい……。
svn-init() {
svnadmin create .svnrepo
svn checkout file://$PWD/.svnrepo .
}
むしろ正々堂々と元ファイルに埋め込んでやれば良かったのに (スコア:0)
猫缶とか璃樹無とかうめ~このみかんとかFCさくらとかあややとかでんことかラブマとか
堂々と埋め込まずにコソコソ黒塗りするだけだからそういう目にあう
スマホ厨は軟弱だなぁ
ParcelFileDescriptor.parseMode のバグ (スコア:0)
記事に書かれているようにバグってるのはParcelFileDescriptor.parseMode。
バグの影響を受けるのがPixel の「マークアップ」ツール。
他にもParcelFileDescriptor.parseModeを使っているソフトウェアで作成した画像ファイルは同様の問題が存在する
っていう理解でよいのかな?