我が家のインコ「れもん&ぽぽ&ぐぐ」の日記19 : 鳥フェス浅草2025に行ってきました!

はじめに 2025年最初のインコ記事です。 1月18日に「鳥フェス浅草2025」に行ってきたので、 そこで購入した物などを紹介したいと思います。 また、今週のれもんとぐぐもあわせて記録しておきます。 今年もよろしくお願いいたします。 鳥フェス浅草2025の公式サイトです↓ ことりカフェ:鳥フェス浅草2025 関連記事 前回の日記 2024年12月29日の日記です。 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記18 : 2024年に感謝&2025年もよろしくお願いします 我が家におけるインコの飼育方法 2024年の我が家でのインコの飼育方法をまとめました。 インコの飼い方と注意点(2024年版) 注意点 私たちは鳥を初めて飼うため飼育方法に誤りがあるかもしれません。 これからセキセイインコやズグロシロハラインコなどを飼うという方はこのブログの情報を鵜呑みにせず、参考程度に読んでいただけますと幸いです。 いかなる場合でも責任は負えませんのでご了承ください。 鳥フェス浅草2025 2025年1月18日と19日に開催された「鳥フェス浅草2025」に行ってきました。 とても大きな会場でたくさんの人で賑わっていて大盛り上がりでした。 様々な鳥関連のグッズもあって満足度が高いです。 また、浅草もとても活気のある街で観光地としても面白かったです。 購入した物です↓ 購入物 細川先生にお会いできて購入した書籍にサインもいただけました! (我が家のれもんの写真を掲載していただいた書籍にサインをいただこうと思ったのですが、 バタバタして家に忘れてしまいました。 またお会いできた時の楽しみにとっておきたいと思います) 『鳥を識る』↓ 『鳥を識る』 『老鳥との暮らしかた』↓ 『老鳥との暮らしかた』 水彩でフクロウの絵などを描いていらっしゃるそばがらさん(X ID: @sobagaranosoba)にれもんとぐぐの絵を描いていただきました! とても素敵な絵です。さっそく飾りました。 鳥のイベントはとても楽しいので定期的に参加したいですね。 今週のれもんとぐぐ 2025年も鳥たちは比較的元気に過ごしています(たまに体調悪そうな時もあって心配もありますが、様子を見つつ楽しく暮らしています)。 今週のれもん↓ 今週のれもん 今週のぐぐ↓ 今週のぐぐ おわりに 2025年になったばかりですが、もうすぐ1月が終わってしまいますね。 どんどん時間が進んで何が何やら分からなくなっていく感覚もあります。 このブログで記録を残していろいろ忘れないように生きていけたらと思います。 今年もよろしくお願いいたします。 それでは、また。 流木に乗ったぐぐ↓ 流木に乗ったぐぐ 次回の日記 2025年3月12日の日記です。 ...

作成日: 2025年1月26日 · Yusuke Kato

読書日記『本を読んだことがない32歳がはじめて本を読む』【ネタバレあり】

