日記

日本語の勉強のためのブログ

2024-01-01から1年間の記事一覧

eBPFでiphdr構造体のsaddr/daddrをIPアドレスの表記に直して出力する方法

1. bpf_printkのフォーマット指定子%pI4を使う 2つ目の方法とは違い、ビッグエンディアンに直す必要はない。 フォーマット指定子がpから始まっていることからわかるように、引数にはアドレスを渡す必要があるので注意。 参考:https://qiita.com/todok-r/ite…

【TWP】リンクを含むWebページの翻訳精度を上げる

前提 「TWP - Translate Web Pages」という拡張機能を用いてWebページの翻訳を行っている。 github.com 問題 この拡張機能でWebページを翻訳すると、以下の英文*1が、 CISA <a>became</a> the first Authorized Data Provider (ADP) earlier this year, allowing th…

【libbpf/C言語】eBPFのuprobeでprintfをフックしてみる

以下のステップで進む。 uprobeの概要、使用法 eBPFプログラムの作成 ユーザ空間プログラムの作成 コンパイル、動作確認 1. uprobeの概要、使用法 eBPFにはシステムコールや関数にフックする機能があるが、用途によって大きく2つに分かれる。 kprobe:カーネ…

IERAE CTF 2024 Baby's writeup

CTF

チーム名numeron/ユーザ名numeronで参加。5問解いて693点取得し、224人中86位だった。 もともと参加の予定はなかったのであまり時間は取れなかったが、とっつきやすい問題も多く楽しめた。 OMG 戻るボタンを連打したら出てきた。 IERAE{Tr3ndy_4ds.LOL} assi…

コトバスタの単語をできる限りサルベージしたい

概要 コトバスタの概要についてはニコ百を参照。 dic.nicovideo.jp 目的 現時点で残っているコトバスタのアーカイブをすべて取得し、単語リストを作成する。 より具体的には、Wayback Machineからコトバスタの全アーカイブを取得し、スクレイピングによりタ…

関数ポインタとそのキャストについて

調べてわかったことをまとめる。 関数ポインタ その名の通り、関数を指すポインタ。次のように定義する。 // long型の引数を2つ受け取り、long型の値を返す、varという関数へのポインタ long (*var)(long, long); ちなみに*varを囲むカッコを外してしまうと…

WaniCTF2024 writeup

CTF

10問解いて233位だった。数時間しか参加できなかった割にはよく解けたと思うが、惜しいところで詰まった問題も多く技術不足を感じた。 crypto beginners_rsa (beginner) nが5つの素数の積として定義されている。こうした問題はMulti-Prime RSAと呼ばれるらし…

SECCON Beginners CTF 2024 へなちょこwriteup

CTF

2024/06/15, 16に開催されたSECCON Beginners CTF 2024に1人チームで参加し、8問解いて173位*1だった。 図1. 最終結果 別件で忙しくあまり解けなかったものの、それでもbeginner問題はWeb以外全部解けて良かった。またバイナリを読む力も上がっていると感じ…

【Win11/Virtualbox】"Begin: Loading essential drivers"と出て起動がストップする

問題 Vagrantを使ってVirtualboxで仮想マシンを起動すると、仮想マシン側で"Begin: Loading essential drivers ..."と表示されたまま動作が止まってしまう。 図1. 起動ストップ時のVMの様子 Vagrant側も以下の通り止まったままとなり、そのうちタイムアウト…

【Win11/VirtualBox】デタッチモードで起動できない

2024/08/05追記 Windows11 23H2(osビルド22631.3880)の別マシンで、デタッチモードで(Vagrantfileにvb.gui = trueを指定せずに)起動したところ、問題なく起動できた。やはりWindowsのバージョンに起因する問題の可能性が高い? 問題 VirtualBoxをバック…

CASIO waveceptor WVQ-M410のバンド交換

5年ほど使用してバンドがちぎれてしまったため修理してみた。 既に類似機種の交換方法がYouTubeに上がっている↓ため、単なる実践報告になる。 www.youtube.com 交換用バンド Yahooショッピングで購入した。2900円。 届いた袋には交換対象のモデル名が書かれ…

