# YWTに則った日報

# 3月11日

# やったこと

  • 午前 -- 起床(8時) -- はてブ読む会#21 -- バイト
  • 午後 -- バイト -- technical writing meetup vol.1 -- HackDayのmtg

# 3/17までの目標

  • GSoCでやる予定のプロダクトを決める(0)
  • 参加記録を書く(0)
  • ブログを新しいレイアウトにする(0)

# 明日やること

  • 午前 -- 起床(8時) -- はてブ読む会#22 -- バイト
  • 午後 -- バイト -- 参加記を書く

# 所感

HackDayの話し合いをしていて、大将さんに「技術の話と次にやることを分けて考えた方が良い」と言われてハッとなった。その時にすべき話とすべきでない話を分けることで限られたミーティング時間を有効に使うことが出来るのだなと思った。気づいたところから直していこう。

# 3月10日

# やったこと

  • 午前 -- 起床(8時) -- はてブ読む会#20 -- バイト
  • 午後 -- バイト -- github.com/task4233/note の修正

# 明日やること

  • 午前 -- 起床(8時) -- はてブ読む会#21 -- バイト
  • 午後 -- バイト -- 面談 -- GSoCの中で選べる楽しそうなやつをやる

# 3/17までの目標

  • GSoCでやる予定のプロダクトを決める
  • 参加記録を書く
  • ブログを新しいレイアウトにする

# 所感

Clubhouseで話していて、1週間をどのように過ごしているか考えると、大半をバイトに費やしていて何か悲しくなってしまった。先のことを考えて、今後の方針を決めるか。ひとまず今月末までは続けよう。

# 3月9日

# やったこと

  • 午前
    • 起床(8時)
    • はてブ読む会#19
    • バイト
  • 午後
    • バイト
    • github.com/task4233/gacha-ja完 🎉
    • github.com/task4233/noteの修正

# 明日やること

  • 午前
    • 起床(8時)
    • はてブ読む会#20
    • バイト
  • 午後
    • バイト
    • github.com/task4233/noteの修正

# 所感

録画していた林先生の初耳学で、YOASOBIの幾田りらさんが"「漠然と歌手になりたい」と「今の自分の位置」を点線で繋ぐことしかしていなかった"という話をされていて、長期的な目標とそれを解決する短期的な目標の設定って大事なんだなと改めて思った。明日から、1週間のスパンでの目標も立てつつ日報を書いていくようにしてみよう。

YOASOBI✕林修の対談が実現!

# 3月8日

# やったこと

  • 午前
    • 起床(8時)
    • はてブ読む会#18
    • バイト
  • 午後
    • バイト
    • 面接
    • https://github.com/task4233/gacha-ja

# あしたやること

  • 午前
    • 起床(6時半)
    • 参加記録を電車内で書く
    • はてぶ読む会#19
    • バイト
  • 午後
    • バイト
    • 図書館(行けたら行く)
    • 参加記録を電車内で書く
    • https://github.com/task4233/gacha-ja

# 所感

今日は面接官の方が凄く面白い方だったので、こんな面接もあるのか......!という気持ちになった。ももかさんやりゅうせいさんも参加記を書き始めているようなので、僕もSecHack365の参加記を書くか。他の参加記が書けてないので、電車内で書いていこうかなというお気持ち

# 3月7日

# やったこと

  • 午前
    • 起床(8:30)
    • はてブ読む会#17
  • 午後
    • コーディングテスト
    • https://github.com/task4233/gacha-ja

# 明日やること

  • 午前
    • 起床(7:30)
    • はてブ読む会#18
    • バイト
  • 午後
    • バイト
    • 面接
    • サークルの最終発表

# 所感

コーディングテストで、丁寧にしっかり書くことを意識しすぎて時間が足りなくなってしまった。コーディングテストでは、正しい出力を得ることが何よりも大事なので、コーディングテスト戦略として失敗したなぁと思ってしまった。次にやる時は愚直でもいいのでひとまず解を作るようにした方が良いのだろうか。

# 3月6日

# やったこと

  • 午前
    • 早起き(8時)
    • はてブ読む会#16
  • 午後
    • 昼寝
    • https://camphor.connpass.com/event/198850/
    • バイト
    • https://github.com/task4233/gacha-ja

# 次にやること

  • 午前
    • 早起き(8時)
    • はてブ読む会#17
    • 参加記(SBテクノロジー/Ncom/DeNA/SecHack)の概要を箇条書きで
  • 午後
    • コーディングテスト(14時くらい?)
    • https://github.com/task4233/gacha-ja の続き

# 所感

朝しっかり寝るよりも、昼寝した方がリフレッシュ出来て良いことが分かった(?)ので、明日以降も続けていこうと思う。野本さんにオススメされた方法で2週間以上早起きを継続できているので、ありがたいことこの上ない。

# 3月5日

# やったこと

  • 午前
    • 早起き(8時)
    • はてブ読む会#16
  • 午後
    • 昼寝
    • https://camphor.connpass.com/event/198850/
    • バイト
    • https://github.com/task4233/gacha-ja

# 次にやること

  • 午前
    • 早起き(8時)
    • はてブ読む会#17
    • 参加記(SBテクノロジー/Ncom/DeNA/SecHack)の概要を箇条書きで
  • 午後
    • コーディングテスト(14時くらい?)
    • https://github.com/task4233/gacha-ja の続き

# 所感

朝しっかり寝るよりも、昼寝した方がリフレッシュ出来て良いことが分かった(?)ので、明日以降も続けていこうと思う。野本さんにオススメされた方法で2週間以上早起きを継続できているので、ありがたいことこの上ない。

# 3月4日

# やったこと

  • 成果発表会

# 次にやること

  • 機械学習を用いた画像処理系の学習
    • ボトムアップ式ではなくトップダウン式で開発してみる