はじめに 大和書房より出版されたかまど・みくのしん著の『本を読んだことがない32歳がはじめて本を読む』(以下、本書籍)を読み終えたので感想をまとめておきます。 本書籍の情報は下記リンクから公式サイトをご覧ください。 大和書房:かまど・みくのしん『本を読んだことがない32歳がはじめて本を読む』 本書籍について 本書籍はウェブサイトの記事として公開されたものが元となっています。 下記がオモコロブロスの記事です。 オモコロブロス:本を読んだことがない32歳が初めて「走れメロス」を読む日 本書籍では本を全く読んだことがないみくのしんさんが4本の小説を読んでいく姿を描いた作品となっています。 注意事項 本記事には本書籍に関するネタバレがあるためご注意ください。 本書籍の感想 構成が良くて読みやすい 本書籍ではみくのしんさんが読書している様子をそのまま文字に起こしているような構成になっています。 読者はみくのしんさんとかまどさんと一緒にその場で読書をしているような感覚で読み進めることができます。 みくのしんさんもかまどさんもとても優しい方々で、 そんな優しい空間に包まれながら行う読書ほど落ち着くものはなく、 とても素敵な作品だと思います。 新しい本の読み方を体験できる みくのしんさんが本を読んだことがあるとかないとかに関わらず、 本書籍を読むと、みくのしんさんの感情の豊かさや広大な想像力に圧倒されます。 本をこんなふうに読めたのかという驚きを感じ、 また、みくのしんさんの読書を通して著者が何を考えて作品を書いているのかという深いところまで触れることができます。 私はこれまで作品の表面だけをなぞるように読書をしていて、 たまに「なんかこの文章は素敵だな。言葉では説明できないけど」みたいに考えることがあって、 とはいえそれでも十分に読書を楽しめていたとは思います。 しかし、みくのしんさんの読書を知った後では、 もっと本を楽しめるのではないかと強い希望を抱くことができました。 読書に慣れてきてしまうと、 なんとなくの理解のまま流し読みをしたり、 どれだけ効率よくたくさんの本を読めるかや、 できるだけその本の楽しいところだけを読みたいというような考えが芽生えてしまいます。 しかし、みくのしんさんは一文一文に自分なりのおもしろさを見い出しながら読書をしていました。 私もそんな読書がしてみたくなりました。 本が読みたくなる さっそく読書したいです。 おわりに 今回は大和書房から出版されたかまど・みくのしん著の『本を読んだことがない32歳がはじめて本を読む』を読みました。 とても素敵な作品で読めば読書したい気持ちがどんどん強くなるのでおすすめです。 みなさまもぜひ! それでは、また。

作成日: 2025年1月11日 · Yusuke Kato

echoコマンドで"-n"をそのまま出力したい

概要 Bashのechoコマンドで-nをオプションとして解釈せずに文字列としてそのまま出力する方法を試したので紹介します。 問題点 下記のようにコマンドを実行すると-nはオプションとして解釈されて、 結果としては何も出力されません。 $ echo "-n" # 何も出力されない Bashでは--をつけると「これ以降はオプションではない」ことを意味するらしいですが、 どうやらechoではこれは使えないようです。 $ echo -- "-n" -- -n 解決策 たとえば-nの前に半角スペースを入れて" -n"とすると文字列として解釈されます。 $ echo " -n" -n しかしこれだと当然のことながら半角スペースも一緒に出力されてしまうので、 同じ要領で\0-nにするとよさそうです。 \0はNULLのエスケープ文字です。 また、エスケープ文字を解釈するために-eをつけます。 $ echo -e "\0-n" -n 注意点として実行環境によっては\0の挙動が変わるかもしれません。 以上です。

作成日: 2025年1月7日 · Yusuke Kato

読書日記:近畿地方のある場所について【ネタバレあり】