SpringForwardCTF2024 writeup

CTF

個人チームで参加し、4630ポイント取得して29位だった*1。bin問題が1問解けた上にmiscも全問解くことができたので自分にしては上出来だと思う。 result Bin TestofLuck 与えられたバイナリをghidraで解析していくと、次のことがわかる。 main() settings.txt…

シェルコードの入手&実行

以下の記事を読んで自分なりに整理した内容を書く。 inaz2.hatenablog.com note.com シェルを起動するアセンブリコードを書く シェルを起動するだけのプログラムを作成した。 #include <unistd.h> int main() { char *argv[] = {"/bin/sh", NULL}; execve(argv[0], arg</unistd.h>…

WSL2+kali+qemuでmikan本の学習(Xサーバ不要)

やりたいこと 以下の環境で「ゼロからのOS自作入門」の学習を始めたい。 Windows11 WSL2 + qemu kali linux Xサーバは使わない やったこと kaliのインストール WSL2でkali linuxを用意する。WSL版は一部のツールしか入っていないため、フルインストールを行…

picoCTF2024 writeup

CTF

100pt問題とgeneral問題は全部解いた。2725点で1029位。終了日を忘れていたせいで気づいたら終わっていた… WebDecode (Web, 50) Commitment Issues (General, 50) interencdec (crypto, 50) Time Machine (general, 50) Blame Game (general, 75) Collaborat…

リバースプロキシで複数のコンテナに通信を振り分ける(+GoogleCloudを使ってみる)

チュートリアルをやってみた記録。勉強中なので表現に誤りがあればお知らせください。 やりたいこと Dockerを用いて複数のWebサーバを立て、 http://<サーバIP>/web1 → webサーバ1にルーティングされる http://<サーバIP>/web2 → webサーバ2にルーティングさ…

PINE64+ArmbianでWi-Fiに接続する

はじめに PINE A64+(以下、PINE64)にArmbianを入れて遊んでいるが、Wi-Fiが使えないのでどうにかしたい。 無線LAN子機はすでに持っているが、ドライバが入っていないので接続しても認識されない状況。 やりたいこと 無線LAN子機のドライバを入れ、デバイス…

uBlockOriginを使ってクリック済のリンクの色を変更する

以前こんな記事を書いた。 everykalax.hateblo.jp これをuBlockOriginのフィルター機能で実現するには、uBlockOriginの「ダッシュボード」→「マイフィルター」に以下のフィルターを登録すればよい。 www.google.com##a:visited:style(color: green !importan…

防衛省サイバーコンテスト 2024 writeup

CTF

32問中16問解けた。合計得点は188点で84位。あと数時間あれば… 進捗 あまり参考にならないかもしれないがwriteupを置いておく。 ※解きながらwriteupを書いていたので、結局解けなかった問題についても記述してある。 Crypto Information of Certificate (10)…

パーティションの移動

中古PCを買ったら1つのSSDがCドライブとDドライブに分割されていた。 個人的にDドライブは使わないため、Cドライブに統一しようとしたが、 EFIシステムパーティション:Cドライブ:回復パーティション:Dドライブ のようにC・Dドライブが隣り合っておらず、…

M5Stack core2で能登地方の強震モニタを表示する

余震が続いているのもあり、Vivaldiのウェブパネルに強震モニタを表示しているが、常時表示しておくのが面倒なのでM5Stack core2にやらせたい。 全国版の強震モニタについてはM5Stack(core2ではない)で作成された方がいらっしゃる↓ため、これをcore2に移植…

GPU使用可能なtensorflowが入ったconda環境の構築

minicondaを入れてから仮想環境を構築するまで、以下のコードでまとめて実行できる。 ※GPUのドライバ設定等はすでに済んだものとする Ubuntu 22.04.3 LTS & NVIDIA RTX A4500が載ったサーバで動作確認済。 # minicondaをダウンロードして実行権限を与える wg…