# 教えていただいたこと

  • 機械学習を始めるなら、視覚的に変化が分かりやすい画像処理系か、もしくは言語処理系が良いらしい
    • 学ぶためなら、松尾研究室のやつも良いらしい
    • pytorch, scikit-learn辺りを使ってあげるのが良さそう?
    • ひとまずトップダウンで、出来たら楽しそうなことから考えてみる
  • 脆弱性情報の収集
    • https://github.com/aquasecurity/vuln-list
    • https://vulndb.cyberriskanalytics.com/

# 所感

ひとまず、トレーナーの皆さん、トレーニーの皆さん、本当にありがとうございました。本当に多くの方にお世話になったし、得られたことも多い1年間でした。この生活をいかに持続できるかは僕自身の問題だと思っているので、この経験を忘れずに今後研究等を続けていきます。

# 3月2/3日

# やったこと

  • ハッカソン
    • Unityでゲームを作るやつ

# 所感

ハッカソンの時は目的を達成することが最も重要なので、そこが考えを変えるきっかけになったのが大きかった。

# 3月1日

# やったこと

  • 午前
    • 早起き(8時)
    • はてブ読む会#11
    • ICSS研究会(すこし)
    • インターン
  • 午後
    • インターン
    • 睡眠

# 明日やること

  • 午前
    • 早起き(8時)
    • はてブ読む会#12
    • メールの返信
    • 書類提出
    • バイト
  • 午後
    • バイト
    • 参加エントリの提出
    • 事前課題

# 所感

ICSS研究会初日お疲れ様でした。一部見てました。新しいインターン先の会社がかなり良くて、セキュリティ系だけかと思いきやGoをゴリゴリ書いている会社で最高になってる。

# 2月28日

# やったこと

  • 午前
    • 早起き(8時?)
    • はてブ読む会#10
    • インターンDay2
  • 午後
    • インターンDay2
    • 振り返り記事(途中)

# 明日やること

  • 午前
    • 早起き(8時?)
    • はてブ読む会
    • バイト
  • 午後
    • 図書館行く?
    • 開発の続き(techtrain-missionのやつと今日のハッカソンのやつ)
    • 参加エントリを書く

# 所感

ハッカソンはかなり楽しくて、非常に良い経験になった。参加エントリを書かなくては。それと、ICSSの発表は聞く余裕が出来たら聞こうかなと思ってる。

# 2月27日

# やったこと

  • 午前
    • 早起き(8時に起きた)
    • はてブ読む会#9
    • インターンDay1
  • 午後
    • インターンDay1
    • バイト

# 明日やること

  • 午前
    • 早起き(8時?)
    • はてブ読む会#10
    • インターンDay2
  • 午後
    • インターンDay2
    • 振り返り

# 所感

人生で初めてペアプロをやった。参考になる記事や文献を共有するのが意外に大変で喋りすぎてしまったような気がした。話過ぎていた場面もあったので、明日は状況を見つつペアプロをする。

# 2月26日

# やったこと

  • 午前
    • 早起き(8時に起きた)
    • はてブ読む会#8
    • 読書
  • 午後
    • tarcov-ammo-crawlerの実装
    • あまんがす

# 明日やること

  • 午前
    • 早起き(7時半に起きる)
    • はてブ読む会#9
    • インターン
  • 午後
    • インターン
    • バイト

# 所感

早起きしていると昼寝が多くなった気がした。昼寝した後は気分を入れ替えられるので、無理に作業せずに昼寝するのもアリだなと思った。

# 2月25日

# やったこと

  • 午前
    • 早起き(6時半に起きた)
    • はてブ読む会#7
    • バイト
  • 午後
    • バイト
    • 教授との1on1
    • 本の返却
    • ES入力と提出

# 明日やること

  • 午前
    • 早起き(7時半に起きる)
    • はてブ読む会#8
    • ブログの記法修正
  • 午後
    • TBD

# 所感

最近負担になってきたバイトの1つを辞めることにした。上司も振る仕事が減ってきたとのことで、お互いにwin-winだったのかなという感じ。今度は別のインターンに3月から参加予定なので、辞める方のバイトは最後までやり切りたい。

# 2月24日

# やったこと

  • 午前
    • 早起き(8時に起きた)
    • はてブ読む会#6
    • 朝会
  • 午後
    • アイデア発想会
    • tarcov-ammo-crawler

# 明日やること

  • 午前
    • 早起き(6:30?)
    • はてブ読む会#7
    • バイト
  • 午後
    • バイト
    • 教授との1on1
    • techtrain-missionのハンドラ実装

# 所感

今日はやる気がわかなかったので、amazon primeでmarvel系映画を見てた。It's up to youって表現がめっちゃ便利だなと思った。

# 2月23日

# やったこと

  • 午前
    • 早起き(8時に起きた)
    • はてブ読む会#5
    • 朝会
  • 午後
    • techtrain-missionのリストハンドラ実装

# 明日やること

  • 午前
    • 早起き(7時に起きた)
    • はてブ読む会#6
    • 朝会
  • 午後
    • ハンドラ実装
    • HackUのイベント参加
    • mtg

# 所感

以前、市谷さんに紹介されたカイゼンジャーニーを読んでいて、今までの開発でああしておけば良かったな、と思うことがいくつかあった。こういう良本はもっと読みたいし、そういう本をどこから仕入れれば良いのか知りたい。

# 2月22日

# やったこと

  • 午前
    • 早起き(7時半に起きた)
    • はてブ読む会#4
    • 図書館に行く
  • 午後
    • アーロンチェアを見にいった
    • C++勉強会に出た
    • サークルの総会に出た

