よもぎのメモ帳

備忘録的な感じで技術的なことをストックしていきます。

CTFの勉強会の振り返り part1

策略本の勉強会 part1

f:id:y0m0g1:20180620165201p:plain
社畜ちゃん台詞メーカーより

この勉強会ではHacking:美しき策謀 第2版 ――脆弱性攻撃の理論と実際を参考書として、輪講(のようなもの)をしていきます

オライリー・ジャパンの公式サイトから配布されているサンプルコードを用いてやっていきました。

gdbと触れ合う

初回(2018/06/13)ではgdbとふれあいました

続きを読む

Ubuntu16.04でradare2をインストールする方法(まとめ)

f:id:y0m0g1:20180531123658p:plain

はじめに

このエントリは前に書いたことのまとめ的エントリです。

y0m0g1.hatenablog.com

セキュリティコンテストのためのCTF問題集 | マイナビブックス←この本の問題を解くのにあたってradare2を使うのですが、 インストールの仕方は本になく、ぐぐってもビシッと決まるものがなかったのでまとめてみました。

私の環境

実行ファイルが32bit ELFなので32bit linux環境が必要です。ということで

何が問題か

普通にsudo apt-get install radare2を実行すると、radare2 0.9.6がインストールされます。

しかし、これだと使いたいコマンドが使えません。radare2のバージョンが古すぎるからです。

手順(本題)

ubuntu のtesting パッケージからのインストールを認める

unstable/testingパッケージであれば、新しいバージョンが提供されているみたいです。具体的には2.4.2。

$ sudo vim /etc/apt/sources.list
[+] deb http://ftp.jp.debian.org/debian testing main contrib non-free
[+] deb-src http://ftp.jp.debian.org/debian testing main contrib non-free 

こんな感じで2行追加してください。vimが立ち上がるので気をつけて。Iで挿入モード、Esc->:wqで保存して終了

sudoでアップデート

sudo apt-get install radare2

でアップデートしてください。途中で「安定版じゃないけどインスコする?」(意訳)でいつもより一回おおく聞かれるのでYで進む。

そうするとインストールされます。

sources.listをもとに戻す

ほかはtestingパッケージいらないので、sources.listに追加した二行を#でコメントアウトします

参考文献

poppycompass.hatenablog.jp

radare2のインストールで詰んでた話

まえがき

f:id:y0m0g1:20180521225907p:plain

社畜ちゃん台詞メーカー

どうも皆さんこんにちは、よもぎです。Twitterアカウント新しく作ったので良かったらどぞ(@ctyomogi)。ちょもぎに名前を変えようかしら。

新しくパソコンを買いまして、ゲーム勉強がはかどっている日々ですが*1、おかげさまで仮想マシンを用意できる様になったぞい!やったね! 潤沢なHDD容量を手に入れ、もううはうはです。

追記 (2018/10/22)

このエントリは体験記みたいな感じになってしまいました。 手っ取り早く知りたい人はこちらをどうぞ

y0m0g1.hatenablog.com

なぜ仮想マシンを?

SECCON beginners CTF 2018の開催が決定されたこともあり、ぼちぼちCTFのお勉強を勧めているのですが、自力でオンラインの問題で解くのは割と無理が出てきてしまいました。

そこで、CTF問題集にチャレンジしてみよう!となったのが数週間前の話。*2

*1:実際ははかどっていない

*2:まだ新しいPCを買っておらず、ノートPCの容量はかつかつのとき

続きを読む

Javaを思い出している話

はじめに

どうも、Javaプログラム歴6年*1よもぎです。

世間では「やばたにえん」という言葉が流行っているようですね。実験レポートやばたにえん

何回か勉強をしてきたのですが、ここしばらくは 浮気して サボってしまって*2、すっかり書けなくなってしまった……*3 ので、また改めてお勉強し直しています。

どんなことをしているのかについてこのエントリで触れていきたいと思います。

f:id:y0m0g1:20180510093941p:plain社畜ちゃん台詞メーカーより

why Java?

また勉強したきっかけは、ざっくり言えば競技プログラミングに挑戦*4してみたかったから。

いんたーんのイベントにて、某m社のエンジニアの方とお話したときに

