Discuss Scratch

inoking
Scratcher
1000+ posts

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

#900:

kuriiiiii wrote:

なるほど、クラウド変数の改ざんはスクラッチの何らかのルールやコミュニティーガイドラインに違反する行為なのですか?もしそうであるなら対処方法を教えていただきたいです。
ここはそのようなことについて話す場所ではありません。
コミュニティーガイドライン、利用規約、FAQなどの解釈について などでお願いします。

Last edited by inoking (May 6, 2025 07:31:30)

TNTSuperMan
Scratcher
100+ posts

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

現在、私はScratchのAPIを解析し、そのサーバーを再現しています。
言語はTypeScript、フレームワークはHono、ランタイムはBun(工夫すればNodeJSやCloudflare Workersでも動きます
BunのAPIドップリ使ってるから工夫どころの話じゃないような気がした、でもHonoの移植性は高いよ)
です。
そしてデータベースは、今のところローカルにある単一のJSONファイルをキャッシュやProxyで工夫したものです。

OpenAPIHonoとSwaggerUIでAPIドキュメントを見れるようにしています。
現在はapi.scratch.mit.eduだけで超簡単なものしか作っていません。

再現を作り始めたきっかけは#892で、
作り始めた理由は、
  1. 完璧とは言わずともScratchのAPIのドキュメントを見れるから
  2. ローカル環境でScratchが動いてて楽しい
の二つです。

これらについて、どう思いますか?

Last edited by TNTSuperMan (June 7, 2025 11:53:42)

sei6sei
Scratcher
500+ posts

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

どう思うか、と言われると
「SQLite使いましょう」と思いました。
Jsonで保存するのは楽ですが私は一度地獄をみました。
せめてSQLite使ったほうがいいと思います
TNTSuperMan
Scratcher
100+ posts

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

ありがとうございます。
幸いにもBunは標準でSQLiteドライバーを実装しており、
まだまだ全然出来ていなかったので、それを使ってみようと思います。

Last edited by TNTSuperMan (June 7, 2025 11:57:18)

inoking
Scratcher
1000+ posts

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

スプライトに触れた、色に触れた のソースコードについて
こちら で確認しました。
purokisi3351
Scratcher
1 post

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

ユーザーのプロフィールのコメントのapiを見るにはどうすればいいですか?
pura314
Scratcher
100+ posts

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

#1をまず読んでください。
newmomizi_txt
Scratcher
1000+ posts

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

クラッキング ⊂ ハッキング です。
クラッキングはハッキングの一部であり、まったく異なるというわけではありません。
2725jc
Scratcher
4 posts

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

現在、Scratch傾向STによれば動いているというものの、実質硬直している状況であります。そこで私は、傾向をハック(動作や構造を解析すること。悪いハックはしません)して傾向がどのような仕組みなのか調べたいと考えています。まず、傾向をハックするにおいて、以下の事柄を調べる必要があると考えます。
  • 基本情報:公開日、更新日、プロジェクトの種類(ゲーム・絵・3D など)、言語
  • 人気指標:参照数、スター、ハート、リミックス数、コメント数
  • 傾向表示:傾向ページ(何Pに載ったか)、ページ内の順位
  • コメント状況:ON/OFF、最新コメント日
  • 地域や時間差:ブラウザの言語設定やアクセス時間による変化

そして傾向をハックするうえでかならずあるプロジェクトを観察対象にする必要がありますが、それに関してもそのプロジェクトの制作者に許可を取る必要があると考えます。また、私はScratcherではあるものの、コード(Javasprictなど)に関する知識はあまりなく、さらにこれだけのことを成し遂げる自信もありません。ですから、心優しい皆様にお手伝いをしていただきたいです。しかし、コミュニティーガイドライン等に違反する可能性があります。ですから、協力者の方々には以下のことを守っていただきたいです
  • 他者のアカウントや非公開情報には一切触れません。
  • コメント実験は必ず作品制作者の事前同意を取ります。
  • サーバー負荷を避けるため、1日1回程度の低頻度観測を徹底します。
  • 協力は任意・匿名可。荒らしや報酬の約束は行いません。
これらのことに同意する方のみ協力していただきたいです。協力したい人はここをクリックして内容に同意してくださいください。2025/10/10までにします。やり方は一部を除き後日配信します。
具体的にやってほしいことは以下の通りです。
  • 1. 指定時間に傾向ページや対象プロジェクトを開いてスクリーンショットまたは数値を記録。
  • 2. 指定のCSVテンプレ(配布します)に転記して週1回で送信。
  • 3. コメント実験(任意):事前同意したプロジェクトにのみ、指定日時に1〜3件程度の建設的コメントを入れる。

Last edited by 2725jc (Oct. 26, 2025 21:45:32)

pura314
Scratcher
100+ posts

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

こちらは参考になりませんか?
U-Y-Scratch
Scratcher
500+ posts

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

PCを買い換えたら、「サムネイルをセット」ボタンが出てきました。そのため、アカウントでなく端末に紐図けられていると考えます。
2725jc
Scratcher
4 posts

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