はじめに KADOKAWAより出版された背筋『近畿地方のある場所について』(以下、本書籍)を読み終えたので感想をまとめておきます。 本書籍の情報は下記リンクから公式サイトをご覧ください。 KADOKAWAオフィシャルサイト:背筋『近畿地方のある場所について』 本書籍について 本書籍は元々カクヨム(小説投稿サイト)で公開されていたホラー小説が書籍化されたものです。 下記がカクヨムのリンクです。 カクヨム:背筋『近畿地方のある場所について』 本書籍は、様々な雑誌の記事やインタビュー内容、インターネット上の情報、主人公の体験などを通して、近畿地方のある場所で起こる不可思議な事件を追っていく作品となっています。 最初から最後まで作品としての完成度がとても高いので、 ホラーが好きか苦手かに関わらず全ての方におすすめです。 注意事項 本記事には本書籍に関するネタバレがあるためご注意ください。 本書籍の感想 ホラーの雰囲気が良い 本書籍はジワジワ怖くなっていくタイプの作品で、 そのホラーの雰囲気が小説という文字媒体であることも相まって、 とても良い雰囲気を作っています。 もちろん直接的に怖くなるシーンも複数ありますが、 「そこまで怖くないはずの物事が積もり積もって大きな恐怖になってしまう」というような感覚が本書籍にはあります。 表面上の強烈な怖さというよりは、心の深いところからジワジワくる怖さを感じるような作品であり、 ホラーが苦手な方でも作品として楽しめるのではないかと勝手に思っています。 おすすめです。 謎解き的な要素もある 本書籍は恐怖を与えてくれるホラー作品ではありますが、 作品内で登場する数々の短編を繋ぎ合わせていくと近畿地方のある場所で起きた不可解な事件の真実が解き明かされるような構成にもなっています。 ホラーを味わいつつ謎解きも体験できる一石二鳥な作品であるとも言えます。 一つ一つの短編がしっかりおもしろい 本書籍はライターである主人公の話の連作と、雑誌の記事やインタビュー内容、インターネット上の情報などの短編が集まって構成されています。 それぞれの短編が近畿地方のある場所で起きた数々の怪事件にまつわる話になっていて、 それらの話が繋がり合って最終的に一番根本にある真実を浮かび上がらせていく流れとなります。 一つ一つの短編がそれぞれ単体でしっかりおもしろい作品となっているので(元々カクヨムで一つの話として公開されていたものであるため)、 最初から最後までずっと楽しく読み進めることができます。 また、短編ごとに区切られるので隙間時間に読みやすいという長所もあるかと思います。 文章がシンプルで読みやすい 主人公がライターということもあって、 本書籍全体を通して、小説というよりは雑誌の記事やレポートのような体裁で文章が書かれています。 そのため、文章に回りくどい言い回しや読者の想像に任せるような表現などもなく、必要な情報が必要な時に必要なだけ与えられます。 文章がシンプルで説明も単刀直入なので、誰にとっても読みやすくて内容に集中しやすいところも本書籍の長所かと思います。 一文だけ違和感がある 本書籍の20ページの9行目を引用します。 当時彼は大学2年生で、ふた回り近く年の離れた私と盛り上がれたことをとてもうれしく感じたのを憶えています。 この一文において、文脈として「うれしく感じた」のは「私」です。 つまり主語は「私」になるはずなのですが、そう考えるとこの一文は不自然で、正しくは「ふた回り近く離れた彼と盛り上がれたことをとてもうれしく感じた」となるはずです。 おそらく誤植なのかとは思いますが、本書籍を通して文章はとても丁寧で、 この箇所以外には不自然な文が見つからないので、 何かしら意味があるのかもしれないとも思います。 メタ的な作品でもある 本書籍はカクヨムでも投稿されていたので「小説」であるということが分かります。 つまりフィクションの作品であり、ホラーの怖さを作品として楽しむことができます。 しかし、本書籍では最初に著者である背筋さんが本書籍を書いていることが明かされたり(背筋さんが作品内に登場している)、 本書籍を作品と読んでいいのか背筋さんが疑問を抱いていることが述べられたりします。 また、最後には本書籍は日本中で広く読んでもらう目的があって書かれたことも分かります。 以上のことからカクヨムで公開されているからといって本書籍が小説であるとは限らないということが分かります。 さらにはもちろん名言はされませんが、本書籍はフィクションではなく、 読者に何かしらの影響を与えるかもしれないことが示唆されています。 そのように、本書籍はフィクション内にとどまらず、私たちの現実世界にも干渉するメタ的な作品であるとも考えられます。 おわりに 本記事ではKADOKAWAより出版された背筋『近畿地方のある場所について』について感想をまとめました。 普段はあまりホラー作品を読まないのですが、 本書籍はとても完成度が高くておもしろく読めたので良かったです。 皆さまもぜひ読んでみてください。おすすめです。 それでは、また。

作成日: 2025年1月5日 · 最終更新日: 2025年1月6日 · Yusuke Kato

シェル芸オンラインジャッジの紹介

