Discuss Scratch

apple502j
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

https://scratch.mit.edu/projects/208445070/ このプロジェクトにあるので、急ぎでほしい人はここから。

これはプロジェクトの中身が入っているJSONファイルをいじると出てきます。「もし」ブロックをプロジェクトに置いて、「control_if」を「control_for_each」に書き換え、引数の変更などを行うと(詳細はめんどくさいので略します)このブロックとなります。

これはScratch 2.0のベータ版で追加され、その後すぐに削除されましたが、実装コードは残っています。(そしてScratch 3.0へ受け継がれました。)

Critical vulnerability in SVG rendering engine in Scratch. Allows arbitrary code execution. Update Scratch app to 3.17.1 See details
緊急:Scratch SVG描画エンジンに脆弱性。 任意のコードが実行可能。 Scratchアプリを3.17.1に至急更新すること。 詳細
yaakiyu
Scratcher
80 posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

ありがとうございます。
もう一つ
(カウンター::control)
カウンターに足す::control
サイトを落とすときに使われるらしいのですが
これもどうやってだすかわかりません。教えてください。

Last edited by yaakiyu (March 5, 2020 09:31:36)


—言いたいこと—
活動減ります
(これは署名ですって書いている人何人いるんだろう…)
どうも、yaakiyuです。
pc変えないので環境をここに書きます。
My browser / operating system: Windows NT 10.0, Chrome 80.0.3987.149, No Flash version detected
apple502j
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

サイトを落とすときに使われるのは嘘だと思いますが、もし本当なら教えられません。
それは本当ですか。

Critical vulnerability in SVG rendering engine in Scratch. Allows arbitrary code execution. Update Scratch app to 3.17.1 See details
緊急:Scratch SVG描画エンジンに脆弱性。 任意のコードが実行可能。 Scratchアプリを3.17.1に至急更新すること。 詳細
yaakiyu
Scratcher
80 posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

このブロックを使っている作品が、フリーズをしていたので、直接の原因がそれであると勘違いしていました。すみません。

—言いたいこと—
活動減ります
(これは署名ですって書いている人何人いるんだろう…)
どうも、yaakiyuです。
pc変えないので環境をここに書きます。
My browser / operating system: Windows NT 10.0, Chrome 80.0.3987.149, No Flash version detected
apple502j
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

方法は似ています。「control_get_counter」「control_incr_counter」です。

Critical vulnerability in SVG rendering engine in Scratch. Allows arbitrary code execution. Update Scratch app to 3.17.1 See details
緊急:Scratch SVG描画エンジンに脆弱性。 任意のコードが実行可能。 Scratchアプリを3.17.1に至急更新すること。 詳細
yaakiyu
Scratcher
80 posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

教えていただきありがとうございます。
使っている作品からとるのが一番早いと思うので、
使いたいときはそうします。

—言いたいこと—
活動減ります
(これは署名ですって書いている人何人いるんだろう…)
どうも、yaakiyuです。
pc変えないので環境をここに書きます。
My browser / operating system: Windows NT 10.0, Chrome 80.0.3987.149, No Flash version detected
inoking
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

質問コーナー3 #3962より:

apple502j wrote:

キャストは仕様ですが、真偽値型へのキャストは想定されていません。(このことは、他のブロックを六角形の穴に入れられないことからいえます。)
なお、セーフガードとしてのキャストはコードされていますが、キャストが起こることは想定されてないはずです。

これはバグです。ただし、私は修正しようとも報告しようとも思いません。(ハッキングブロックと同じ、役に立つバグだと思うからです。)
原理: data_itemoflistとdata_itemnumoflist(リストブロックの内容を返すブロックと番号を返すブロック)のブロックでは、outputShapeが「Blockly.OUTPUT_SHAPE_ROUND」となっていて、これが値ブロックの形にしています。一方、通常の値ブロックは、extensionsに「output_number」とあり、outputShapeはありません。真偽値にはめられるかはextensionsで決まるので、このブロックはextensionsに指定がなく、どこにでもはまることになります。
演算の値ブロックや変数値が六角形の穴にハマらないことから、
リストの値が六角形の穴にハマることは仕様ではないとして
どこのバグなのでしょうか?