U-Y-Scratch wrote:

PCを買い換えたら、「サムネイルをセット」ボタンが出てきました。そのため、アカウントでなく端末に紐図けられていると考えます。
それはどういうことでしょうか。サムネイルは鯖ではなく各自のローカルに保存されているということでしょうか
pura314
Scratcher
100+ posts

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

https://scratch.mit.edu/discuss/post/8717705/ の通りです。
というか、サムネイルセットボタンは常にでているのでは。
TNTSuperMan
Scratcher
100+ posts

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

#911
それはキャッシュではないですか?
前に使っていたPCではサムネイルボタンが無いバージョンのScratchのキャッシュが読み込まれていて、
新しいPCではキャッシュが無いため、最新のサムネイルボタンがあるバージョンのScratchが読み込まれている、
となっていると思います。
2725jc
Scratcher
4 posts

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

TNTSuperMan wrote:

#911
それはキャッシュではないですか?
前に使っていたPCではサムネイルボタンが無いバージョンのScratchのキャッシュが読み込まれていて、
新しいPCではキャッシュが無いため、最新のサムネイルボタンがあるバージョンのScratchが読み込まれている
その解釈でよさそうですね。
具体的に言えば「サムネイルをセット」ボタンが端末に紐づいているというより、**ブラウザに残っていた古いキャッシュ(保存データ)**が原因だと思います。
以前使っていたPCでは、ボタンが追加される前のバージョンのScratch Editorがキャッシュとして残っていたため表示されず、
新しいPCではキャッシュが無かったので、**最新のScratch Editor(ボタンがあるバージョン)**が読み込まれたのだと思われます。
newmomizi_txt
Scratcher
1000+ posts

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

#915
AIによって生成された文章のように見えます。
可能であれば、AIを使用せず、自分で考えたことを書いていただけますか。

(**Markdownの太字**を書いていたりしたら、一発でAIだと疑われます。普段からMarkdownを使っている人なら別ですが)

とにかく、この件の答えは#913の通り私が過去に書いた投稿で説明しています。
https://scratch.mit.edu/discuss/post/8717705/
チュートリアルを見たことがあるかどうかは、ブラウザのLocalStorageに保存されるため、他のブラウザ/端末から開くと再度表示されます。

Last edited by newmomizi_txt (Oct. 28, 2025 10:37:17)

TypingerZ-Cheat
Scratcher
1 post

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

apple502j wrote:

第二章: 乗っ取り成功
(これは実話です。第一章は#202で)

CSRF対策は過去にやったことがあったため、CSRFの仕方は知っていた。formを書き、hidden inputを置き、それを自動送信する。このウェブサイトを閲覧したユーザーは、フォーラムのAPIに移動させられ、そこでXSSが待ち構える。

セッションを盗まなくても、同一生成元ポリシーの前提はすでに失われていた。XSSで挿入されたスクリプトでCSRFトークンを抽出し、それを用いてリクエストができる。まずはいたずら程度に、「地域」設定を南極にするコードから始めた。

アカウント設定を変更するのは大きな一歩だ。メールアドレスの設定を自由に変更できれば、パスワードを漏らすのと結果は同じである。22日、設定をハッカーりんごのメールアドレスに変更するコードを書き、試した。リンクをクリックすれば、メールアドレスが変わる。メールアドレスが変われば、パスワードリセットメールの受取人も変わる。後は想像にお任せを。

(注: 実際のテストでは当然ですが私のサブアカウントを利用しました。)
CSRFとXSSの併用によるトークン抽出は、現代のセキュリティ設計では防がれているべき → もし本当にこのような脆弱性が存在したならば、Scratch側の重大なセキュリティ欠陥です。だが、通常は Content Security Policy (CSP) や SameSite Cookie によって防がれます。

「formを書いてhidden inputを置き、自動送信する」だけではCSRFは成功しない → 多くのサイトは CSRFトークンの検証 をしており、単純なフォーム送信では通りません。
2020年は対策が甘かったということなのかな
U-Y-Scratch
Scratcher
500+ posts

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

#912#915

少し説明が足りませんでしたね。Windows10サ終でWindows11に買い換えたら、「Hi! Try out our new feature.」がもう一度出てきました。そのため https://scratch.mit.edu/discuss/post/8717705/ と考えられる、というわけです。
yuito2013
Scratcher
100+ posts

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

学パソも新しい機種に変えたら出てきました。(理由:ぶっ壊したかr(( )
inoking
Scratcher
1000+ posts

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

U-Y-Scratch wrote:

#912#915

少し説明が足りませんでしたね。Windows10サ終でWindows11に買い換えたら、「Hi! Try out our new feature.」がもう一度出てきました。そのため https://scratch.mit.edu/discuss/post/8717705/ と考えられる、というわけです。
#911 では https://scratch.mit.edu/discuss/post/8717705/ には触れられていませんでした。
後付けと言われても仕方ないでしょう。

また、PC を換えたらメッセージが出たからといって
LocalStorage とは言えません。

Powered by DjangoBB