はじめに 本記事の概要 本記事では、シェル芸(シェルのワンライナー)で問題を解いて遊べる「シェル芸オンラインジャッジ」を紹介します。 シェル芸オンラインジャッジは、シェル芸用の問題とユーザが実行したコマンドの出力結果の自動正誤判定機能を提供します。 シェル芸とは何か シェル芸のトップページでシェル芸が定義されています。 シェル芸の定義↓ マウスも使わず、ソースコードも残さず、GUIツールを立ち上げる間もなく、あらゆる調査・計算・テキスト処理をCLI端末へのコマンド入力一撃で終わらすこと。あるいはそのときのコマンド入力のこと。 引用元:シェル芸のトップページ シェル芸オンラインジャッジについて シェル芸オンラインジャッジとは何か シェル芸オンラインジャッジは、シェル芸(シェルのワンライナー)で様々な問題を解いて遊べるウェブサイトです。 自動で正誤判定も行われます。 その他に、練習問題やすべての問題の回答例もあるため、学習用途でも利用できるかと思います。 2023年5月3日に運営を開始してアップデートを重ねながら現在まで稼働しています。 シェル芸オンラインジャッジの概要 下記のリンクからシェル芸オンラインジャッジにアクセスできます。 ウェブサイト:シェル芸オンラインジャッジ このようなページが表示されます↓ シェル芸オンラインジャッジ シェル芸オンラインジャッジのソースコードはGitHubで公開しています。 GitHub:シェル芸オンラインジャッジ シェル芸オンラインジャッジの特徴 主なシェル芸オンラインジャッジの特徴は下記の通りです。 シェル芸で問題を解いて遊べる 自動で正誤判定できる パソコンでもスマホでも遊べる ソースコードをGitHubで公開 通常問題に加えて練習問題と画像問題もある すべての問題の回答例も掲載 シェル芸オンラインジャッジのコミュニティ GitHubのコミュニティが存在します。 GitHub:シェル芸オンラインジャッジのコミュニティ その他に、mixi2のコミュニティも存在します。 mixi2:シェル芸オンラインジャッジのコミュニティ シェル芸オンラインジャッジの遊び方 シェル芸オンラインジャッジでの遊び方を説明します。 まず問題を選択します。 通常問題に加えて、練習問題と画像問題もあります。 2025年1月2日現在では合計85問です。 問題選択 問題を選択して「決定」ボタンを押すと、 問題文と入力、想定出力が表示されます。 入力はシェル芸実行時にinput.txtから取得できます。 また、シェル芸の出力結果は想定出力に従う必要があります。 問題情報 ユーザがシェル芸を入力して実行します。 コマンドボタンを押すとコマンドを入力できて便利です(特にスマホで便利です)。 シェル芸入力 シェル芸の実行ボタンを押すと正誤判定が自動で行われます。 正解と表示されたらその問題はクリアです。 間違いの場合は不正解と表示されます。 正誤判定 下図のように画像問題も用意してあります。 画像問題 すべての問題の回答例も掲載しているのでぜひご参照ください。 回答例 ...

作成日: 2025年1月2日 · 最終更新日: 2026年2月1日 · Yusuke Kato

我が家のインコ「れもん&ぽぽ&ぐぐ」の日記18 : 2024年に感謝&2025年もよろしくお願いします