競技プログラミングするといいよ

と伺ったので、お、するか~って思いました。が、アルゴリズムとか弱々なので蟻本とかで追々勉強しようと思います。

一応長く付き合っていて、まあ周りの人でやってる人少ないからJavaにしようかなと思ったわけです。

*1:少なくとも、6年前にはやっていた

*2:大学入ってからは Ruby->C->Pythonみたいにやってました。授業で

*3:Hello Worldすら怪しくなっていた

*4:無謀にもProに挑んでいくこと

続きを読む

SecHack365に申し込んだ件について

!▶このエントリは独り言に近い何かです

SecHack365に申し込みました

f:id:y0m0g1:20180420011629p:plain

締め切りギリギリになってしまいましたが、なんとか課題を提出し、SecHack365のプログラムに申し込みました。

ちょっと自分のレベルじゃ高すぎるハードルですが、超えてほしい、選考に通ってほしいという気持ちで今はいっぱいです。

あまりプログラムに応募して挑戦してみるといった経験がないのでドキドキですが……学部3年の今しかこういう事できないだろうなと思って、 BE BOLD とささやく心の中の自分と対話しながら応募に踏み切りました。

結果次第だけれどこのプログラムを知れて、セキュリティについて一回考えたり話たりする機会を得たのは幸せなことでした。

ただおそらく倍率10倍超えなんだよなあ、厳しい

表現駆動コースと思索駆動コースのどちらに応募するか迷いましたが、自分の普段の活動や強みは思索駆動コースがいいだろうということでそっちに申し込みました

続きを読む

EEIC@2Aの生活を振り返る その1

はじめに

f:id:y0m0g1:20180411151628p:plain

※画像は社畜ちゃん台詞メーカーより

eeic2018のよもぎといいます。電情です。無事に前期課程を終えて、B3になりました。さんねんせいです。学期が始まったばかりですが、 しんどい実験 充実した学科生活を送っています。

このエントリーでは一eeic2018民として、2Aの生活を振り返っていきます。 あくまでも個人の意見です。

ゆっくり見ていってね。その2が出るかはわからない。

#eeicはホワイト

受け入れ保留アルゴリズム*1をくぐり抜け、eeicへのきっぷを手に入れたeeic2018のみんな。「EEICはブラック」という噂が流れる中、ガイダンスと言って集められた僕たち。事件はそこでおこった!

時代は合計点→平均点へ

悪名高き*2合計点制度から、平均点制度への回帰がアナウンスされる。学科民に衝撃が走った。

先生は以下のように弁明する(だいたい)

かつてはeeicは平均点制度を採用していた。しかし”要領のいい”学生は、ほんの少しだけ履修をして効率的に平均点を向上させる。それは我々が意図しているものでなかった。

そこで我々は合計点制度を採用することにした。幅広い分野について履修を促そうと意図した。しかし、学生は「ほぼすべてを履修する」ことでそれに対応した。

ここでも、我々が意図しない流れになってしまった。これを踏まえ、合計95単位以上の取得を条件とした平均点制度とすることになった。

平均点制度になったとはいえ、依然として多めの履修が要求されます。たとえば、2Aは33単位以上取るのがおすすめだよ、との説明。*3  とはいえ、例えば弊大学の工学部生は卒業のために90~95単位の取得が要求される*4ので、突出してブラックかと言われるとそうではないと思う。

eeicはブラックか

この話題は度々学科民の議題になり、様々な意見が飛び交うのですが、僕の主観を交えて伝えていきます。この項では割とブラックと称される側面にスポットを当てていくかも

大学生活においてはわりと常識的か

基本的に授業は4限まで(水曜のみ選択科目で5限あり)、居残りとかはなしと考えると、常識的範囲内の学科生活だったと思います。金曜の3/4限にまたがる数学演習は、わりと早めに帰れる。

1限が多くてつらいという話があるけれど、中高の頃には当たり前の時間だったんだよな~と、割と自省して、って話。作ろうと思えば自宅受講で全休2日とか錬成できるらしい。

