Yamada Hayao

Web Developer / Security Enthusiast

© 2024 Yamada Hayao

技術系

技術系

セキュキャン2025 SGXゼミ 課題晒し

IPAのセキュリティキャンプ 2025に応募し無事に合格しました。 応募したゼミは「TEEビルド & スクラップゼミ」です。当初は合格するとは考えておらず、課題晒しも行うつもりはありませんでした。 しかし、SGXゼミの課題晒しが非常に少ないということを踏まえ、せっかく合格したので公開しようと思います。 ## 感想 SGXとはなにかについてほんのり調べ始めたばかりだったので色々と間違っていることや理解できていないことが書いてあったりします。 LLMをフル活用して書いているので正直恥ずかしいという気持ちも大きいです。強くなれるように頑張ります。 ## NoteBookLM http

Read More

TsukuCTF 2025 Writeup

MWS Cupのメンバーの一部でTsukuCTF 2025に参加しました。 チームのメンバーがつよつよだったので、私の参加したチームTousekiは1575ポイントで48位でした。 私が解いたのはOSINTカテゴリーだけです。最後の`hidden_wpath`だけ解くことができず、Webカテゴリの勉強不足を実感しました。 以下私のWriteUpです。 ## Casca 画像検索をするとこのサイトが引っかかる。 https://gourmet-travelogue.doorblog.jp/archives/56226093.html ここで記念碑の内容を確認できたので、色々キーワ

Read More

ArchLinuxのリポジトリ構築の現状

最近またArch Linuxの世界に戻ってきました。一時期NixやGentooに浮気していましたが、結局ここが一番落ち着きます。故郷。 そんなわけで数年前からの悲願だったPacmanリポジトリの構築作業をやっています。 ## 既存のサーバー候補 Pacmanリポジトリは単なるバイナリをHTTPでサーブするだけのシンプルな構造ですが、構築とメンテナンスを手作業で行うのはかなり苦しい作業です。 これらの作業を自動化するツールはいくつか紹介しますが、どれも一長一短なのが現状です。 ### ArchLinux公式 公式のリポジトリ管理ツールです。おそらく見逃しているリポジトリもあると思い

Read More

WSLによる開発環境の最適解2025

Linuxは最高のOSです。しかし私のCore Ultra 2 Serial搭載のXPSのように、Linuxカーネルによるデバイスのサポートが不完全な場合もあると思います。 常用に耐えうるレベルでない場合にはWindowsを使わざるを得ない場面もあるでしょう。 <Warn> Linuxを入れたくない言い訳としてWSLを推奨するわけではありません。 正常にLinuxが動作する環境においては直にLinuxをインストールする方が良いでしょう。 </Warn> ## WSLのインストール方法 ストアからディストリビューションを検索して……なんというチンツな方法は利用しません。 yuk7

Read More

変なドメインを取るときに使えそうなTLD

最近、[gomika.su](gomika.su)や[soude.su](soude.su)、[ダサいドメイン.コム](ダサいドメイン.コム)のような変なドメインが欲しくて仕方がない。 しかしセンスのない私はなかなか年間のドメイン料を支払ってまで確保したい良いドメインを見つけられずにいる。 少しでも何か思いつけないかということで、使えそうなトップレベルドメインを列挙していく。 ## TLD一覧参考元 https://data.iana.org/TLD/tlds-alpha-by-domain.txt ## 一覧 実際に取れるかは知らない。ローマ字として読めそうなものをリストアップ

Read More

Cでhello, world(詳細解説)