はじめに 2024年もそろそろ終わりを迎えて、新しい年が始まろうとしています。 皆様、今年もお世話になりました。 来年もよろしくお願いいたします。 2024年最後になりますが、 セキセイインコのれもんとズグロシロハラインコのぐぐの記録をまとめておこうと思います。 心清やかなれもん↓ 心清やかなれもん 関連記事 前回の日記 2024年12月8日の日記です。 我が家のインコ「れもん&ぽぽ&ぐぐ」の日記17 : れもんもぐぐも平和な日々を送っています 我が家におけるインコの飼育方法 2024年現在の我が家でのインコの飼育方法をまとめました。 インコの飼い方と注意点(2024年版) 注意点 私たちは鳥を初めて飼うため飼育方法に誤りがあるかもしれません。 これからセキセイインコやズグロシロハラインコなどを飼うという方はこのブログの情報を鵜呑みにせず、参考程度に読んでいただけますと幸いです。 いかなる場合でも責任は負えませんのでご了承ください。 れもんの成長 今年の最後の記録として、 半年前に我が家へやってきたばかりのれもんと、 現在のれもんの写真を見比べてみます。 れもんは我が家に来た頃はかなり子供っぽさがありました(生後一ヶ月くらい)。 現在は明らかに大人っぽさがあって成長を感じます。 また、一番特徴的な違いは目になるかと思います。 半年前のれもんの目は真っ黒ですが、 現在のれもんは目に白い輪っかが現れています(写真では見えづらいです。大人になると現れるものらしいです)。 内面的には、基本的には我が家に来た頃から今に至るまで好奇心旺盛な子供という感じは一貫しています。ただし、反抗期みたいになったり、ずる賢くなったりなど、人生経験をしっかり積んできている気もします。 半年前のれもん↓ 半年前のれもん 現在のれもん↓ 現在のれもん ぐぐの成長 ぐぐも我が家にやってきた三か月前と比べてみます。 ぐぐは我が家にやってきた時点で1歳を過ぎていたので見た目は特に変化はありません。 しかし、内面的には大きく変わってきています。 我が家に来た頃は自分の周りの全てにビビっていて鳥籠から出ることさえ難しかったのですが、 時間が経つごとに少しずつ鳥籠から出られるようになっていって、 鳥籠の上でおもちゃで遊んだり、人間と遊べるようにもなりました。 そして今では鳥籠から降りて床を歩くこともできます。 また、三か月前はれもんの存在にもビビっていて、 鳥籠の外のれもんが近づいてくるだけでも威嚇するような動きをしていましたが、 現在は特に気にせずにやり過ごせるようになっています。 ぐぐが我が家に慣れてくれて良かったです。 三か月前のぐぐ↓ 三か月前のぐぐ 現在のぐぐ↓ 現在のぐぐ 今週のれもんとぐぐ 今年の締めくくりとして今週のれもんとぐぐの写真を記録しておきます。 どっしりと構えているれもん↓ どっしりと構えているれもん↓ ぐぐの後ろ姿↓ ...

作成日: 2024年12月29日 · Yusuke Kato

Ubuntu 24.04 LTSにおいてノートPCを電源に接続していない状態だと画面が暗くなる問題の解決方法

問題内容 ノートPCでUbuntu 24.04 LTSが動作している状態で電源を抜いてバッテリー駆動にすると画面が暗くなる。 再び電源を接続しても画面は明るくならない。 解決方法 Ubuntu 24.04 LTSの電源モードの設定で、デフォルトでは「バランス」になっているが、「パフォーマンス」に変更する。 メモ 画面の明るさの設定をいろいろいじっていたが、単純に電源オプションの問題だった。

作成日: 2024年12月28日 · Yusuke Kato

ポケポケブログ2:「幻のいる島」環境でもベトベトンデッキが強いです