建築・都市・社会基盤あたりの本郷行ってた学科は、「終電ギリギリに乗った」「徹夜で大型橋模型の作業した」みたいなことをスポーツ感覚でつぶやいたりしていたし。 薬学部あたりは駒場祭期間中に中間試験やっていたような気がするけど気のせいだったかしら。あと法学部は試験つらそうだった。

人によっては、専門科目でない5限の授業も取っていたりしてすごいなと思いました。

教室は非人道的

学部・学科によって変わってくることですが、2Aの間はeeicは駒場オンリーでした。そして、eeic合わせて130人ほどいるので使える教室は限られていました。

まず椅子が硬い、そして狭い。基本的人権が尊重されていない感じなのですが、クッションの購入で回復します。僕はハンズで安売りしてたちっちゃいクッションを敷いていました。

夢見るのは3年以降で使う工学部二号館。 本郷は快適です。 ホントお尻が持たないし、11号館とか厳しすぎる。一番だめなのは525教室。 え? 5号館だからふかふかの椅子だろう? はっ倒すぞ☆

消えて無くならない課題の山

2Aでは(他の多くの学科がそうであるように)実験がありません。そこで僕たちを待ち受けたのは、暴力的なまでの課題の数でした。

多いときでは1週間に9科目で出ることもあったのではないでしょうか。そのため、

課題やった!→課題でた!→課題が減らない!

といった感じになります。といっても、例えば

  1. 授業中に終わるもの。情報演習系とか。
  2. 簡単なもの。書き上げるなら30分もかからないもの。 教科書の巻末回答を写すだけ*5

とあるので、見かけほど重くないかもしれないです。あとは、困ったこと・わからないことがあったら、同期に聞きまくれるのでそこは良かったです。まあ課題が多いことに変わりはありませんが。

中間試験多くない?www 
期末試験期間長くない?www

僕は7つ中間試験をやった気がする。大学に来たら中間試験って殆ど無いものかと思ってました。でもたくさんやりました。 期末試験は10科目だったかな?一番早くて1/7とか、遅くて2/6とかに試験をやったので、ほぼ一ヶ月間期末試験期間でした。(その間に授業やっていないとは言っていない)

弊学科の試験は割と「手書きA4で1枚のカンニングペーパー持ち込みあり」というやさしい (そのせいで、みんな詰め込んだカンペを作って作業量の割にシビアすぎるんだよ) 試験が多く、そのために単位を落とさずにやってこれました。 期末試験10日前にインフルエンザを発症し、8日間寝込んだおかげで強制的に一夜漬けだったけれど、なんとか乗り越えられたのは徹夜で詰め込んだカンペのおかげです。 ほんとうにありがとうございました。*6

卒研配属は点数の殴り合い

昔ある人が言いました。

この大学において、点数で殴れないものはない

卒研配属は、まあいろいろありますが、志望者数が多かったときには点数で殴り合います。厳しい世界です。ある程度人気のある領域に興味のある人は、点数を取りに行きます。人気のある領域なので、沢山の人がいます。

これは機械工学科の友人の言葉ですが、卒研配属が点数で決まる、明快なものだから良いのではと。学科によってはブラックボックスのところもあるらしいです。てかほとんどそうかもしれない。

情報系の授業は少ない

あくまでも工学部の"電気系”というくくりなので、電気のことが多いです。ただ、2Aの間はプログラミングあたりで3時限授業があったり、電気系の授業もあまり電気に特化しない基礎的な内容だったので、思ったよりはそこに不満はありませんでした。

この項はブラックかどうかの話にあまり関係ないですね。あとは起立・礼があるのも(もうなれてしまったけど)特徴的ですかね

eeicに来てよかったと思う

じゃあ悪いことばかりなんかというと、そういうことではないです。個人的に良かったなと思ったと思う点はいくつもあるのですよ。

講義がわかりやすい

電気系の先生方の教え方は基本的にわかりやすい。これは、他の学科の先生が担当した数学1Dであったり、前期教養課程の講義と比較するとはっきりとします。

「これからはみんな電気系の仲間だ、そういう意識で教員は君たちを歓迎する」みたいなことをガイダンスで行っていましたが、その歓迎が伝わってくる感じはしました。僕らはファミリー。

