日記

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

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

以下の記事を読んで自分なりに整理した内容を書く。 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…

【Vagrant】provisionを用いてzsh+preztoを自動セットアップ

目標 vagrant upするだけで デフォルトのシェルがzsh preztoのセットアップも完了している ような環境を実現する。 はじめに注意 初期状態ではroot権限でprovisionスクリプトが実行されるので、スクリプト内の$HOMEは/rootに置換されてしまう *1。 今回はこ…

Vagrantを使って仮想マシンの初期設定を自動化する

注意 GUIの仮想マシン(Ubuntu Desktopなど)は対象としていません。 はじめに 訳あってVirtualBox上のUbuntu仮想マシン(Ubuntu Server)を使用する必要が出てきた*1が、初期設定が非常に面倒である。 そこでVagrantを導入し、自動で仮想マシンを作成しても…

【Win11】クリーンインストール後にwingetが使えない

問題 以前のPCに入っていたソフトをwingetで一括導入しようとしたところ、 PS C:\Users\user> winget import -i hoge.json \ PS C:\Users\user> (注:2行目以降は実際は青色で表示される) としか表示されず、いつまで経ってもインストールされない。 なおw…

Google以外の検索エンジンを使ってみよう

Google検索はその検索精度の高さや使いやすさもあり、広く一般に利用されている。とくに画像検索の優秀さは目を見張るものがある。 しかしプライバシーやカスタマイズ性を考えると問題点もある。 カスタマイズ性が低い 個人的には「検索結果を別タブで開く」…

【VSCode】Dockerコンテナにアタッチできないエラー

問題 VSCodeでDockerコンテナにアタッチしようとすると,突如以下のエラーが出て失敗するようになった. Error running command remote-containers.attachToRunningContainerFromViewlet: The operation was aborted. This is likely caused by the extensio…

重いWindows版zoomを騙し騙し使い続けるためのTips

手っ取り早いのはPCの買い替えだが,それができない場合にZoomをある程度快適に使うためのTipsを紹介する. 1. キーボードショートカットを活用する Alt+Hでチャットが開けたり,Alt+Yで挙手できたりするのは地味に便利. すべてのショートカットは以下リン…

Vivaldiで自動翻訳してくれる拡張機能

Vivaldiは素晴らしいブラウザだが,自動翻訳機能がない.また付属の翻訳機能も精度が低いと感じる. Chromeには自動翻訳機能があることを踏まえると,これは唯一の欠点であるといえるだろう(過言?). そこで自動翻訳機能をもつ拡張機能を探してみた. 調…

【OPPO Reno3 A】Chromeが起動直後に落ちる

発生した問題 タイトル通り,Chromeアプリを起動すると数秒後にクラッシュしてしまう. 環境 OPPO Reno3 A(A002OP:おそらくワイモバイル版) Android 11(ColorOS v11) Chrome 116.0.5845.92 対処法 再起動など,基本的な対策は省略. 1. 起動して即ホー…

ThinkPad L380のSSDを交換する

以前LifebookのSSD交換に失敗した↓が,懲りずに再チャレンジ. everykalax.hateblo.jp 用意するもの ThinkPad L380 OS:Windows11 Pro CPU:Intel Core i5-8250U @ 1.60GHz RAM: 16GB 内蔵SSD:256GB(詳細は後述) 中古で3万だった SSD(M2) 内蔵SSDと同程…

Azureを使ってMisskeyサーバを立てる試み

一度クラウドサービスを使ってみたかったので,Azureを用いてMisskey鯖を立ててみる. 注意 あくまでもAzureの学習がてら試しに立ててみただけであり,長期運用は考慮していない. Azure側の設定 今回はAzure for StudentsサブスクリプションでVirtual Machi…

煮込みハンバーグの日をカレンダー上に可視化する

はじめに 日本食研のCMによれば「2と5のつく日は煮込みハンバーグの日」とのこと. www.youtube.com 今回はWebページにカレンダーを埋め込み,そこに煮込みハンバーグの日を表示してみたい. 使用技術 カレンダーの表示にはFullCalendarを用いる. fullcalen…

モニタ接続なしでPINE A64+をセットアップ&SSH接続

PINE A64+(以下,PINE64)を買った. akizukidenshi.com HDMIケーブルを使いモニタに接続すれば簡単にセットアップができる. しかしこの記事では,モニタに接続することなくセットアップを済ませ,別のデバイスからSSH接続してみようと思う. 用意するもの…

【VSCode/Python】1行目に#type:ignoreと書くとエラーが出なくなる

やっと解決したので注意喚起(自分が知らないだけ?). 問題 1行目*1にtype: ignoreという文字列を含むコメント行を追加すると構文エラー等が出なくなってしまう(ただし補完機能は正常に動作する).VSCodeを再インストールしても直らなかったのでおそらく仕様…

Github Actionsでsagemath関連のDockerイメージを使用するとactions/checkoutに失敗する

概要 Github Actionsのテストとして,以下のWorkflowファイル(main.yml)を作成してWorkflowを実行した. name: Compile on: push: branches: ["main"] workflow_dispatch: jobs: sage: runs-on: ubuntu-latest container: image: sagemath/sagemath steps:…

SECCON Beginners CTF 2023のwriteup

CTF

2023/06/03-04に行われたSECCON Beginners CTF 2023に参加した.10問解いて136位だった. 図1. 結果 writeupを解いた順に記す.なおWelcome問題は省略. Forbidden (web, beginner) Half (reversing, beginner) poem (pwnable, beginner) aiwaf (web, easy) …

LIFEBOOK UH90/C3 のSSDを交換する

4年使ったノートPC(LIFEBOOK UH90/C3)が故障した. 起動するとOSを正しく読み込めない旨のエラーが出るので,BIOSで診断プログラムを実行したところ,SSDの故障のようだ. 保証期間も切れたので,SSDを交換することにした. 注意 分解することにより保証が…

【Windows】VSCode+pLaTeX環境を構築する(2023)

結論 まずこの記事を読んで環境構築し、以下のようにsettings.jsonを修正してください。 なお.latexmkの変更は必要ないはずです。 // latexmk を利用した platex によるビルドコマンド // 古い LaTeX のテンプレートを使いまわしている (ドキュメントクラス…

【仕様?】VSCodeのデバッグコンソールでtqdmの表示が崩れる

1. 問題 VSCodeでPythonプログラムのデバッグを行う際,「デバッグ コンソール」(「ターミナル」や「出力」とは別物)において,tqdmによるプログレスバーの表示が崩れてしまう.図1にその様子を示す. 図1. プログレスバーの表示崩れ 2. 解決? デバッグコン…

draw.ioで作成した図をeps形式に変換する

draw.io(https://app.diagrams.net)はpng, jpeg, svg, pdf, vsdx, html, xml, url形式のエクスポートに対応しているが,eps形式には対応していない. そのため,まずsvg形式でエクスポートしてから,それをepsに変換する. draw.io → svg 「ファイル」→「形…

WSL2のDockerで立てたUbuntuコンテナでapt updateするとForbidden

発生した問題 Docker Desktop(WSL2 backend)でUbuntuコンテナを立て,パッケージリストを更新するためにapt updateを行うと,パッケージミラーサーバへの接続が拒否されて(403 Forbidddenエラーが出て)更新に失敗する. Ubuntu20.04, 22.04のコンテナで問題…