はじめに 概要 ポケモントレーディングカードゲームポケット(以下、ポケポケ)においてベトベトン+マタドガスデッキを使っているのですが、 新しいパックである「幻のいる島」が登場して環境が変わっても、 まだまだこのデッキは強いのでおすすめします。 ベトベトン 前回の記事:ベトベトンデッキの紹介 前回、ベトベトンデッキを紹介したのでこちらもあわせてご覧ください。 ポケポケブログ1:ベトベトン+マタドガスデッキをおすすめする 公式サイト 下記がポケポケ公式サイトのリンクです。 ポケポケ公式サイト デッキレシピ ベトベトン+マタドガス+キョウのデッキレシピです。 ベトベター x2 ベトベトン x2 ドガース x2 マタドガス x2 キョウ x2 博士の研究 x2 モンスターボール x2 ナツメ x2 きずぐすり x2 サカキ x2 基本的にはベトベトンのベノムショックで相手を倒すデッキです。 ベトベトン マタドガスでも相手のHPを削ります。 特性で相手を毒にできたり、エネルギー1つでワザが撃てるので強いです。 マタドガス キョウでマタドガスを手札に戻して、ベトベトンとのコンボやHPを全回復します。 キョウをベトベトンに使うことはほとんどないです。 キョウ 直近20戦の成績 ベトベトン+マタドガス+キョウデッキの強さを計測するために、 バトル「だれかと」の「イベントマッチ」で20戦行いました。 イベントは現在開催されている「幻のいる島 エンブレムイベント」(~2025/01/10)です。 もちろん上振れや下振れはあるので参考程度にご参照ください。 結果:20戦15勝5敗 【勝】セレビィex 【勝】セレビィex 【勝】ミューツーex&ミュウex 【負】ペンドラー 【勝】ピカチュウex 【負】キュウコン&ギャロップ 【勝】ミューツーex 【負】セレビィex 【勝】セレビィex 【負】スターミーex 【勝】ミューツーex&ミュウex 【勝】水デッキ? 【負】ギャラドスex 【勝】スターミーex&フリーザex 【勝】ピカチュウex&サンダーex 【勝】キュウコン&ギャロップ 【勝】超デッキ(フラージェス) 【勝】リザードンex 【勝】セレビィex 【勝】ピカチュウex&サンダーex 解説 幻のいる島のイベントバトルでは、ミューツーexデッキとセレビィexデッキがよく当たる印象です。 ...

作成日: 2024年12月22日 · Yusuke Kato

ポケポケブログ1:ベトベトン+マタドガスデッキをおすすめする

はじめに 概要 ポケモントレーディングカードゲームポケット(以下、ポケポケ)で、 悪タイプのベトベトンとマタドガス、そしてサポートカードのキョウを組み合わせたデッキがそこそこ強いのでおすすめします。 ベトベトン 2024年12月17日に新しいパック「幻のいる島」が追加されて環境がまた変わってしまうかもしれませんが、何かしら参考にしていただけると嬉しいです。 公式サイト 下記がポケポケ公式サイトのリンクです。 ポケポケ公式サイト デッキレシピ ベトベトン+マタドガス+キョウのデッキレシピです。 ベトベター x2 ベトベトン x2 ドガース x2 マタドガス x2 キョウ x2 博士の研究 x2 モンスターボール x2 ナツメ x2 きずぐすり x2 サカキ x2 ベトベトンのベノムショックで相手を倒します。 ベトベトン マタドガスは特性で相手を毒にできます。 また、エネルギー1つでワザが撃てるので強いです。 マタドガス キョウでマタドガスを手札に戻して、ベトベトンとのコンボやHPを全回復します。 キョウ 直近20戦の成績 ベトベトン+マタドガス+キョウデッキの強さを計測するために、 バトル「だれかと」の「イベントマッチ」で20戦行いました。 イベントは「最強の遺伝子 エンブレムイベント1 SP」です。 もちろん上振れや下振れはあるので参考程度にご参照ください。 結果:20戦13勝7敗 【勝】草フシギバナex&ナッシーex 【勝】悪マタドガス&アーボック 【負】ピカチュウex&サンダーex 【勝】鋼メルメタル 【負】水スターミーex&フリーザex 【勝】炎リザードンex 【負】超ミューツーex 【勝】水スターミーex&フリーザex 【勝】超ミューツーex 【負】悪プクリンex&マタドガス 【負】龍カイリュー 【勝】闘サンドパン&オコリザル 【勝】超フーディンex 【勝】水スターミーex&フリーザex 【負】雷ピカチュウex 【負】鋼メルメタル 【勝】超ミューツーex 【勝】超ミューツーex 【勝】超ミューツーex 【勝】草フシギバナex このデッキの強みと弱み 強み マタドガスがエネルギー1つでワザを出せるし、特性で毒も与えられるので強い マタドガスで毒を与えて、キョウでマタドガスを手札に戻して、ベトベトンで120ダメージを出すというコンボがそこそこ簡単に繰り出せる マタドガスをキョウで手札に戻してまたすぐに出すということが簡単にできるので、実質HP全回復が行える リザードンexやフシギバナexのようなワザを出すまでに時間がかかるデッキが相手だと先手を取れて有利に戦える ミューツーexデッキにタイプ相性で有利が取れる 闘タイプが弱点だが、現状闘デッキがあまりいない 軽い手札事故は起こるが、めちゃくちゃ大変な事故が起こることはない 弱み スターミーexやピカチュウexのようなエネルギー2つで90ダメージ出してくる相手だと先手を取られて負けやすい ベトベトンがエネルギー3つ必要なのが厳しい たねポケモンがデッキに4枚しか入っていないのでカイリュウのりゅうせいぐんが刺さる 1ターン目にカスミでフリーザーexにエネルギー3つ付けられてふぶき撃たれたら負ける(これはどんなデッキでも負ける) 軽い手札事故はたまに起こる(たねポケモンが引けない、マタドガスが引けない、ベトベトンが引けないなど) 戦い方 基本的にはドガースをバトル場に出して、ベンチにベトベターを並べます。 ...