切腹倶楽部の[Cでhello, world](https://seppuku.club/memo/c-hello-world/)をようやくしっかりと読んだ。 ## ソースコード 無断てんのりをば。怒られたら消す。 ```c print(s,d) void*s,*d; { __asm__(".quad 0xcfff48aef2fcffb1" : "=D"(d) : "D"(s), "a"(0)); __asm__("syscall" :: "a"(1), "D"(1), "S"(s), "d"(d-s)); } main() { print("hello, world\n"

Read More

ブログをNext 15+ESLint v9に移行した話

私のこのブログを先日リリースされたNext 15 + React 19 + ESLint v9に移行しました。 ## パッケージ更新 何も考えず[ncu](https://www.npmjs.com/package/npm-check-updates)で[エイヤ](https://github.com/yamader/minskey/commit/887ff6d2f14df24b14631d67bfecfad8fe94ac6e)しました。 ## Next 15 Next 15はいくつかの破壊的変更が含まれていますが、そこまで大きなものはありませんでした。 コンポーネントのProps

Read More

ジャンクPCの選び方

昨日、「後輩がジャンクPC入門する」と言ってLGA775のマザーボードを5000円で買ってきた夢を見ました。 今まで自分のジャンクPCやパーツの選び方をしっかりと文書に書き起こしたことがなんだかんだで無かったので記しておこうと思います。 10年くらい色々中古屋を漁って失敗しまくって得られた結果なので、初めて中古屋でジャンクを買ってみようかなという人には参考になると思います。 逆に、AliExpressでノートPCのフレキシブルケーブルを買うような人は向いていないと思います。(特定の個人に言及) ## ジャンクを購入する際の心得 「今必要かどうか」で購入の判断を行わないでください。基

Read More

CSSでリストのスタイルを弄る

TailwindCSSを用いて、`<ul>`で表示されるリストをカスタマイズする方法がわからなかったのでメモ。 ネット上の沈痛な月収100万サムライエンジニア系のサイトでは`list-style:none;`したうえで`::before`で…という説明が溢れかえっているがこれは適切な用法ではない。 ## CSSでリストの要素を自由にカスタマイズする リストの文字はCSSでは`list-style-type`プロパティで変更できる。 ```css ul { list-style-type: "-"; } ``` このプロパティは各値以外にも任意の文字列を受け取れるらしく、文字

Read More

Meraki MR42を三枚おろしにしてOpenWRTを焼く方法

ヤフオクでMeraki MR42が大量に流されていたので10台落札した。1台2000円程度で落札できたので非常に良いお買い物。 しかしこのMR42はクラウド管理型という仕組みになっており、利用するにはかなりお高い管理費用を毎月支払う必要がある。 MR42をはじめとした一部の製品では、OpenWRTを書き込むことでデバイスを資本の束縛から開放することができる。 この機種でOpenWRTを焼く情報は既に大量にあるのだが、数か所詰まった場所があるのでその部分を説明する。 ## 注意 既にMR42にOpenWRTを焼く作業は多くの先人が記事にしているので、基本的にはそちらを参照されたい。

Read More

Xiaomi Focus Penのペン先を交換する

20歳の誕生日に、自分へのプレゼントということで[Xiaomi Pad 6S Pro](https://www.mi.com/jp/product/xiaomi-pad-6s-pro-124/)を購入した。 当然大学の授業でノートを取るために必要なペンも買ったのだが、このタブレットはなぜかXiaomi Focus Penとかいう専用ペンが必要だった。 登場したばかりのようで、互換性のあるペンや情報が一切出回っておらず仕方なく新品で購入した。 ペンだけに1万円払うとは自分もお金持ちになったものだ。 ところで、替芯が公式から販売されておらず、Xiaomiサポートに問い合わせたところ以下の

Read More

Goのslogで色を付けつつファイルにも出力する

最近、Goに`log/slog`という構造化ロガーが登場し、InfoやDebugなどのラベル付けやグループ分けをするロギングが簡単にできるようになりました。 slogは単体ではまだ少々貧弱ですが、非常に柔軟性の高いインターフェースを実装しているので外部ライブラリによって使いやすくすることができます。 今回は私がよく使っている2つのライブラリを組み合わせます。 ## 色を付ける [`github.com/m-mizutani/clog`](https://github.com/m-mizutani/clog)はカラフルでConfigurableな`slog.Handler`を実装してい

Read More

個人的に最強なGolang開発用テンプレート

Golangを1年弱ほど触り、いろいろな開発をしているうちに結構よく使う構造とライブラリが顕著なことがわかってきました。 そこで今回は自分が作成したテンプレートを載せてみようと思います。自分が立ち上げたGoのプロジェクトだと殆ど利用していると思います。 なお、今回のテンプレートは[こちら](https://github.com/Hayao0819/scaffold/tree/master/go-cobra)で公開されています。 ## 概要 引数解析には[Cobra](https://github.com/spf13/cobra)と[CobraUtils](https://github

Read More

何故シェルスクリプトを勉強するのか

最近、リアルやTwitter問わずシェルスクリプトを((中には)基本的な文法さえ理解しようとせずに)嫌う人が非常に多いように思います。 POSIXに則ったシェルの話をすれば、配列も変数スコープも無いスクリプト言語を今更勉強したがる人がいないのは自明であるかもしれません。 しかしBash 5.xやZshになれば、配列どころか連想配列もあるしローカル変数もあります。何なら最新のPOSIXでさえもIFSの仕様が定義されました。 というわけで、全てのプログラマがシェルスクリプトを勉強するべき理由を紹介します。 ## 前置き この記事には多分なポジショントークが含まれています。 インターネ

Read More

Reactのライフサイクルと最適化についてまとめる

Reactが再レンダリングされる条件とパフォーマンスの改善について、基礎から自分の復習を込めてまとめてみる。 ちなみに最近フロントエンドに飽きたので間違っていても責任は取りません。 ## 関数型プログラミングとReact 関数型プログラミングはある値に対して特定の関数を渡すことで値を加工することでプログラムを記述していく言語。 しっかりと書いたことはないのであまり深い言及はできないのだが、関数を組み合わせていくものだと考えていい。 ここで重要なのは関数型プログラミングそのものではなく、その中で出てくる副作用の概念である。 以下に関数を定義する。 ```ts const sum

Read More

DIVER OSINT CTF Writeup

2024年6月8日~9日に開催されたDIVER OSINT CTFに参加してきました。初参加で28位というそれなりの記録を残すことができて個人的には非常に嬉しいです。 というわけで人生初のWriteupというものを書いてみようと思います。今回はチーム全体でのWriteupということで、ハヤオ以外が書いている部分もありますが、代表して僕のブログで公開させていただきます。 ## welsome/welscome ルールに書いてあるフラグを入力して終了です。頑張ろう‼ `Diver24{ganbarou!}` ## misc/number <hr /> この車両の持ち主に連絡を取りたい

Read More

部室の旧PCを仮想化した話

こんにちは、山田ハヤオです。 大学では情報メカトロニクス研究部に所属しているのですが、その部室にあった古いPCを仮想化したのでその記録です。 ## 状態 ![データHDD](./1.png) Dドライブとして使われていたデータ用のHDDは正常値で生きていました。が、使用時間が非常に長い(おそらくサーバとして運用されていた)のでデータを救出しました。 このデータはドキュメントデータだったので`rsync`で中身のみを新しいHDDに移動しました。 ![OS](./2.png) こちらのOSの入ったHDDは不良セクタが増えており非常にまずい状態でした。Windows VistaからW

Read More

PC-9801vmをなんとか起動した話

お久しぶりです。山田ハヤオです。 2023年の夏にRyzen 9 7900Xでマシンを組んで以降、ジャンクでコスパ良いPCを探すモチベがめっきりなくなってしまいました。 (といいつつも今月すでに8~11世代のPCを3台ほど購入しているのですが) そんなわけで時代に逆行しようということで、DOS時代のPCに手を出し始めました。 運良く知り合いにその時代に詳しい方が複数人いらっしゃったので、色々と過去の知恵を参考にしながら情報と部品を収集しています。 ## PC-9821Nsを入手した きっかけは2023年11月の(個人的に勝手に伝説だと思っている)Misskeyエンカ。たまたま入った

Read More

個人的ESLintとPrettierの最適解2024

ネットでTSやJSのフォーマッタやリンタについてググってると、結構色々な記事が乱立していて情報が錯綜しているので、色々試行錯誤した中で確立した自分の中の最適解をメモとして残しておきます。 ## EsLintとPrettierの関係と基礎知識 そもそもリンターであるESLintとフォーマッターであるPrettierは全くの別物で、本来なら一緒に設定する必要はないはずです。ということで、まずは役割を確認します。 リンターはバグの原因になるような良くないコードや、古い書き方などに対して警告を表示するものです。 一方でフォーマッタはコードの内容を評価するのではなく、あくまでもコードの整形を行

Read More

GitHubのアカウントが乗っ取られかけた話

タイトルのとおりです。GitHubのアカウントを乗っ取られかけました。結構やばかったです。 ## 経緯 <Tweet tweetId="1743100670507618308" /> このツイートをする5分ほど前から、スマホのGitHubアプリに大量のログインリクエストが表示されていることに気づきました。 急いでメールを確認すると、恐ろしいほどのログイン失敗の通知と詳細が送られていました。 <Tweet tweetId="1743102325349339425" /> スペインやペルー、アメリカなどの場所から繰り返しログインを試行されており、おそらく攻撃者はTorを使っているのだ

Read More

あたらしいウェブサイトを作りました

お久しぶりです。山田ハヤオです。大学にも慣れてきて、かなり人生に余裕ができてきました。今は某学習塾と某スタートアップで働きつつ一人暮らししてます。 ここ1年間ブログの更新がなかったのは大学が忙しかったのと、ブログの移行作業をしていたからです。Hugoでテーマを作るのが思った以上にだるかった(というかReactやVueのようなフレームワーク無しにウェブサイトを書きたくない)ので、同等程度の機能を有したものをイチから作っていました。 親は基本的に生活費なんてくれる訳がないので(この前2万円もらえたので感謝)バイト代がほぼ生活費に消えてます。まぁ父親が不倫してる最悪な実家よりはましかな。 両

Read More

Magiskを使ってAndroidの充電状態を管理する

あけましておめでとうございます。今年もよろしくお願い致します。 新年早々暇すぎてAndroiのいい感じのモジュールを見かけたのでメモ。 ## Advanced Charging Controller 名前の通り充電をコントロールするためのツール。Magisk上でCLIツールとして動くらしい。 色々ネットのフォーラムとか漁ってると配布場所が複数あるけど、素直に公式のGitHubから持ってくるべき。 [https://github.com/VR-25/acc/releases/latest](https://github.com/VR-25/acc/releases/latest)

Read More

大学生向けのノートPCの選び方

既に知り合い4人くらいから大学向けのノートPCの選び方についての相談を受けてるのでここに色々書いてみる。 Googleで検索して出てくるサイトの大半はアフィリエイト(ようはお金をもらう)だったりステマ(ようは広告)なのであまり信用しないほうが良い。 買う前にスペックをハヤオに送ってくれれば多少の判断はできると思うので遠慮しないで送ってほしい。 ## モデルを決める基準 たぶん大体の人が特定のモデルやメーカーにこだわりは無いと思うので、学生向けに選ぶ基準というか優先順位を考える。 1. 学校の基準 2. 予算 3. 電池もち 4. 性能,大きさ 5. 保証 だいたいここらへんになる

Read More

自作ソフトウェアのライセンスについて

## ライセンスをつける意味 GPLのサイトによれば、ライセンスなしというのは不自由なライセンスらしいです(?)。 まぁでも著作権が作者にあるままなので色々面倒ではありそうですね。 ## おすすめライセンス **GPLは絶対に使わないでください。誰も得しない上に資本主義に喧嘩を売る最悪のライセンスです。** ### MIT SUSHI WARE お寿司をおごってもらいながら、自分の名前を表記してもらえるライセンスです。 [MIT SUSHI WAREの公式サイトはこちら](https://github.com/watasuke102/mit-sushi-ware) このライセ

Read More

BootstrapのTooltipをクリックされたときのみ表示する

クリップボードにコピーしたときにのみメッセージを表示したいと思い、BootstrapのTooltipで実装したのでそのメモです。 ## 環境 Bootstrap 5の`bootstrap.bundle.min.js`をCDNで読み込んでいます。 ## HTML ```html <button type="button" class="btn btn-outline-primary" data-bs-toggle="tooltip" data-bs-placement="bottom" title="コピーしました" id="discor

Read More

縦棒短縮URLのUIを作り直した話

縦棒短縮URLのUIを作り直しました。 ## 概要 [http://hayao.fascode.net/tatebou/](http://hayao.fascode.net/tatebou/)を新しくしました。 具体的にはBootstrap5を使ってレスポンシブ対応し、モダンなUIにしました。 Bootstrapほんっとうにいいねこれ。これに頼ってると純粋なCSSとHTML書けなくなりそう。 次にサイトを作るときはReactとBootstrapでいい感じにしたいなと思っており() Hugoのこのテーマもあまり気に入ってるわけではないので、そのうち自分でテーマを書こうと思います。

Read More

ライブCDの部屋の陰謀論の影響と対策

ハヤオがLinuxを勉強し始めた2014年、その頃は日本でのLinuxといえばLiveCDの部屋でした。 Serene Linuxの開発も、LiveCDの部屋が開発したBasixをベースに行っていた時期もあり、長期的に日本人向けの活動を行っていて尊敬していました。 しかし最近のLiveCDの部屋は、コロナウイルスの陰謀論にハマり、パンデミックを嘘と断定し、政治思想も極右に偏っています。 ↑については[今のLiveCDの部屋](http://simosnet.com/livecdroom/)を見ればすぐわかります。 ## これの影響 かつてはLiveCDの部屋は非常に人気があったので

Read More

Twitterの広告ブロックをする方法

Androidで快適なTwitterライフを送るうえで必須なのが広告ブロック。 2つの方法があるんだけどどっちがいいか個人的にはよくわからない。 ## 1. TwiFuckerを使う方法 [TwiFucker](https://github.com/Dr-TSNG/TwiFucker)を使う方法。 LSPatcherと組み合わせることでRootなしでも動作するらしい。(未検証) ## 2. YouTube Revancedを使う方法 なぜかYouTube RevancedのプロジェクトがTwitterの広告除去も実装している。 以前に書いた[Revanced Builder](

Read More

Gentoo Linuxのリンク集

切腹倶楽部に載ってないリンク集 - [mkinitcpioをGentooに移植してみる話 \- Carpe diem](http://carpediemjournal.blog.fc2.com/blog-entry-50.html) - [Gentoo Forums :: View topic \- Rebuilding everything](https://forums.gentoo.org/viewtopic-t-1041480.html) - [Kernel/Configuration \- Gentoo Wiki](https://wiki.gentoo.org/wiki/Ker

Read More

Gentoo Linuxでインストールされている全てのカーネルのInitramfsを生成する

新型コロナに感染して陽性になって、家にいて暇なのでGentoo Linuxに再チャレンジしてみている。 Chromeでタブを40個ほど開いてソースコードやらGentoo WikiやらとにらめっこしながらMisskeyで山Dに質問しまくっている。(本当に申し訳ない) ![Chrome](./chrome.png) そんな中でこのブログの開設のきっかけにもなった[切腹倶楽部でGentoo Linuxのebuildの入門記事が公開](https://seppuku.club/unix-like/gentoo-overlay-enter/)されており、しかも先日~~俺があまりにもわからなさすぎ

Read More

Youtube Revancedを最も簡単に導入する方法

## 警告 こんなツールを見つけたよというだけです。すべて自己責任でお願いします。 ## 依存関係をインストールする `adb`は言わずもがな。 更に追加で[Azul JDK17](https://www.azul.com/downloads/?version=java-17-lts&package=jdk)をインストールする。 ## スクリプトをダウンロードして実行 [ここ](https://github.com/reisxd/revanced-builder/releases)から自分のOSに合ったバイナリをダウンロードする。 あとはコマンドラインから実行権限を付与して実行

Read More

Wineでフォントの文字化けを直すメモ

Wine にOffice 2010を入れたけどフォントがバグったのでメモ 先に結論だけ言うと、下の2つのサイトの方法で完全に修正できた。 - http://battleformac.blog.jp/archives/52366709.html - https://linux.just4fun.biz/?Ubuntu/Wine64%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%A8%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88%E8%A8%AD%E5%AE%9A フォント

Read More