フーリエ変換の話は、いろんな先生が独自の視点から解釈の仕方を教えてくれたので、そこから自分にあう考え方を選べて良いと思いました。

先生の中には「食堂混むから早めに終わらすよ」だとか「学生の時全然わからなかったですよ」とか「iPadで板書を撮ってそこに書き込むのって賢いよね」とか、わりと学生への理解が良い先生が多かった印象もあります。

ただ、講義は高校時代を彷彿させるような座学メイン。かなりの授業でゴリゴリ板書していきます。

学科民に恵まれる

まわりを見ると、自分で学習を進める真面目な人が多く (ガチプロの巣窟) 、いろんな刺激を受けてます。わりと周りの環境って大事だと思うのですが、電気系は学内でも恵まれていると思います。

わからないところがあったりして、Twitterで呟くと、だれかが助けてくれます。ありがてえぇ

シケ対制度がしっかりしていて、学科としてサーバーを保持しており、例えば講義ノートが上がったり、課題の略解やヒントを上げてくれたり、過去問15年分あったり*7、助け合いとかはなっていると思います。めっちゃ助かりました。ありがとう、シケ対・ノー担のみんな。

イッタラーでも生きやすい

学科民、なんだかんだTwitter大好きです。僕も好きです。おかげで通信容量に占めるTwitterの割合は過半数行ったりします。

毎日、授業中つぶやいてもつぶやきたらないです。先生がわりとコンテンツを供給してくれるせいで、TLが止まることはありません。てか先生もTwitterで連絡してきたりする。

まとめ

進学選択で電気系を考えている人もいるんじゃないでしょうか。そのときに「eeicってブラックなんでしょ」って、何も調べずに避けちゃう人もいるのかもしれない、それは避けてほしいなと思いました。

結論:工学部は遍く程々にブラック。
eeicはブラック、は過去

あくまでも個人の意見なので、人によってはブラックと思うかもしれない。ただ情報系はどこ行っても辛い気がするのでキニスンナ。

長々となってしまいました。疲れてしまって、最後の方の文章息切れしてますが許してください。

さて実験レポやらなきゃな。

*1:ut生でも理解できない人続出の難解なアルコリズム

*2:先生方は「幅広い分野を履修してもらいたい」という意図がありました

*3:実際に筆者は18コマ/週、34.5単位取得

*4:工学部便覧を参照したところ

*5:さすがに写すだけ、なんてことは筆者はしていないです

*6:意識低くてごめんなさい

*7:この存在を教員陣は把握している模様

よもぎのための「レジスタのまとめ」

れじすたっておいしいの?

レジスタと言われても、それがどういうものかを知っている人は人口の1%程度だと思います。*1 もしもあなたの周囲で8割以上が理解しているのなら、人付き合いを見直したほうがいいと思いますね。*2*3

以下はWikipediaからの引用

レジスタ (コンピュータ) - Wikipedia

レジスタ(register)はコンピュータのプロセッサなどが内蔵する記憶回路で、制御装置や演算装置や実行ユニットに直結した、操作に要する速度が最速の、比較的少量のものを指す。

ここで気をつけたほうがいいと思うのは、レジスタは記憶装置というよりも演算装置の一部である、ということ。

記憶装置の説明の比喩として、”本”をデータに見立て、”本棚”がHDDやSSDなどの補助記憶装置、”机”がメモリなどの主記憶装置のようなものである、という説明があると思います。 ここに本を開く”手のひら”という場所を追加してみると、これにはCPU内部のキャッシュのようなもの*4。 そして本を読んでるときの内容を記憶する”脳”。これこそがレジスタ、ではないでしょうか。

ばしょ ひゆ はやさ おおきさ
レジスタ 速い 小さい
キャッシュ 手のひら
メモリ(主記憶装置)
HDD/SSD(補助記憶装置) 本棚 遅い 大きい

このレジスタに読み込んだものに対して、CPUの演算処理が働く、みたいな感じでしょうか。直接いじることが多いと思われます。

*1:ソースはありません

*2:むしろ残りの2割の付き合いを無くしていけとも

*3:真に受けないで

*4:補助記憶装置→主記憶装置→キャッシュの順でデータは行くと思うのであまり正しくない比喩かも

続きを読む