ブロックの設定値を調べてみました。
(() + ())
六角形の穴にハマらない
operator_add
"extensions": ["colours_operators", "output_number"]
(変数)
六角形の穴にハマらない←訂正
data_variable
"extensions": ["contextMenu_getVariableBlock", "colours_data", "output_string"]
([ v] の () 番目 :: list)
六角形の穴にハマる
data_itemoflist
"extensions": ["colours_data_lists"],
"outputShape": Blockly.OUTPUT_SHAPE_ROUND
([ v] 中の () の場所 :: list)
六角形の穴にハマる
data_itemnumoflist
"extensions": ["colours_data_lists"],
"outputShape": Blockly.OUTPUT_SHAPE_ROUND
※data_itemnumoflist はインデックス値を返すので output_number なりの指定が必要だと思います。
([ v] の長さ :: list)
六角形の穴にハマらない←訂正
data_lengthoflist
"extensions": ["colours_data_lists", "output_number"]

Last edited by inoking (March 5, 2020 18:11:04)


当初はアカウントを親子で共用していましたが、アカウント分離しました。アナウンス内容
父:inoking   子:inotomoking
apple502j
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

「六角形の穴にハマる」が間違っているようですよ。変数や「長さ」ははまりません。

Critical vulnerability in SVG rendering engine in Scratch. Allows arbitrary code execution. Update Scratch app to 3.17.1 See details
緊急:Scratch SVG描画エンジンに脆弱性。 任意のコードが実行可能。 Scratchアプリを3.17.1に至急更新すること。 詳細
inoking
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

おっと失礼、修正しました。

ということは、
data_itemoflist や data_itemnumoflist の extensions に output_string なりを追加すればよいということでしょうか?

というよりも、
値は真偽値にすべてハマるようにするよう提案したほうが良いのではないでしょうか?
むしろ、値→真偽値の変換は一般的です。

放置してこれを使ったプロジェクトを作ってしまうと
そのうちどこかで修正されて動かなくなるといったことが考えられます。

Last edited by inoking (March 5, 2020 18:31:17)


当初はアカウントを親子で共用していましたが、アカウント分離しました。アナウンス内容
父:inoking   子:inotomoking
yukku
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

今、
<[あああ]キーが押された>//直接入力できる
のようなHackingBlockを全種類のブロックで作っているのですが、引数の種類が
  1. ??
  2. ??
  3. ??
  4. 正数
  5. 自然数
  6. 整数
  7. 向き
  8. カラーピッカー
  9. 文字
  10. メッセージ
までわかっているのですが、1~3が何かわかりません。1~3はなんですか?それと、12以降はありませんか?

ここから下は署名といっていちいち手動で書いていません。
ここの下のほうのChange your signatureで変更できます。

↑の投稿に画像がある場合、使いまわしのプロジェクトのサムネを使用しているのでおかしいことがあります。
           ディスカッションフォーラムを使う前に読んだほうがいいもの           
日本語フォーラムに関する注意書き  日本語フォーラムを使う際に守らなくてはいけない決まりだよ
トピックの投稿機能  投稿する際に使える「技」集だよ
BBcode  文字に色を付けたり大きい文字を書いたりする方法だよ。ただし、スパムに使うのは禁止だよ。
apple502j
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

1: メニュー
2: ブロック
3: 音符
12: 変数
13: リスト
だったはずです

Critical vulnerability in SVG rendering engine in Scratch. Allows arbitrary code execution. Update Scratch app to 3.17.1 See details
緊急:Scratch SVG描画エンジンに脆弱性。 任意のコードが実行可能。 Scratchアプリを3.17.1に至急更新すること。 詳細
ZeroX_Game
Scratcher
100+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

([ v] \( [Sprite1 v] \))
このブロックの変数がはまらないほうのところに、
([] と [world])
を入れようと思っていつもの方法でやったらうまくいってないのか、エラーになりました。手本お願いします

気長にまとう
1年とか10年とか
apple502j
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

Scratch 3.0は型をしっかり検証しているのでけっこうむずいです。
3.0での成功例は聞いたことがありません。

Last edited by apple502j (March 8, 2020 09:43:00)


Critical vulnerability in SVG rendering engine in Scratch. Allows arbitrary code execution. Update Scratch app to 3.17.1 See details
緊急:Scratch SVG描画エンジンに脆弱性。 任意のコードが実行可能。 Scratchアプリを3.17.1に至急更新すること。 詳細
yukku
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

怪しいのでいったん削除

Last edited by yukku (March 17, 2020 03:15:59)


ここから下は署名といっていちいち手動で書いていません。
ここの下のほうのChange your signatureで変更できます。

↑の投稿に画像がある場合、使いまわしのプロジェクトのサムネを使用しているのでおかしいことがあります。
           ディスカッションフォーラムを使う前に読んだほうがいいもの           
