Discuss Scratch

rinasama_tabasi
Scratcher
100+ posts

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

akinarin wrote:

#678 #679ありがとうございます!
#678で紹介して頂いたサイトに

○を□に追加する(“opcode”: “data_addtolist”)であるブロックの中の“inputs”と“fields”の構造

“inputs”: {“ITEM”: [1,[10,“□”]]},

“fields”: {“LIST”: [“□”,“XXXX”]},

こんなのが書いてあったのですが、これの

“inputs”: {“ITEM”: [1,[10,“□”]]},
この「1」や「10」ってなんですか?
試しにJSONハッキングしてみて気がついたのですが…..
1や10はscratchの引数
() 歩動かす
ここの何歩動かすの数値の部分の種類です
あやふやですいませんけど
この種類はディスカッションフォーラムのどこかにあったような
質問コーナーかどこかで

ネタが無い!!!
陣内智則さんのコント面白いよね

AIコードアシスタントを使うと起こる
いいこと3選!!

  1. コードを書く速度が2倍ぐらいになる(by.激遅プログラマー)
  2. ドキュメントを調べなくてもだいたいなんとかなる様になる(by.知識2プログラマー)
  3. よくコメントを書くようになるからコードが見やすくなる(by.コメント0で2ヶ月後には別の人のコードに見えるプログラマー)
以上!!

じゃあクイズ
私が好きな数学者は誰でしょう
ヒント:むっちゃ有名
Atridott
Scratcher
500+ posts

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

入力の種類の数字はこれ及びその下の投稿にまとめられています。
あやふやならコミュニティガイドラインで禁止されている「噂」に当たる可能性がありますので、自分できちんと調べたりしてからにすることをお勧めします。

Scratchの署名かと思ったら〜、











王道の白菜でした〜。
チクショー!!

ランダム単語ガチャで作ったのでクオリティは知らないです。


























.
akinarin
Scratcher
500+ posts

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

#682 #683 =>
ありがとうございました。
またお世話になると思いますが、その時はよろしくおねがいします。

最近、物理と世界史、数学、ボカロにはまっています。
プログラミング言語制作の方は案を作るのに夢中になり過ぎて捗っていません。
あと、使い始めたのにRustに慣れていない…
inoking
Scratcher
1000+ posts

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

#683 の参照先に書かれている数字は #679 からたどれる
https://en.scratch-wiki.info/wiki/Scratch_File_Format
の脚注3 からリンクされているファイルで
https://github.com/LLK/scratch-vm/blob/develop/src/serialization/sb3.js#L60
のように定義されているようです。

これは署名と呼ばれるもので投稿本文とは関係ありません。
Scratch は「世界最大の子ども向けコーディングコミュニティーで、シンプルなビジュアルインターフェースを持ったコーディング言語」
 つまり「子ども SNS」ではない

・「傾向」とは単に一定の基準で作品を並びかえただけのもので、ランキングでもなんでもないナンバーワンよりオンリーワンを目指してみては?
・「フォロー」とは他の Scratcher が何をしているかを簡単に確認するためのもので、「フォロワー」は「ファン」ではない
・「スタジオ」とは特定のテーマに沿って作品をまとめたり共同制作したりするための場所
・「星」や「ハート」などを何かの見返りとすることは Scratch チームによって禁止されている
akinarin
Scratcher
500+ posts

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

#685 =>
ありがとうございました。

url 飛んでみましたが色々と情報が載ってて嬉しいです。

色々と試行錯誤しながら、勉強をしていこうと思います。

最近、物理と世界史、数学、ボカロにはまっています。
プログラミング言語制作の方は案を作るのに夢中になり過ぎて捗っていません。
あと、使い始めたのにRustに慣れていない…
magicAho
Scratcher
1000+ posts

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

#1の改行がおかしくなっているようです。
inokingさん、修整をお願いします。

ああ、悲しいことに、私の署名は怒ったバケツに食べられました。この署名の発案者です。
Oh, sadly, my signature was eaten by an angry bucket. この署名を広めよう!!
The Nandeyanen Network Owner.
akinarin
Scratcher
500+ posts

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

#687
僕の環境では、特に異常はありません。
機種やOSによって表示のされ方が違うのかもしれません。

最近、物理と世界史、数学、ボカロにはまっています。
プログラミング言語制作の方は案を作るのに夢中になり過ぎて捗っていません。
あと、使い始めたのにRustに慣れていない…
magicAho
Scratcher
1000+ posts

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

「英語のトピックでは」
のところです。
My browser / operating system: Android Linux 10, Chrome 103.0.0.0, No Flash version detected