作成日: 2024年12月16日 · 最終更新日: 2024年12月22日 · Yusuke Kato

AlpacaHackで始めるCTF入門7:AlpacaHack Round 5 - XorshiftStreamに挑戦

はじめに 概要 かなり遅れてにはなりますが、今回はAlpacaHack Round 5の問題に挑戦してみます。 今回は一問目の「XorshiftStream」を解いてみます。 ジャンルとしては「Crypto」とのことで、すなわち暗号解読みたいな問題ということになります。 今回もChatGPTに教えてもらいながら挑戦できたらと思います。 ※ 注意:解けていません! AlpacaHack Round 5のトップページ AlpacaHack AlpacaHackへのリンクはこちら AlpacaHackのサイトへのリンク 私のCTF環境 Windows 11/WSL2 Ubuntu 24.04 LTS 前回の記事 2024年10月14日の記事です。 AlpacaHackで始めるCTF入門6:AlpacaHack Round 4 - Simple Flag Checkerに挑戦 問題内容 XorshiftStreamの問題ページを開くと「tar.gz」ファイルが取得できます。 これを下記のようなコマンドで展開すると「chall.py」「output.txt」が取得できます。 chall.pyを実行してoutput.txtが出力された場合、chall.pyの中に書かれているflagはどういう文字列になるか求める問題っぽいです。 tar -zxvf xorshift-stream.tar.gz chall.pyを読んでみる output.txtは一つの文字列が書かれているだけなので、 読み解くべきものはchall.pyだけです。 chall.pyにはXorshiftStreamというクラスが用意されていて、このクラスの中のencryptという関数を実行して得られた出力がoutput.txtとなるみたいです。 まずXorshiftStreamクラスではインスタンス化の際に引数として受け取ったkeyを2の64乗で割った余り(64ビットの範囲におさめるため?)をstateという変数に格納しています。 def __init__(self, key: int): self.state = key % 2**64 次に_next関数では問題のタイトルにも含まれているXORShiftを使って疑似乱数的なものを生成しているようです。 ^がXOR、&lt;&lt;と&gt;&gt;がシフト演算となります。 def _next(self): self.state = (self.state ^ (self.state << 13)) % 2**64 self.state = (self.state ^ (self.state >> 7)) % 2**64 self.state = (self.state ^ (self.state << 17)) % 2**64 return self.state そして肝心のencrypt関数では引数で受け取ったdataを8バイトずつ切り出して、_next関数で生成した疑似乱数とのXORを取っているようです。 そしてその結果をctという変数にバイト形式の文字列として連結しているようです。 def encrypt(self, data: bytes): ct = b"" for i in range(0, len(data), 8): pt_block = data[i : i + 8] ct += (int.from_bytes(pt_block, "little") ^ self._next()).to_bytes( 8, "little" )[: len(pt_block)] return ct 最後にXorshiftStreamクラスを使用しています。 ...

作成日: 2024年12月9日 · Yusuke Kato