日本語フォーラムに関する注意書き  日本語フォーラムを使う際に守らなくてはいけない決まりだよ
トピックの投稿機能  投稿する際に使える「技」集だよ
BBcode  文字に色を付けたり大きい文字を書いたりする方法だよ。ただし、スパムに使うのは禁止だよ。
inoking
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

う~ん
ついに Scratch 3.0 でもいわゆるハックプロジェクトが出てきましたね。
これを共有していいものなのかどうなのか。。。

当初はアカウントを親子で共用していましたが、アカウント分離しました。アナウンス内容
父:inoking   子:inotomoking
hhayyatto
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

yukku wrote:

project.jsonの全ての
省略
に置き換えることでブロックを凍結できました。
これは興味深い…

署名を-Jikky-さんっぽくしてみた。
1000posts ᏄᏄᎹᎹᎹᎹᎹᎹᎹᎹᎹᎹᎹᎹᎹᎹᎹᎹᎹᎹ 2000posts
kakurenbo
Scratcher
500+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

その凍結ブロックですが,
@greenflag がクリックされたとき
の直下に他のブロックをくっつけると,消滅するようです。

にゃあ…///















中2の人です。kakurenboです。理系の可能性大。音楽等名義は うに ですよろしく。(え、鉛筆じゃないよ)
サブアカ:@kakurenbo_sub 弟(現サブアカ2):@katayakisenbei
            ↓少し大きめの作品たち↓ 楽しい話はここでしよう!
NT_ZZzz
Scratcher
100+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

凍結ブロック名称これで良いんですかねを新しくC型ブロックで囲むと面白い挙動をしますね。
プロジェクトページに戻る→中を見る でブロックが消えたりする不思議現象も発生します。
一まとまりのスクリプトが1ブロックと判定されているけどブロックに対して右クリックでは0ブロック判定。どうなっているんでしょう?

kakurenbo wrote:

直下に他のブロックをくっつけると,消滅するようです。
ブロックを外すとまた復活するという不思議な挙動をしますね。

あれ?こんなところに主なトピック一覧が!
Scratchで分からないことを質問できる場所もあるの!?すごい!
ネタが切れたらここを見てみよう  そんな!wikiまであるなんて!
署名で差をつけろ!
この辺にぃ、言語作成トピックあるらしいっすよ。じゃけん今行きましょうね!
さあ君も早くねこみみアイコンにするんだ!えっ?お前のアイコンはねこみみじゃないだろって?アイコン右下をよく見ることだな!

一緒にセーブコードを研究しよう!
競技プログラミング楽しいので 日本書紀にもそう書かれている
わたしはそこまでつよくないのでここ↑にいます


すっごーい!君は署名を最後まで読むフレンズなんだね!
いや、ここ読める位置にないと思うんですがどうやってこれ見つけたんですか?
すごいね!
AtCoder緑 IDはScratchのユザネに似ているので探してね 始め2文字が特定されると緑は一人しかいません。
これはおすすめ作品 https://scratch.mit.edu/projects/417305695/
これはおすすめなろう小説 https://ncode.syosetu.com/n5477cp/
これはおすすめ言語のチュートリアル https://docs.python.org/ja/3/contents.html
これは尊敬する作品 https://scratch.mit.edu/projects/409640580/
これは好きな曲 https://youtu.be/FIw-HUP7XK0
これも好きな曲 https://youtu.be/Wv5PaA3wtGI
これは私 https://scratch.mit.edu/users/nt-zzz/
エディタはVScode
メイン言語はPythonだけど競プロはC++
Scratcher's AtCoderは便利なのでみんな使おう(C++勉強する方が楽と言えば楽だけど)
YY04
Scratcher
100+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

https://scratch.mit.edu/projects/376630926

自分もできました。
ただ、凍結ブロック内の数値の改変はできるようです。

受験勉強中のため、活動休止(減少)しています。…といいつつ実はたまに作品上げてたりする。
要件はこちらに。

<おすすめプロジェクトランキング>
1.Minecraft実況 ~全実績解除を目指して~ 再生リスト ←参照数増加中!!
2.仮想世界地図主力事業
3.デジタル時計自信作

hhayyatto
Scratcher
1000+ posts

Scratch 3.0 をハック(動作や構造を解析すること)しよう!

俺も(凍結)作りたいけど厚切りjsonってどうすれば出てくるんですか?

署名を-Jikky-さんっぽくしてみた。
1000posts ᏄᏄᎹᎹᎹᎹᎹᎹᎹᎹᎹᎹᎹᎹᎹᎹᎹᎹᎹᎹ 2000posts

Powered by DjangoBB

Standard | Mobile