ああ、悲しいことに、私の署名は怒ったバケツに食べられました。この署名の発案者です。
Oh, sadly, my signature was eaten by an angry bucket. この署名を広めよう!!
The Nandeyanen Network Owner.
abee
Scratcher
1000+ posts

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

確かにAndroidスマートフォンではずれて表示されますが、タブ位置の調整ができないフォーラムでは、すべてのプラットフォームについてきれいに表示させることは難しいです。つまり、Androidに合わせて調整すると他がずれます。また、Androidであっても使っているブラウザや設定によってはずれます。
これで意味が分からなくなるわけではなく、これだけで修正を求めるのは過剰な要求だと思います。
My browser / operating system: Android Linux 7.0, Chrome 107.0.0.0, No Flash version detected
DF_64bit
Scratcher
35 posts

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

質問です。Scratchの「注目のプロジェクト」「フォローしているスクラッチャーが好きなもの」「コミュニティが好きなもの」に乗っているプロジェクトのURLを特定したいのですが、どのようにして特定できますか?

Last edited by DF_64bit (Dec. 9, 2022 01:40:58)

henji243
Scratcher
100+ posts

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

トップページでログを見てみたところ、このAPIから取得しているようです。
https://api.scratch.mit.edu/proxy/featured
それぞれ、
  • community_featured_projects が注目のプロジェクト
  • community_featured_studios が注目のスタジオ
  • community_most_loved_projects がコミュニティが好きなもの
  • community_most_remixed_projects がコミュニティで現在リミックスされているもの
  • community_newest_projectsは、どこに表示されているかわかりませんでした..
  • curator_top_projects が(キュレーター名)が選んだプロジェクト
  • scratch_design_studio がスクラッチデザインスタジオ - (スタジオ名)
となっています。

「フォローしているスクラッチャーが好きなもの」は、
https://api.scratch.mit.edu/users/ユーザー名/following/users/loves から取得しています。(ちなみに、このAPIはx-tokenが必要です)

Last edited by henji243 (Dec. 10, 2022 04:11:59)


akinarin
Scratcher
500+ posts

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

質問があります。
以下のような「project.json」ファイルと
コスチューム「aaa.svg」を入れた
フォルダ「Test」をzip圧縮し
名前を「Test.sb3」に変えてScratchエディタに読み込ませようとしたのですが、
読み込みに失敗してしまいました。
どなたか原因の解る方はいらっしゃいませんか?
{
  "targets": [
    {
      "blocks": {},
      "broadcasts": {},
      "comments": {},
      "costumes": [
        {
          "name": "背景1",
          "bitmapResolution": 1,
          "dataFormat": "svg",
          "assetId": "aaa",
          "md5ext": "aaa.svg",
          "rotationCenterX": 270.5,
          "rotationCenterY": 195.6999969482422
        }
      ],
      "currentCostume": 0,
      "isStage": true,
      "layorOrder": 0,
      "lists": {},
      "name": "Stage",
      "sounds": [],
      "tempo": 60,
      "textToSpeechLanguage": null,
      "variables": {},
      "videoState": "on",
      "videoTransparency": 50,
      "volume": 100
    }
  ],
  "monitors": [],
  "extensions": [],
  "meta": {
    "semver": "3.0.0",
    "vm": "1.2.54",
    "agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36"
  }
}

最近、物理と世界史、数学、ボカロにはまっています。
プログラミング言語制作の方は案を作るのに夢中になり過ぎて捗っていません。
あと、使い始めたのにRustに慣れていない…
akku--n11
Scratcher
1000+ posts

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

>> #693
assetId、md5extあたりが問題なのではないでしょうか。
一度、きちんとmd5を計算して入れてみてください。

この線から下は 署名(しょめい) です

カワイソス ಥ_ಥこれで傾向乗りたい

適当ポストカウント:
Found 1032 posts.
yukku
Scratcher
1000+ posts

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

>> #693

調べてみました。
ここにある通り、assetIdは32桁の16進数である必要があるようです。
私が試してみたところ、32桁の16進数であれば、00000000000000000000000000000000とかでも読み込むことが出来ました。

↑こういう線の下に宣伝とか書いてる人がよくいるけど、こういう線より下の文章には「署名」って名前がついていて、設定を行うと自動で投稿にくっついてきます。詳しいこととか設定方法はこのページにあるので確認してみてください。
この「署名」以外で関係ないこととかをするのは基本禁止なのでそういうことやりたいと思ったら署名でやってください。

日本語フォーラムの使い方っていうプロジェクトを作ったのでどうぞ。
akinarin
Scratcher
500+ posts

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