# 明日やること

  • 午前
    • 早起き
    • はてブ読む会#5
    • 朝会出席
    • メールの返信
  • 午後
    • techtrain-missionのガチャハンドラ実装
    • techtrain-missionのリストハンドラ実装
    • 提出

# 所感

今日はゼミに参加したり、本を読んだりとインプットが多めの日だった。明日は、アウトプット多めの日にしようと思ってる。

# 2月21日

# やったこと

  • 午前
    • 早起き(8時に起きた)
    • はてブ読む会#3
    • 紹介文の修正
    • ポスター修正
  • 午後
    • ポスター修正
    • ポスター提出
    • 放送大学の放送を見る
    • あまんがす

# 次にやること

  • 午前
    • 早起き(7:30)
    • はてブ読む会#4
    • 図書館に行く
    • 可能ならバイト先に行く
  • 午後
    • techtrainの課題

# 所感

ポスター提出お疲れ様でした。ギリギリまでトレーナーの方が対応してくださって、感謝しかない。本当にありがとうございました。

# 2月20日

# やったこと

  • 午前
    • 早起き(7時半に起きた)
    • HackDay登録
    • はてブ読む会#2
    • 紹介文の修正
  • 午後
    • HackDay技術紹介
    • バイト
    • ポスターの修正
    • teratailの質問対応

# 次にやること

  • 午前
    • 早起き(7時起床)
    • はてブ読む会#3
    • ポスターの修正
  • 午後
    • ポスターの最終修正
    • API実装の続き(できれば)
    • あまんがす

# 所感

私事だけど、バイト先の塾の子から遅めのバレンタインプレゼントをもらった。もらったときに「先生のおかげで数学が楽しくなったし、視野を広げてくれたの本当に感謝してるからあげるね」と言われて、感極まってしまった。少しでも良い影響を与えられたなら良かったなと思った。

# 2月19日

# やったこと

  • ゼミ(遅くまで本当にありがとうございました)
  • 早起き(7時に起きた)
  • 研究室のMTG
  • ポスター修正
  • 会社説明会
  • teratailの質問対応

# 次にやること

  • 午前
    • 早起き
    • HackDay登録
    • 進捗報告
    • メールの返信
    • ポスター修正
  • 午後
    • ランダム記事APIを実装する
    • HackDay技術紹介
    • ばいと

# 所感

ゼミ遅くまでありがとうございました。そして、朝早くまで夜遅くまで頑張った自分を褒めたい。明日も一日がんばる。

# 2月18日

# やったこと

  • バイト(9:15-17:45)
  • 入門Go言語仕様輪読会(初心者でも丁寧にサポート)の運営手伝い

# 次にやること

  • バイト(?)
  • 早起き(7時15分に必ず起きる)
  • 研究室のMTG
  • ポスター修正
  • メールの返信

# 所感

明日は必ず早起きしなければならないのでもう寝よう。作業を中途半端にやめられなくてずっとやってしまった。

# 2月17日

# やったこと

  • インターン(9:00-)
  • ポスターのデザイン再考
  • HackDayのMTG

# 次にやること

  • バイト
  • ポートフォリオの一部更新

# 所感

随分と夜更かしをしてしまった。もう寝ます。

# 2月16日

# やったこと

  • バイト
  • 卒論お疲れ様ピザパ
  • ポートフォリオのデザイン考案
  • ポートフォリオの一部実装

# 次にやること

  • インターン(9:00-)
  • ポートフォリオの一部更新
  • ポスターのデザイン再考(更新を忘れてた...)
  • HackDayのMTG(22:00-)

# 所感

他の方のポスターの完成度が高かったのに驚かされた。というか、皆さんのセンスが凄い。もっとキャッチーな図を入れていく必要がありそう。明日はあまり出来ることがなさそうなので、アイデアを再考する日にしよう。

# 2月15日

# やったこと

  • 大学にいく
  • 卒論お疲れ様会をする
  • 教職免許の支払いをする
  • メールに返信する
  • お誘いいただいたインターンに申し込む
  • ポートフォリオの更新

# 次にやること

  • バイト
  • malgrapherのIssue潰し
  • 卒論お疲れ様ピザパ
  • ポートフォリオのデザイン考案

# 所感

久々に大学に行ったところ、体力がかなり落ちていたことに気づいた。毎日散歩してても、足りていないらしい。とはいえ、ジムにも行けないし、困ったものだ。どうしよう。

# 2月14日

# やったこと

  • k8sのドキュメントに関するPR作成
  • 研究室の資料移行
  • botの作成

# 次にやること

  • 大学(図書館)に行く
  • 卒論お疲れ様会をする
  • 教職免許の支払いをする
  • メールに返信する
  • お誘いいただいたインターンに申し込む

# 所感

最近研究が出来ていない。出来ないのではなくてやってないだけなので、あまり良くないなと思っている。目標を忘れている訳ではなくて、新しい仕事が来ると先にそちらからやろうとしてしまうので、永遠に再帰処理が終わらない人になってる気がする。明日は、新しいことをしないで、溜まっているものを消費する日にしようと思う。

# 2月13日

# やったこと

  • K8sのドキュメントに関するPR作成
  • Rust勉強会
  • バイト

# 次にやること

  • 研究室の資料移行
  • メールの返信
  • malgrapherのIssue潰し
  • mtg

# 所感

久々に塾講のバイトに行ったら、楽しかった分どっと疲れた。今日はもう何も手が付きそうにないので明日の自分にまかせて寝る。

# 2月12日

# やったこと

  • ポスターの仮作成
  • 友人のスクレイピングツールのテストコード追加
  • メール送信
  • ゼミ

# 次にやること

  • Rust勉強会
  • バイト
  • ポスターの修正と再投稿

# 所感

本日のゼミにて、他のトレーニーのポスターを見ながら、そのセンスに驚かされた。もっとキャッチーな内容にしたいのだけれど、どうしたらそういったデザインが出来るのか知りたい。

