SwiftとGolangでスマホアプリを作る

今まで何度もスマホアプリを作ろうと思ったことはあったが、作ったことはなかった。 というわけで、七月の4連休で作ってみた! 使用技術 iOSの開発に長いこと苦手意識とトラウマがあったため、克服すべくiOSアプリを作ることにした。 というわけで、現在の使用技術はこんな感じ。 Swift SwiftUI Golang Echo: REST Api 向けのフレームワーク GORM: GoのORM GCE MySQL GitHub 開発環境のみ docker Air: Goのホットリロード用のライブラリ 作るアプリ 今回は、以前授業で作成したアプリケーションのスマホ版を作ってみる。 そのアプリケーショ…

その辺に生えてるよくわからん草を、お茶にして味わってみた。

やってみよう研究所 筑波支部 の第一弾プロジェクト。 その辺に生えてるよくわからん草を、お茶にして味わってみた。 草を集める とりあえず、近くを歩き回ってみる。 大学近くには思ったより色々な植物が生えていた。 犬のふんとかおしっことかかかってても嫌だから、ちょっと高めの草とか奥めの草を意識して採集する。 「お茶にするぞ」という目線でまわりの草を見てみると、なんとなく美味しそうとか不味そうとか感じてくるようになる。 そしてよもぎが結構自生しており、よもぎはお茶っ葉として使われるみたいな話を聞いたことがあるためちょっと多めに集めてみた。 草を集めてる時は通りかかる人の視線が気になった。 なんとか…

axlsx で同じワークブック内のリンクを貼る

背景 ruby から excel いじるライブラリである axlsx で、同じワークブック内のシートのリンクを貼りたかったがうまくいかなかったのでメモ 原因 うまくいかなかった原因は、リンクを という形ではるわけだが、この「location」、なんとキャメルケースに変換される。 これはなかなか気づかない。 生成されるリンクは「不正」とだけ言われてみることがなかなかできなかったからだ。 その後、しばらくホバーしていると情報が得られることが発覚。 さらにしばらく後、リンクがキャメルケースになっていることが発覚。 結構時間を取られた。 ちなみに、以上の原因のため、ワークシートの名前がキャメルケース…

railsアプリケーション内でスキーマのコメント情報を取得する

背景 rails の rake タスクで、データベーススキーマのコメントを取得したい場面があったが、情報が全然なかったのでメモ 結論 雑記 rails4 での方法は見つかるが、rails5 でスキーマのコメント書き込みが取り込まれてから、rails4 での方法が使えなくなっていた。 table_comment に関する情報がとにかくなく、色々漁った後 github の rails リポジトリの test でこのメソッドが使われているのを発見した。 test ってこういう風に、ドキュメント的な感じで使えますね。

waniCTF 2020 writeup

waniCTF に参加しました。 https://wanictf.org/ 最近課題で忙殺されていて、ksnctf も解き終わっていないですが、ちょっと解けそうな問題が多そうだったため、参加してみました。 この CTF は初心者向けの CTF になっていて、ヒントが多めにもらえるやさしめの CTF です。 結果は 64 / 242 だったよう スコアの詳細 うーん、pwn が苦手ですね。reverse も苦手だと感じました。 Crypt Veni, vidi シザー暗号ですね。FLAG{…}の形式の文字列になっているため、F -> S のシフト数を考えます exclusive xor で…

ksnctf Q.18 usb flash drive

問題概要 zip ファイルが配布されており、展開すると img ファイルが見つかる。 調査してみる img ファイルをさらに展開してみると、3 つの画像ファイルとSYSTEMと書かれた隠しファイルが見つかった。 strings で FLAG 的な文字列を探したが画像ファイルに埋め込まれているわけではない。 file コマンドで img を調べてみると、 と出る。 とか、とかあり、それぞれ調べてみると「ブートセクターの一種」とかなんかとか出てくる。 windows のブートセクターが usb にインストールされてる?? ん? よくわからん? usb に img を入れて、usb から起動しよう…

信号守ったら車に轢かれそうになった話

あと半年くらい秋でいてくれ 最近ようやく涼しくなって、最高の季節になりました。 最近自転車も若干きれいにして走りやすくなったので、買い物ついでにちょっと街を探検することに。 街を探検するときは基本的に目的地を設定しないと走り出せないので、 今回はちょっと遠目のパン屋でなんか買ってこようかなとひたすら南に走り出しました。 目的地周辺についたはいいものの、肝心のパン屋のお店が見つからず、 日も落ちつつあったため帰路に。 信号は基本的に守る 周りに車が見えなくても信号は守る人っていますよね。 一人で行動するとき僕もそのタイプです。 ですが、今日ちょっと面白いことがあったので書いておきます。 帰り道…

ksnctf Q.31 KanGacha

問題の概要 出題ページには、問題ページへのリンクとソースコードが配布されていた。 問題ページをみると、「ガチャ」があった。 ソースコードを併せてみてみると、ボタンを押すとランダムに艦隊(の名前)がゲットできるというものだ。 ゲットした艦隊(の名前)の情報は、クッキーで管理されているようだが、クッキーの改竄を防ぐためにハッシュ関数で 署名をして、ページアクセス時にそのクッキーの値を検証している。 ハッシュ関数に使っているソルトがフラグとなっているようだ。 足掻き 最近自力で解けていないため、これは自力で解きたいと思い、1 日かけた。 結論をいうとダメでした… php の関数を調べまくり、ハッシ…

ksnctf Q.12 Simple Auth II

問題の概要 問題のページとソースコードが見られる。 問題ページはこんな感じで、ID と password 入力フォームがある。 適当に id, pass と指定して送信すると、同じ画面で 「Incorrect ID or password」 と表示された。 足掻き ソースコードも見てみると、問題通りのシンプルなログイン機構だった。 flag はデータベース内のデータのパスワードのようだ。 ログインがうまくできれば、flag としてそのユーザーのパスワードが表示される。 前回の問題に当たる「Q.32 simple auth」では、php の緩い比較「==」の仕様をつくことでフラグを入手できた…

ksnctf Q.26 Sherlock Holmes 70pt

問題の概要 問題ページへのリンクが張られている。 問題ページでは、シャーロックホームズの「ボヘミアの醜聞」の原文が載っている。 プロジェクトグーテンベルクから持ってきたようだ。 色々調べる なんかめんどくさそうだなと思いながら、とりあえず色々調べてみよう。 ぱっとみ普通の html っぽいが、ソースを見てみる。 特に変なところはないが、url をよく見ると index.pl となっている。 perl だ。CGI だな。 ディレクトリトラバーサルを試みると、index.pl のあるディレクトリのファイルが表示された。 すると、flag.txt がある。ほかには、「ボヘミアの醜聞」の素となると思…