>> #693
自己解決しました。
何度か実験した結果、
コスチュームのassetIdは32文字の英数字(16進数)でないといけないことが解りました。
また、画像名は「(コスチュームのassetId).svg」の形でないといけないようです。

#694, #695 >> ありがとうございます。

Last edited by akinarin (Jan. 3, 2023 03:50:36)


最近、物理と世界史、数学、ボカロにはまっています。
プログラミング言語制作の方は案を作るのに夢中になり過ぎて捗っていません。
あと、使い始めたのにRustに慣れていない…
azinomoto-20
Scratcher
62 posts

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

<[ spees] キーが押された>
これ、とかジェイソンハックできますよ。
azinomoto-20
Scratcher
62 posts

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

akinarin
Scratcher
500+ posts

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

また質問があります。
以下のような「project.json」ファイルと
コスチューム「00000000000000000000000000000000.svg」と「10000000000000000000000000000000.svg」を入れた
フォルダ「Test3」をzip圧縮し
名前を「Test3.sb3」に変えてScratchエディタに読み込ませようとしたのですが、
読み込みに失敗してしまいました。
どなたか原因の解る方はいらっしゃいませんか?
#695で紹介して頂いたページも何度か確認しましたが、見落としているかもしれません。
Visual Studioにエラーは無かったので、JSONの文法エラーでは無いと思うのですが⋯
{
  "targets": [
    {
      "blocks": {},
      "broadcasts": {},
      "comments": {},
      "costumes": [
        {
          "name": "_",
          "bitmapResolution": 1,
          "dataFormat": "svg",
          "assetId": "00000000000000000000000000000000",
          "md5ext": "00000000000000000000000000000000.svg",
          "rotationCenterX": 270.5,
          "rotationCenterY": 195.6999969482422
        }
      ],
      "currentCostume": 0,
      "isStage": false,
      "layorOrder": 1,
      "lists": {},
      "name": "Hoge",
      "sounds": [],
      "variables": {},
      "volume": 100,
      "x": 0,
      "y": 0,
      "size": 100,
      "direction": 90,
      "draggable": false,
      "rocationStyle": "all around",
      "visible": true
    },
    {
      "blocks": {},
      "broadcasts": {},
      "comments": {},
      "costumes": [
        {
          "name": "_",
          "bitmapResolution": 1,
          "dataFormat": "svg",
          "assetId": "10000000000000000000000000000000",
          "md5ext": "10000000000000000000000000000000.svg",
          "rotationCenterX": 270.5,
          "rotationCenterY": 195.6999969482422
        }
      ],
      "currentCostume": 0,
      "isStage": true,
      "layorOrder": 0,
      "lists": {},
      "name": "Stage",
      "sounds": [],
      "tempo": 60,
      "variables": {},
      "videoState": "on",
      "videoTransparency": 50,
      "volume": 100
    }
  ],
  "monitors": [],
  "extensions": [],
  "meta": {
    "semver": "3.0.0",
    "vm": "1.2.54",
    "agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36"
  }
}

最近、物理と世界史、数学、ボカロにはまっています。
プログラミング言語制作の方は案を作るのに夢中になり過ぎて捗っていません。
あと、使い始めたのにRustに慣れていない…
akinarin
Scratcher
500+ posts

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

>> #699
試行錯誤によって原因が判明しました。
どうやらステージはtargetsの先頭に来ないとダメなようです。

最近、物理と世界史、数学、ボカロにはまっています。
プログラミング言語制作の方は案を作るのに夢中になり過ぎて捗っていません。
あと、使い始めたのにRustに慣れていない…
akinarin
Scratcher
500+ posts

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

質問があります。
blocksのキーの部分(ブロックのID?)に使える文字の制限はありますか?

ランダムな文字列をキーにしてブロックを自動で生成していたら、
ブロックが正しくエディタに表示されるときと
エディタに表示されないときがあることに気づきました。
そこで、この文字列に使えるものと使えないものがあるのではないかと思い、質問しました。

一方で、同じアルゴリズムでランダムなキーで生成している変数とリストは必ず表示されているので、
本当にこの文字列に問題があるのかが確証に至っておりません。

//上は略
"blocks": {
//↓ここの部分
"*COB/!0/#*iORq;`yShK": {
//以下略

追記:実験の結果、恐らく「<」という文字が使えないことが解りました。
   ですが、他にも使えない文字があるかもしれないので、誰か解る方がいたら情報を教えてほしいです。

Last edited by akinarin (Jan. 15, 2023 03:45:42)


最近、物理と世界史、数学、ボカロにはまっています。
プログラミング言語制作の方は案を作るのに夢中になり過ぎて捗っていません。
あと、使い始めたのにRustに慣れていない…

Powered by DjangoBB