# 2月11日

# やったこと

  • Netwars
  • 友人のスクレイピングツールの実装(config.ymlの読み出し部分を実装)

# 次にやること

  • 輪講(19:00-)
  • ポスターの初稿作成&提出
  • 検知システムの類似度算出部分の仮実装調査(実装ができそうならやってみる)

# 所感

Netwarsは楽しかった。最終的に400pts位だったので、学生の中では10位以内には入ってたと思う。全体の最終結果がまだ公開されていないので、実際の順位は分からない。 それと、ClubhouseにてSF系でおススメの本を3冊紹介していただいた(操翼士オリオ, 星を継ぐもの, アルジャーノンに花束を)。僕は中学高校とホラー、ミステリー、サスペンス系ばかり読んでいたので、SF系は読んだことが無いから楽しみだ。

# 2月10日

# やったこと

  • GoSpecReading輪読会
  • 友人のスクレイピングツールの実装

# 次にやること

  • Netwars
  • スクレイピングツールの設定ファイルの設計

# 所感

よくわからんけど、朝から頭痛がひどい。熱はないっぽいけど、よく分からない頭痛が続いている。輪読会は何とか参加できたけど、今日はこれ以上起きてられないので寝る。

# 2月9日

# やったこと

  • バイト
  • 友人の卒研発表を見る
  • 引継ぎ資料の作成
  • ポスターのガワ作成(左半分を作った)
  • malgrapherのissueつぶし(#6)

# 明日やること

  • malgrapherのIssue潰し
  • 検知システムの類似度算出部分の仮実装調査(実装ができそうならやってみる)
  • 友人に頼まれたスクレイピングツールの実装

# 所感

昨日、卒研発表が終了したので、自分へのご褒美としてHHKB Type-S Hybridを購入しました。膝の上にキーボードを置きながらスコスコタイピング出来て、QoLが上がりに上がってます。買ってよかった。

# 2月8日

# やったこと

  • 卒研発表(🎉)
  • 引継ぎ資料の作成
  • ポスターのガワ作成(構成と見出しのみ作成)
  • GoのAPIサーバをサックリ実装(https://github.com/task4233/todoapi-template)

# 明日やること

  • バイト
  • ポスターの一次案作成
  • malgrapherのバグ改修(https://github.com/task4233/malgrapher/issues/6)

# 所感

やっと卒研発表が終わった。友人の研究発表を聞きながら、もっと頑張らないとなと思った。明日、残りの卒研発表が終わったら宴だ。楽しみ。

# 2月7日

# やったこと

  • 卒研発表練習
  • スライドの見直し
  • ポスターBoFの参加

# 明日やること

  • 卒研発表
  • 打ち上げ
  • ポスターのガワ作成

# 所感

明日の発表が今年度の集大成なので楽しみ。明日寝坊したら大変なことになるので、今日は早めに寝る。 明日は終わった後に友人とわいわいしてから、ポスターに書く内容だけざっくり決めようかな。

# 2月6日

# やったこと

  • 卒論提出 🎉
  • NISUCONの参加(5位でした)
  • 卒研発表内容の確認

# 明日やること

  • 卒研発表の練習
  • 卒研発表の見直し

# 所感

やっと卒論を提出できた 🎉 今年度は卒研と教育実習とSecHackの3つに全てかけるつもりだったので、その1つである卒論はかなり頑張って書いた(目次、参考文献除き37ページ書いてた)。だからなのか、凄い達成感がある。出来上がった卒論を見た時にニヤついてしまったレベルで。卒論発表の準備をしっかりして万全の状態で臨みたい。

# 2月5日

# やったこと

  • 卒論発表の練習
  • 卒論のクロスレビュー
  • CAのミッション用リポジトリの整備
  • 明日のNISUCONの準備
  • 卒論のバックアップ

# 次にやること

  • 卒論の再確認
  • 卒論提出
  • NISUCON
  • バイト

# 所感

明日が卒論提出締め切りなので、最後にもう一度確認したら提出する予定。今日は友人と卒論のクロスレビュー(卒論読み会)をした。他の研究室も面白そうなことをしていて、楽しく読ませてもらった。

# 2月4日

# やったこと

  • 卒論の修正
  • 卒論発表のスライド作成
  • 発表練習
  • ポスター作成BoFのアンケート回答
  • マンダラートのメンテ

# 次にやること

  • 発表練習
  • スライドの確認

# 所感

マンダラートをメンテしていて、アプリがあれば良いのにな、と思ったので調べたら900円もした(https://apps.apple.com/jp/app/mandalart/id866939399)。 恐らく来年のSecHack勢もかやまさんがマンダラートの布教をしてくださると思うので, 無料版をリリースするか...?と思っている。 (SecHack勢で開発に興味がある方はいるのかな)(その前に研究をCSECの発表内容を考えねば)

ここから記法を未修正

# 2月3日

# やったこと

  • 卒論修正
  • Go本体へのコントリビュート(嬉しい)
  • Malgrapherの増強(jgに対応)

# 次にやること

  • 卒論のチェック

# 所感

優秀修了生の皆さん、本当にめでたい。まだ終わりではないけど、お疲れ様と言いたい。

# 2月2日

# やったこと

  • バイト
  • 卒論修正(赤がまだ返ってきていないので, 見直して気になる部分を直した)
  • WebRTCのチュートリアル

# 明日やること

  • 卒論の見直しと修正

# 所感

今日はClubhouseを抜ける時間を見据えてやってみた。Speakerの場合は抜けるまでに時間がかかるので, 抜けようと思ってから実際に抜けるまで15分~30分かかる。それを念頭において話すのが良さそう。Listenerの場合はアプリごとタスクキルすれば良いので楽だけど、やっぱり「お話」をしたい。

# 2月1日

# やったこと

  • 卒論執筆(3~6章と謝辞)

# 明日やること

  • バイト
  • 赤で直された卒論の再投稿

# 所感

Clubhouseで人生相談(就活系)をさせていただいた。「大体何にでも興味を持てます」と言うと, 「受け身で仕事が与えられないと何もやらない人」と思われることがあるらしい。厳しい世界だ。

# 1月31日

# やったこと

  • 最終発表会
  • 卒論執筆(1,2章)

# 明日やること

  • 卒論執筆(3~6章と謝辞)

# 所感

習慣化の講演を聞いて, 久々に更新。卒論の内容はSecHackでやった内容も含んでいるので, あとは文字にするだけ。やるぞ。

# 1月7日

# やったこと

  • バイト
  • 実装(Dockerfileの修正)

# 所感

今度のPOPLでCFGの難読化手法に関する論文が出るらしい(https://popl21.sigplan.org/details/pepm-2021-papers/6/Control-Flow-Obfuscation-for-Featherweight-Java-using-Continuation-Passing)。まだ読めてないので明日にかけて読む。

# 1月6日

# やったこと

  • ポートフォリオの修正
  • 実装少し
  • ゼミ

# 所感

もう1月は6日も経ったのか......早い。卒論もあるし, 気を抜かずにほどほどにやっていこう。

# 1月5日

# やったこと

  • バイト
  • 面接
  • 以前PRを出したコードの修正

# 所感

今日は研究のコードを書いてないので, 明日は書きます。どうでもいいですが, 韓国語の母音を覚えました。

# 1月4日

# やったこと

  • 昨日のハンズオンまとめ
  • インターン申し込み
  • Webページ実装(よさげ?) -- graphbizが強い #image(snip.PNG)

# 所感

何とかCFG出来た?(おそい)ついに明日からバイト再開なんですが, 土曜日から緊急事態宣言が再発される予定らしいので, また打ち止めかな...... 耐えねば

# 1月3日

# やったこと

  • cfggrindのコンテナ内実行の検証
  • portfolioの整理
  • マルウェア解析ハンズオン参加

# 所感

二度寝を防ぐために, 起きた時の挙動を確認してから寝たら上手く起きれた 朝活で論文を読めたけど, あまり頭が回っていなかった気がする 週間化したら良くなるんだろうか ひとまず3日は続けてみる

# 1月2日

# やったこと

  • cfggrindの実行とコンテナ内実行の検証
  • Webサービス化の検討と実装(途中)

# 所感

見事に二度寝した。布団の中では起きていたはずなのに...... 朝二度寝しない良い方法って何かないのかな?あれば教えてください

# 1月1日

# やったこと

  • Constructing Precise Control Flow Graphs from Binariesを読んだ
  • [[cfggrind:https://github.com/rimsa/CFGgrind]]を試した
  • 今後の計画を立てた

# 所感

新年ということで久々に浮上。進捗が出てないとつい潜ってしまうよね。締め切りまであと少しなので, ある程度区切りをつけていきたいところ。

# 12月21日

# やったこと

  • アプリケーションAPIの実装
  • 技術書執筆

# 所感

久々の更新。色々あって更新測度が落ちていますが, 生存はしてました。外部で実装しなくてはならないものがあって, それに3日くらいかかってしまいました。 一区切りついたので研究の実装しなきゃ。きつい......

# 12月17日

# やったこと

  • ゼミ
  • Go Specification輪読会
  • aff4の解析
  • アンケートの回答

# 所感

昨日の日報を書くのを忘れてました。水曜日って何かとだらけてしまうの良くないね。もう木曜日か, はやいね。

# 12月15日

# やったこと

  • バイト
  • gdbとの戯れ

# 明日やること

  • 健康的な生活
  • 輪講
  • 教授とお話

# 所感

最近生活習慣がぶっ壊れてきたので, 今日はそろそろ寝ます。明日は輪講があるけれど, あれ, 進捗さんどこですか。

# 12月14日

# やったこと

  • 輪講
  • イベントデイ -- 1/30, 31に向けたビデオ作成を頭の片隅に置いておいて
  • Toshihiko Ichitaniさん -- DX推進を最近やられている方 -- [[WHY,HOW,WHATのゴールデンサークル:https://koicpa.com/management/golden-circle/]] -- 1人で出来ることは限られる(知識も経験も) -- 学び, 経験を交換できるのがコミュニティなので, おススメ -- ''コミュニティ運営において, 失速してきたらゼロになる前に行動量を落とすことが大事'' -- アジャイルの良いところは, フィードバックをすぐに受けられるので, 早い段階で間違いに気づけること -- 最近は仮説検証を開発前に入れる仮説検証型アジャイル開発が流行り -- 両方を出来る人は少ないので, ''仮説検証と作成の両方が出来る人材を目指してほしい''
  • Kenji Aiko -- LINEのセキュリティエンジニア -- セキュリティエンジニアの仕事には種類があり,上の3つを担当されている --- 機密情報の保護 --- サービスの信頼性担保 --- ユーザの保護 --- 法的な問題 -- 稼ぎたいならGoogleがおススメ

# 明日やること

  • JACKSTRAWSの続きを読む
  • ひたすら実装

# 所感

輪講で他のトレーニーが進捗を出しに出していて, 私もやらないとと強く思った。 それに加え, イベントデイのお話が面白かった。特に愛甲さんのような, セキュリティ系だけどコードを書くエンジニアを目指していたので, 実際にそういうエンジニアがいたことを知れて嬉しかった。 LINEに行くかは別として, 候補に入れておきたいと思うのと, 直接愛甲さんとお話をしてみたいと思った。浅生さんにお願いしてみよう。

# 12月13日

# やったこと

  • 教職の同窓会参加
  • バイト
  • インターン申し込み

# 明日やること

  • イベントデイ参加

# 所感

進捗はない。今日の同窓会で, 「数学は論理で考えることも重要だけど, 絶対に暗記しなくてはならないものがあって, それを一緒くたに考えるのは良くないよね」と言う話がでて, 確かになと思った。明日のイベントデイ楽しみ。

# 12月12日

# やったこと

  • ゼミ
  • Holiday Hack Challengeのachivementsを8つゲット -- writeupの下書き

# 明日やること

  • 教職の同窓会参加
  • バイト
  • 論文読みの続き
  • インターン申し込み

# 所感

昨日の夜にHoliday Hack Challengeに気づいて朝の5時ごろまでやってしまった。昼過ぎまで寝てたのは良くなかったけど, 学べたことは多かったから良かったかな。
writeupをざっくり書いたので, これ以上はやりません。こういう日もあって良いかな。寝ます。

# 12月11日

# やったこと

  • バイト
  • 研究室で教授とお話
  • 本の貸し出し
  • 論文読み(1/4くらい)

# 明日やること

  • ひたすら実装
  • 研究室のゼミ
  • 論文読みの続き
  • インターンのES書き上げと提出

# 所感

論文が読み終わらなかった。まさか16ページもあると思わないじゃないか。
仕方がないので, 根幹の部分(Abstract, Conclusion, Backwardingについて, Generating Graph)のみをざっくり読んだ。 話が変わるが, バイト先で「このボット作って」って言われて5時間でほぼ実装できた。 昔はもっと時間がかかっていた気がするので, 成長を感じられて嬉しかった。

# 12月10日

# やったこと

  • 研究室のゼミ
  • 囲む会(BGM感覚で聞いてました)
  • Go SPecification輪読会
  • レポート作成

# 明日やること

  • バイト
  • 本の貸し出し
  • 教授とお話
  • 論文よみ(JACKSTRAWS)

# 所感

誕生日プレゼントで3本目の旗(Flag)をいただいた。嬉しい。 それと, 囲む会は初めて出たんが, 人生相談みたいになってて面白かった。 明日はバイトがあるので, 電車内でばりばり論文読むぞ。

# 12月9日

# 輪講メモ

  • 分岐箇所でスタックの値は見なくて良いの? -- jmp $raxみたいな場合は見る必要がある -- 精度を下げるならそれでも良い
  • 類似度を出す際に具体的な指標はあるの? -- ないです......検討します
  • プログラムの特徴抽出について -- データの流れている順番や構造を持っておくこと -- キーとなるデータを読み出すのも面白そう
  • 作ったCFGを比較する技術について -- 部分グラフに着目する -- 着目するAPIがbackward slicingで, 何かをする前に行っている処理 -- 特定のシステムコールが呼ばれた前の類似度を見る -- よく使われる機能をテンプレートとして持っておけば良さそう -- 機能に着目して, 類似度を計測するのもありっちゃあり
  • グラフ比較のアルゴリズムについて -- 類似問題を作ってTwitterで投げてみたら?
  • 実装のスケジュールについて -- 最終的にこれが出来る, ということを示して -- デモで魅せてる系が良く出るらしい -- 第一の目的(SecHackでの発表)と第二の目的(外部での発表)を一緒にせずに考えてね

# 所感

来週までにCFG生成の実装をするという言質を取られたので実装します。教育実習で止まっていたので, 今日から再開します。

# 10月24日

# 所感

今日も今日とて実習でした。日報ストリーク切れちゃったけど, 仕方ない。今日は思う存分寝るぞ。

# 10月23日

# 所感

今日は2日目の授業で, 昨日速いと言われていたのでゆっくりやったらゆっくり過ぎると言われました。難しい......というか最近強制的に朝型にさせられている気がする。

# 10月22日

# 所感

もはや日記です......本日初めて授業をして, レスポンスが返ってこない怖さを改めて知りました。レスポンスが無かったので, 生徒が理解しているのに何度も同じ説明をしてしまったのは良くなかったと思っています。体力的にも厳しいのでここらへんで寝ます。

# 10月21日

# 何もしてません

  • 教育実習で忙しいのでおやすみ

# 次にやること(以前のコピー)

  • anti-debug手法の実証(優先度低)
  • breakpointの立て方の実証(優先度中)
  • レジスタの書き換え方法の調査
  • LCS(Longest Common Subsequence)の実装(CFGが正しく生成できることを確認してから)

# 所感

教育実習2日目なんですが, 5:30起き20時帰宅がかなりキツくて, 教員って凄いなと改めて感じました。明日, 実習校での初授業日なので頑張ってきます。

# 10月20日

# intel-Pintool-CFGを実際に触ってみる

  • ''君のそのLinux versionじゃ動かないよ''と言われた😢 #image(nsip.PNG)

# 次にやること

  • 特に考えてない

# 所感

きついんですが, 習慣化というか使命感で何かやらなきゃならない気持ちになったのでオススメされたツールが使えないか確認してみました。一人でやってると続かない気がするけど, 誰かに見られてると思うと、応援されてる気がしてきてやる気になるね(?)

# 10月19日

# 進捗発表

# 概要

  • ''今の手法ダメっぽいです......''
    • そもそも計算能力が足りないらしい
  • 今までの手法の伝え方が下手だったのかな, というお気持ちがあって悲しくなってる
  • 次はどうしようかな, ひとまずそれっぽいCFG作って考えるか......

# コメントなど

  • 昔はsignatureを割とテキトーに決めていた
  • 別のプランを考えておいたら?
  • gdb, idaでやってみる?
  • デバッガを使って解くやつはダメらしい
  • 解く対象を局所化したら?

# やったこと

# 現状のLLDB APIに関するまとめ

  • LLDB APIに関するまとめをした

# 次やること

  • ちょっと休みます

# 所感

これは悲しい......今まで気づけなかったのが悲しい.......どうしよ, もう悲しくなっちゃった。寝る。😢

# 10月18日

# やったこと

# [[Anti-Debug: Assembly instructions: https://anti-debug.checkpoint.com/techniques/assembly.html]]

  • これを読んだ
  • ICEという命令を見たことが無かったので調べると, Intelのundocumented opcodeらしい。おもしろ
  • [[Undocumented OpCodes ICEBP:http://www.rcollins.org/secrets/opcodes/ICEBP.html]]
  • Windowsでの実証実験はまだ

# 昨日考えたbreakpointの立て方について

  • シンボル名 mainでbreakpointを立てたのちに, SBBreakpointを取得することは出来た
  • それを元に相対アドレスを取得できるかは確認できなかった

# 次やること

  • anti-debug手法の実証(優先度低)
  • breakpointの立て方の実証(優先度中)
  • レジスタの書き換え方法の調査
  • LCS(Longest Common Subsequence)の実装(CFGが正しく生成できることを確認してから)

# 所感

ふと思ったけど, LCSの実装をやってない理由はghidra scriptでCFG生成してた時にアセンブリ命令testが飛ばされている時があることに気づいてしまったからだった。そのため, ふと見返してみるとやってることは数か月前と変わってないのだよな, と思って悲しくなってしまった。「Ghidra scriptのCFG生成手法は欠陥があること」に気づくまで時間を要してしまったのは残念だけど, できないことが分かったことはいいことなのか?よく分からないけど, 引き続きCFG生成の部分を頑張ろう......

# 10月17日

# やったこと

# 新しいbreakpointの立て方の考察

  • 今まで直接のアドレス指定はできなかったため, 相対的なアドレス指定ができないか?
  • symbol_nameとしてmainを指定すると, mainシンボルのbreakpointはたてられた
  • ということは, main関数をbase addressとして取得して相対的にbreakpointを立てたらどうか?と考える

# 次やること

  • 今日の続き

# 所感

昨日, 「明日やろう」と言っていたんですが, 今日は友人の誕生日会とバイトだったので, あまり時間が取れませんでした。そのため, 電車内でアイデアを考えていたのですが, 相対的にアドレス指定ができないか, という発想になった。これができないかは実装できそうなので, 明日試してみようと思います。

# 10月16日

# やったこと

# Address指定のbreakpointの立て方の検証

  • target.Launch時にstop-at-entryオプションを付けられるらしいので, それを付けた
  • 実行時に変化は見られないので, もう少しコードを書いてみる

# 次やること

  • 今日の続き

# 所感

上手く行かなくてだらけてしまった。今日はもう時間が無いので, 明日早起きして続きをやろう。こういう日もあっていいでしょ?というお気持ち

# 10月15日

# やったこと

# より良いソースコードの調査

  • [[tracer:https://github.com/bibhas/tracer]]
  • こちらの方がソースコードとしてきちんとしてそう
  • [[ここ:https://github.com/bibhas/tracer/blob/master/src/lldb_tracer/tracer.mm#L19-L26]]でTarget内のModuleをGetModuleAtIndex()で取得し, module.FileSpec()でFileSpecを得て, fileSpec.GetFileName()でmodule名が等しかったらそのモジュールを返しているらしい
  • その後, モジュールのFileAddressをresolveしてBreakpointCreateBySBAddress()を呼んでいる
  • どうにかしてアドレスをSBAddress型として取得する必要がありそう
  • ''lldb::addr_tは, [[0x......:https://github.com/bibhas/tracer/blob/master/src/lldb_tracer/tracer.mm#L99-L100]]の形式で書けることが分かった ''
  • これはヒントに, 具体的な16進アドレスをlldb::addr_tとして扱ってSBAddressのインスタンスを作れないだろうか

# 次やること

  • 新しいtracerの実装を見ながら小さなコードを書いてみる
  • Address指定のbreakpointの立て方の検証

# 所感

今日はバイトがあったのであまり時間が取れなかった。ソースコードすら書けなかったけど, ひとまず手は動かすべきだと思い, 情報収集のみをやった(30分くらいだけど......)。調査していると, lldbを用いたtracer(デバッガではないの?)という名前のものが多かった, どういう違いがあるんだろうか、よく分からないね。明日は手を動かしたいお気持ち。

# 10月14日

# やったこと

# lldb::SBTarget::BreakpointCreateAddress()の実装確認

  • やっとBreakpointCreateByAddress()の実体を見つけた
  • [[lldb:https://github.com/llvm-mirror/lldb]]に実装があった

{code} SBBreakpoint SBTarget::BreakpointCreateByAddress(addr_t address) { LLDB_RECORD_METHOD(lldb::SBBreakpoint, SBTarget, BreakpointCreateByAddress, (lldb::addr_t), address);

SBBreakpoint sb_bp; // std::shared_ptr<lldb_private::Target> TargetSP target_sp(GetSP()); // Target Shared Pointer

// shared_ptrをロックしてCreateBreakpoint(address, false, hardware)を呼ぶ if (target_sp) { std::lock_guardstd::recursive_mutex guard(target_sp->GetAPIMutex()); const bool hardware = false; sb_bp = target_sp->CreateBreakpoint(address, false, hardware); }

return LLDB_RECORD_RESULT(sb_bp); } {/code}

# 参考になるかもしれないコード

  • [[tracer:https://gist.github.com/nkaretnikov/75c8a0b814246b322d562e7333eb4ba9]]

# SetAsync(false)について

  • これは非同期でデバッガを走らせるらしい
  • trueにすると同期になる?よくわからんぽす
  • stackoverflowでググったらいい感じの記事が出てくるよ

# 次やること

  • tracerをC++ APIに少しずつ置換して実行
    • tracerがPython versionだから, あまり役に立たないかも...?
    • 本人も納得してない部分もあるっぽい
  • [[この手法:https://hackmd.io/d5vfllvJQmS8dI4gbWx5KA?view]]の実装

# 所感

APIの実装見るの大変すぎる。ライブラリ書いてる友人に教えてもらいながら, 読み方を少し学んだ。明日バイトがあるので, 電車内で少し読んでみよう。

# 10月13日

# やったこと

# LLDB-10インタプリタを用いた時のbreakpointの作り方まとめ

  • [[実行したコマンドログ:https://gist.github.com/task4233/e17a613e03cc1687f45b887c1ea8bb44]]

# breakpointが正しく立てられる時と立てられない時の比較

  • 正しくたてられている時は, (lldb) breakpoint listを実行したステータスが下記のように resolved になっている

{code} 1: address = test[0x0000000000000874], locations = 1, resolved = 1, hit count = 1 1.1: where = test`main, address = 0x0000555555554874, resolved, hit count = 1 {/code}

  • processをlaunch(run?)しないと, 下記の通り unresolved になっている

{code} 1: address = 0x0000555555554874, locations = 1 1.1: address = 0x0000555555554874, unresolved, hit count = 0 {/code}

# LLDB APIを使った際の実行順序の確認

  1. LLDB Debuggerクラスの初期化
  • [[lldb::SBDebugger::Initialize():https://lldb.llvm.org/cpp_reference/classlldb_1_1SBDebugger.html#a719937ed6cd25cb34c139b3f5bb3192d]] をコンストラクタに実装すると良さそう
  • [[lldb::SBDebugger::Terminate():https://lldb.llvm.org/cpp_reference/classlldb_1_1SBDebugger.html#a155ef470deaafdb590218faeb94ec514]] をデストラクタに実装すると良さそう
  1. LLDBデバッガインスタンスの生成
  • [[lldb::SBDebugger::Create():https://lldb.llvm.org/cpp_reference/classlldb_1_1SBDebugger.html#a28402e338c3c4024aa4bdb2d0956c4c5]]でlldb::SBDebuggerクラスのインスタンスを作成する
  • lldb::SBDebuggerクラスには[[IsValid():https://lldb.llvm.org/cpp_reference/classlldb_1_1SBDebugger.html#a70c4e16a5b2803a9fe875f3c8b169007]]メソッドが実装されているので, 正しく生成できたかを確認する
  • ちなみに大抵のクラスにはIsValid()メソッドが実装されている
  • debugger.SetAsync(false)を書いてる
    • 理由はよく分かってない(TODO)
  1. ターゲットの生成 -- [[debugger.CreateTarget():https://lldb.llvm.org/cpp_reference/classlldb_1_1SBDebugger.html#a0e423c608ce554a133d8611578da5f7f]]でlldb::SBTargetクラスのインスタンスを生成する
  • lldb::SBErrorクラスのインスタンスを引数として渡すことで, .Success()メソッドで生成できたかを確認する
  • lldb::SBTargetクラスのIsValid()メソッドで, ターゲットが正しく生成できたかを確認する
  1. Breakpointをシンボル名を元に作成する
  • lldb::SBTargetクラスの[[BreakpointCreateByName(const char# symbol_name):https://lldb.llvm.org/cpp_reference/classlldb_1_1SBTarget.html#a625fac40bf24710cfcd0dc621f52a5fb]]でbreakpointを生成する
  • 正しく生成できたかをIsValid()で確認する
  • breakpoint.SetCallback(callback, 0)で設定時に, 設定した内容を確認する
    • [[このリポジトリ:https://github.com/bibhas/tracer]]を参考にした
  1. Processをlaunchする
  • lldb::SBTargetクラスのLaunchメソッドでlldb::SBProcessクラスのインスタンスを取得する
  • 正しく生成できたかをIsValid()で(ry
  1. Breakpointに応じてスレッドの中身を見て逆アセンブルする
  • Breakpointが正しくたてられていれば, lldb::eStateStoppedで止まっているはず
    • lldb::StateType stateはlldb::SBProcessクラスの.GetState()で取得できる
    • ProcessStateの種類は[[こちら:https://lldb.llvm.org/cpp_reference/namespacelldb.html#a5ad6c9440a2dd278172c459db5398816]]を参照
  • Process -> Thread-> Frameの順に構造かされており, frame.Disassemble()で逆アセンブルできる

# 次やること

  • インタプリタで出来たことをAPIを使って実践する
  • debugger.SetAsync(false)の意味の確認
  • [[この手法:https://hackmd.io/d5vfllvJQmS8dI4gbWx5KA?view]]の実装

# 所感

アドレス指定する場合は, 一度実行しないとどのメソッドに属するかが分からないからlaunch processしなければならない?
LLDBの仕様では, 実行しなくともシンボル名は取れているのか?

ここから修正済み

# 10月12日

# やったこと

  • 過去に書いたLLDBのコードの確認
  • Breakpointをaddress指定で立てるには, launchProcess()を実施してからでないとNGなことは確認した(LLDBのインタラクティブシェルで確認済み)

# 次やること

# 所感

過去に自分が書いたコードを再度確認して, どこで挫折したかを再確認した。検証する部分が明確になったので, 再度その部分を調査していきたい。

# 10月11日

# やったこと

  • 中間発表のまとめ
  • 日報の作成
  • 習慣化トピで作っている方が多かったので真似してみました

# 次やること

  • CFG生成の部分の仕上げ
  • LCSにおける実装

# 所感

こういう習慣化系って重くしすぎると続かないので, 気軽に1日1行程度のお気持ちで続けていこうと思います。

Last Updated: 1ヶ月前