Discuss Scratch
- Discussion Forums
- » 日本語
- » Scratch 3.0 をハック(動作や構造を解析すること)しよう!
- inoking
-
Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
傾向1Pの色々をGASで取得してスプレッドシートに保存していますすみません、これはどういう原理でしょうか?
なぜ GAS で取得できるのでしょうか?
なお、このトピックの趣旨とは違いますが
(横軸の範囲が少なすぎて何とも言えないのですが)
あるタイミングを境に最小値が急に上がっていますが
これは先日から騒がれている「検索にヒットしない」件と関係しているでしょうか。
- nakasyou1103
-
Scratcher
68 posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
#547
GoogleAppScriptで傾向取得APIを解析し、傾向が変更されたら好きやお気に入り、IDの最大値、平均値、最小値を自動保存しています。
なので、傾向や検索に出てこないのは、時間が経てば大丈夫になると思います。
取得結果を載せておきます↓
まだ何も言えませんが、アメリカの人たちが寝ている時間や土日は更新されてないっぽいです
GoogleAppScriptで傾向取得APIを解析し、傾向が変更されたら好きやお気に入り、IDの最大値、平均値、最小値を自動保存しています。
なので、傾向や検索に出てこないのは、時間が経てば大丈夫になると思います。
取得結果を載せておきます↓
Time IDs JsonData ID Loves Favolites Views Remixes Createds Shareds
Max Min Average Max Min Average Max Min Average Max Min Average Max Min Average Max Min Average Max Min Average
Tue May 31 2022 18:59:47 GMT+0900 (Japan Standard Time) /635861405/631073804/637651447/6946おおお17161/588681281/687086358/606191672/624482929/501003232/564832364/588680417/629131106/545064399/697408081/555070141/647517865$$$$$$ [Ljava.lang.Object;@55d919af 697408081 501003232 614647104 1149 50 265 1014 46 244 36090 499 8237 0 0 0 8184 7744 8012 8187 8178 8183
Wed Jun 01 2022 07:33:13 GMT+0900 (日本標準時) /635861405/631073804/637651447/694617161/588681281/687086358/606191672/624482929/501003232/564832364/588680417/629131106/545064399/697408081/555070141/647517865 [Ljava.lang.Object;@b45e900 697408081 501003232 614647104 1149 50 265 1014 46 244 36090 499 8237 0 0 0 8184 7744 8012 8187 8178 8183
Thu Jun 02 2022 17:37:13 GMT+0900 (日本標準時) /635861405/676569542/637651447/631073804/694617161/588681281/687086358/606191672/624482929/501003232/564832364/588680417/629131106/545064399/697408081/555070141 [Ljava.lang.Object;@25c3a5f7 697408081 501003232 616462834 1149 62 265 1014 59 245 36090 499 8247 0 0 0 8184 7744 8016 8189 8178 8183
Fri Jun 03 2022 00:43:14 GMT+0900 (日本標準時) /635861405/676569542/631073804/637651447/694617161/588681281/687086358/606191672/624482929/501003232/564832364/588680417/629131106/545064399/697408081/555070141 [Ljava.lang.Object;@71105dbc 697408081 501003232 616462834 1149 62 265 1014 59 245 36090 499 8247 0 0 0 8184 7744 8016 8189 8178 8183
Fri Jun 03 2022 00:44:13 GMT+0900 (日本標準時) /635861405/676569542/637651447/631073804/694617161/588681281/687086358/606191672/624482929/501003232/564832364/588680417/629131106/545064399/697408081/555070141 [Ljava.lang.Object;@bfa5a3e 697408081 501003232 616462834 1149 62 265 1014 59 245 36090 499 8247 0 0 0 8184 7744 8016 8189 8178 8183
Fri Jun 03 2022 00:50:13 GMT+0900 (日本標準時) /635861405/676569542/631073804/637651447/694617161/588681281/687086358/606191672/624482929/501003232/564832364/588680417/629131106/545064399/697408081/555070141 [Ljava.lang.Object;@50a35769 697408081 501003232 616462834 1149 62 265 1014 59 245 36090 499 8247 0 0 0 8184 7744 8016 8189 8178 8183
Fri Jun 03 2022 00:51:13 GMT+0900 (日本標準時) /635861405/676569542/637651447/631073804/694617161/588681281/687086358/606191672/624482929/501003232/564832364/588680417/629131106/545064399/697408081/555070141 [Ljava.lang.Object;@54e5c1b7 697408081 501003232 616462834 1149 62 265 1014 59 245 36090 499 8247 0 0 0 8184 7744 8016 8189 8178 8183
Fri Jun 03 2022 01:09:13 GMT+0900 (日本標準時) /635861405/676569542/631073804/637651447/694617161/588681281/687086358/606191672/624482929/501003232/564832364/588680417/629131106/545064399/697408081/555070141 [Ljava.lang.Object;@20818102 697408081 501003232 616462834 1149 62 265 1014 59 245 36090 499 8247 0 0 0 8184 7744 8016 8189 8178 8183
Fri Jun 03 2022 01:10:13 GMT+0900 (日本標準時) /635861405/676569542/637651447/631073804/694617161/588681281/687086358/606191672/624482929/501003232/564832364/588680417/629131106/545064399/697408081/555070141 [Ljava.lang.Object;@da1a2b1 697408081 501003232 616462834 1149 62 265 1014 59 245 36090 499 8247 0 0 0 8184 7744 8016 8189 8178 8183
Fri Jun 03 2022 01:14:13 GMT+0900 (日本標準時) /635861405/676569542/631073804/637651447/694617161/588681281/687086358/606191672/624482929/501003232/564832364/588680417/629131106/545064399/697408081/555070141 [Ljava.lang.Object;@6095d11b 697408081 501003232 616462834 1149 62 265 1014 59 245 36090 499 8247 0 0 0 8184 7744 8016 8189 8178 8183
Fri Jun 03 2022 01:15:13 GMT+0900 (日本標準時) /635861405/676569542/637651447/631073804/694617161/588681281/687086358/606191672/624482929/501003232/564832364/588680417/629131106/545064399/697408081/555070141 [Ljava.lang.Object;@2858efeb 697408081 501003232 616462834 1149 62 265 1014 59 245 36090 499 8247 0 0 0 8184 7744 8016 8189 8178 8183
Fri Jun 03 2022 01:56:13 GMT+0900 (日本標準時) /635861405/676569542/631073804/637651447/694617161/588681281/687086358/606191672/624482929/501003232/564832364/588680417/629131106/545064399/697408081/555070141 [Ljava.lang.Object;@4ec68c91 697408081 501003232 616462834 1149 62 265 1014 59 245 36090 499 8247 0 0 0 8184 7744 8016 8189 8178 8183
Fri Jun 03 2022 01:57:13 GMT+0900 (日本標準時) /635861405/676569542/637651447/631073804/694617161/588681281/687086358/606191672/624482929/501003232/564832364/588680417/629131106/545064399/697408081/555070141 [Ljava.lang.Object;@2caaec4b 697408081 501003232 616462834 1149 62 265 1014 59 245 36090 499 8247 0 0 0 8184 7744 8016 8189 8178 8183
Fri Jun 03 2022 02:16:13 GMT+0900 (日本標準時) /635861405/676569542/631073804/637651447/694617161/588681281/687086358/606191672/624482929/501003232/564832364/588680417/629131106/545064399/697408081/555070141 [Ljava.lang.Object;@3a8b9ea6 697408081 501003232 616462834 1149 62 265 1014 59 245 36090 499 8247 0 0 0 8184 7744 8016 8189 8178 8183
Fri Jun 03 2022 02:17:14 GMT+0900 (日本標準時) /635861405/676569542/637651447/631073804/694617161/588681281/687086358/606191672/624482929/501003232/564832364/588680417/629131106/545064399/697408081/555070141 [Ljava.lang.Object;@2de1d856 697408081 501003232 616462834 1149 62 265 1014 59 245 36090 499 8247 0 0 0 8184 7744 8016 8189 8178 8183
Fri Jun 03 2022 05:34:13 GMT+0900 (日本標準時) /635861405/676569542/631073804/637651447/694617161/588681281/687086358/606191672/624482929/501003232/564832364/588680417/629131106/545064399/697408081/555070141 [Ljava.lang.Object;@cc6897d 697408081 501003232 616462834 1149 62 265 1014 59 245 36090 499 8247 0 0 0 8184 7744 8016 8189 8178 8183
Fri Jun 03 2022 05:35:13 GMT+0900 (日本標準時) /635861405/676569542/637651447/631073804/694617161/588681281/687086358/606191672/624482929/501003232/564832364/588680417/629131106/545064399/697408081/555070141 [Ljava.lang.Object;@41b4ee00 697408081 501003232 616462834 1149 62 265 1014 59 245 36090 499 8247 0 0 0 8184 7744 8016 8189 8178 8183
Fri Jun 03 2022 05:38:13 GMT+0900 (日本標準時) /635861405/676569542/631073804/637651447/694617161/588681281/687086358/606191672/624482929/501003232/564832364/588680417/629131106/545064399/697408081/555070141 [Ljava.lang.Object;@8003b1a 697408081 501003232 616462834 1149 62 265 1014 59 245 36090 499 8247 0 0 0 8184 7744 8016 8189 8178 8183
Fri Jun 03 2022 17:39:13 GMT+0900 (日本標準時) /635861405/676569542/699497154/698768513/696791834/695598541/699410382/631073804/637651447/698110464/694617161/588681281/698613617/687086358/606191672/624482929 [Ljava.lang.Object;@6888d799 699497154 588681281 666812882 527 36 176 494 35 162 33115 272 5623 0 0 0 8189 7968 8124 8190 8179 8185
Last edited by nakasyou1103 (June 5, 2022 03:11:04)
- inoking
-
Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
GAS は Google のサービスしか呼び出せないかと思ったので。。
任意の Web API も使えるのですね。よく考えたら当たり前か、、
任意の Web API も使えるのですね。よく考えたら当たり前か、、
- dmg-001
-
New Scratcher
5 posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
もしご存知なら、ご教示くださいませんでしょうか。
複数のスプライトがステージに表示されている場合、
ステージの画像の更新は、それぞれのスプライトが反復処理(「ずっと」等)を終了するたびに、実行されるのでしょうか?
それとも、すべてのスプライトの反復処理が終了してから、一括して行われるのでしょうか?
複数のスプライトがステージに表示されている場合、
ステージの画像の更新は、それぞれのスプライトが反復処理(「ずっと」等)を終了するたびに、実行されるのでしょうか?
それとも、すべてのスプライトの反復処理が終了してから、一括して行われるのでしょうか?
- p_nuts
-
Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!

これはどこに書かれているのか、教えてくれませんか?(どうしてもブロックの仕組みがどこに書いてあるのかわからない)
- inoking
-
Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
これはどこに書かれているのか、教えてくれませんか?(どうしてもブロックの仕組みがどこに書いてあるのかわからない)まずそれはどこの画像ですか?
質問内容はソースコードの場所でしょうか?
- p_nuts
-
Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
まずそれはどこの画像ですか?griffpatchさんの動画の、Scratchの色に触れているか判定するコードです
質問内容はソースコードの場所でしょうか?そういうことです。
- inoking
-
Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
griffpatchさんの動画の、Scratchの色に触れているか判定するコードです参照先も載せるべきだと思います。
ブロックの動作を記述している https://github.com/LLK/scratch-vm では質問内容はソースコードの場所でしょうか?そういうことです。
スクリーンショットに出ているキーワード「colorMatches」は見つかりませんでした。
Last edited by inoking (June 14, 2022 09:56:53)
- inoking
-
Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
なお、colorMatches は
https://github.com/LLK/scratch-render/tree/develop/src/RenderWebGL.js#L77
にありました。
つまり、(以前から知られているように)触れたの色判定は下位3ビットほど無視されるということです。
<[#f4988e] 色に触れた>の実体を scratch-vm からたどって
https://github.com/LLK/scratch-render/tree/develop/src/RenderWebGL.js#L77
にありました。
つまり、(以前から知られているように)触れたの色判定は下位3ビットほど無視されるということです。
Last edited by inoking (June 14, 2022 10:17:31)
- tabakenn
-
Scratcher
100+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
#528 #167 に関係して
project.json の uuid は確か16進数表示32桁ですけど、あれを1桁2桁に置き換えてもプロジェクトが動いて、結果40%程度圧縮できるのって、もうフォーラムで共有されてますか? (MD5は変えられない)
project.json の uuid は確か16進数表示32桁ですけど、あれを1桁2桁に置き換えてもプロジェクトが動いて、結果40%程度圧縮できるのって、もうフォーラムで共有されてますか? (MD5は変えられない)
Last edited by tabakenn (June 15, 2022 09:23:25)
- inoking
-
Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
#528 #1676(別のページでリンクどこかに行ってしまった) に関係して「uuid」が無駄に文字数を消費していることは書いたことがありますが
project.json の uuid は確か16進数表示32桁ですけど、あれを1桁2桁に置き換えてもプロジェクトが動いて、結果40%程度圧縮できるのって、もうフォーラムで共有されてますか? (MD5は変えられない)
それを置き換え可能というのはフォーラムでは聞いたことがありません。
それはどこの情報でしょうか?
また、置き換えても問題ないという保証はあるのでしょうか?
Last edited by inoking (June 15, 2022 03:11:37)
- tabakenn
-
Scratcher
100+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
まず、数字なのはMD5でした。uuid はasciiの文字の幾つかを使えるようです。
そして、約40%ではなく約20%でした。すみません
実際にプロジェクトjsonの “2f1x-6{82…” みたいなのを “123” とかに置き換えて、再アップロードしても動きます。
https://scratch.mit.edu/projects/705462638/
ソースを確認した訳ではないので保証はありません。
そして、約40%ではなく約20%でした。すみません
実際にプロジェクトjsonの “2f1x-6{82…” みたいなのを “123” とかに置き換えて、再アップロードしても動きます。
https://scratch.mit.edu/projects/705462638/
ソースを確認した訳ではないので保証はありません。
- inoking
-
Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
それはどこの情報でしょうか?に返答がなかったのですが、独自情報ということでしょうか?
おそらく、置き換えたものをそのままアップロードしただけなら動くのでしょう。
問題は、そこから編集などが問題なくできるかということです。
追加したブロックは20文字の通常ルールが使われるようです。
ちょっといじった感じでは問題なさそうですが
それならそもそも20文字も使う理由が分かりません。
重複を防ぐだけにしては無駄な設計です。
何らかの落とし穴がある気がします。
JSON 読み書きのプログラムを調べれば分かるかもしれませんね。
Last edited by inoking (June 15, 2022 11:35:32)
- p_nuts
-
Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
https://assets.scratch.mit.edu/get_image/.%2E/example.png
の/.%2E/って何かわかる人いますか?
の/.%2E/って何かわかる人いますか?
- p_nuts
-
Scratcher
1000+ posts
Scratch 3.0 をハック(動作や構造を解析すること)しよう!
色々プロフィールで話しててわかりましたが、おそらくは
「assets.scratch.mit.edu/get_image/」だったら画像として貼れる
けど画像はそこじゃない
なら../を使って親ディレクトリに戻る
けどバレる
エンコードする
https://assets.scratch.mit.edu/get_image/.%2E/example.png
のようになる
らしいです。
「assets.scratch.mit.edu/get_image/」だったら画像として貼れる
けど画像はそこじゃない
なら../を使って親ディレクトリに戻る
けどバレる
エンコードする
https://assets.scratch.mit.edu/get_image/.%2E/example.png
のようになる
らしいです。
