USBフラッシュメモリの自動マウントの設定で僕のArchlinuxが死んだ

講義資料をUSBフラッシュメモリで頂いたのだが、マウントがとても面倒くさいので自動でやってもらうようにしたかった

archLinux - Arch Linux USBオートマウントの設定 - Qiita

この通りにやったのだがマウント先で中身が見えない...

似たような人がいないかと探したらこんな記事があった

usbメモリーのファイルをarchlinuxで使いたい|えくすとらんのブログ

喜んで記事通りにインスコしたらArchlinuxが死んだ
飼い犬に手を噛まれるって感じだ

Udisks - ArchWiki

Devmonってクッソ強そうなの見つけたのでWikiを参照しながら

# sudo pacman -S devmon
# sudo chmod -s /usr/bin/udevil
# sudo systemctl enable devmon@muni.service (user:muni)

でシステム化してリブートすればThunarとかで自動的に参照できるようになった

敏感なタッチパッドを何とかする

VAIO ProにArchlinuxを入れたのだが、タッチパッドが敏感すぎて作業に支障が出ていた

どうやらSynaptics TouchPadには手のひらセンサーなるものがあるらしい

Touchpad Synaptics - ArchWiki

最初はxorg.conf.d以下に設定ファイルを置いていたが、それでも誤反応起こしていたので
.xinitrcに設定を書き込んで対処した

- .xinitrc -
syndaemon -t -k -i 2 &
exec startxfce4

不感症になった

powerlineのfontpatcherで浪費した

powerline用のフォントをlightline.vimで使用したのだが、
Rictyだとサイズがガバガバでクソみたいな見た目になった

fontpatcherなるスクリプトRictyに適用させると良くなるっぽいので
lightline.vim で Ricty を使う - akishin999の日記
【個人メモ】powerline fontpatcher 別リポジトリになってたのでメモ - Qiita
先人に倣って(丸パクリ)やってみた

がダメ

Traceback (most recent call last):
  File "vim-powerline/fontpatcher/fontpatcher", line 105, in <module>
    for glyph in range(0x00, 0x17f) + range(0x2500, 0x2600):
TypeError: unsupported operand type(s) for +: 'range' and 'range'

Python3からrangeをlistで返さなくなったらしい

Python2で実行しようと思ったがクッソハマりそうなので、コードを書き換えて対応した

- vim-powerline/fontpatcher/fontpatcher -
for glyph in list(range(00x0, 0x17f)) + list(range(0x2500, 0x2600)):
(105行くらい)

Python関連クッソ辛い

gummibootでハマる

Arch LinuxWindows8.1のデュアルブートにgummibootを使おうと思ったら、勝手にWindows8.1がブートされるようになった
ググったら参考になりそうな記事を見つけた
Arch LinuxとWindows8.1をデュアルブートにしたときの備忘録 - make clean; make

よくわからないけどgummibootによってbootmgfw.efiが強制的に読み込まれているっぽい
記事の通りにbootmgfw.efiを書き換えて対処を行う

# cp /boot/EFI/Microsoft/Boot/bootmgfw.efi /boot/EFI/Microsoft/Boot/bootmgfw.efi.org
# cp /boot/EFI/gummiboot/gummibootx64.efi /boot/EFI/Microsoft/Boot/bootmgfw.efi

これだけだとwindows8.1が起動しないのでwindows8.1用のエントリーを作る

# vim /boot/loader/entries/windows.conf

- /boot/loader/entries/windows.conf -
title    Windows8.1
efi      /EFI/Microsoft/boot/bootmgfw.efi.org

gummibootの利点が死んでいるのでぶっちゃけgrub使ったほうがいい
おわり

TDUCTFに参加した話

3/29渋谷セルリアンタワーで行われたTDUCTFに参加してきましたconnpass.com
前回の学内向けCTFにも参加しましたが、今回はそれ以上の規模で行われていて主催のnomukenくんの頑張りがとっても伝わってきました
また会場のセルリアンタワーがとてもきれいで興奮していたのを覚えております

さてWriteUpについてなのですが...
私は今回問題をあまり解けていません
そのためこの記事はそういったものはほぼありませんのでご了承ください

今回の問題で一番印象深いのはバイナリ問題の'おきてる(?)'です
pcapファイルなのにWiresharkで開いてもFLAGにはたどり着けない、まさにジャンルを確認しなさいって問題でした

しかしまぁ、この問題相当考え込まれているなと思うわけですよ
常套手段のstringsコマンドをただ使うだけではFLAGにたどり着けません

f:id:muni_sys:20150331232937p:plain

FLAGは各三文字以下に断片化されていて、stringsコマンドの"4文字以上の文字列を出力"をうまく掻い潜っています

断片化されているのが気が付ければ

# strings -n 3 question.pcap

こんなコマンドで

f:id:muni_sys:20150331233704p:plain

あっさり解決するんですけどね(それでもまだ最後の数文字がはじかれている)

これをsubmitするにあたってバイナリを眺めることが必要不可欠となります
Windowsには優秀なバイナリエディタ'Stirling'がありますので、それを使ってバイナリを眺めるのもよいでしょう

でもなんというか、ただバイナリを眺めるのではなく...
可読性をもうちょっとあげられるような、そう置換など即時編集できるような手軽なアプリケーションがあれば...

そんな"我が同胞"におすすめのアプリケーションが
vim

このきじのほんだい

  • vimを使ってバイナリの可読性をあげよう
  • バイナリアンに殴られそうな強引なアプローチがあります
  • 宗教戦争には関与いたしません

バイナリエディタとしてのvim

linuxのコマンドでxxdがあります

f:id:muni_sys:20150401000813p:plain

このコマンドはファイルを16進数表記にして表示させることができるのですが、
vimでもこのコマンドがあったりします

まずは見たいファイルを

# vim -b question.pcap

こんな感じでvimで開いて

f:id:muni_sys:20150401001100p:plain

:%!xxd

このコマンドを使えば

f:id:muni_sys:20150401001241p:plain

こんな感じで表示できます
もちろんアドレス部を編集すれば内容に反映されますし、アドレス検索も簡単に行えるのでバイナリエディタと同じように扱えます

このままだと「煩わしいピリオドね!」って感じでクッソ見辛いですね...
だったら大胆に置換しちゃいましょう!

:%s/[.]/ /g

f:id:muni_sys:20150401003345p:plain

見るだけだったらアドレス部もいらないのでビジュアル短形でアドレス部を範囲選択し消してあげればもっと見やすくなります

f:id:muni_sys:20150401003631p:plain

ここまでやったらあとはいらなそうな行をばっさばっさ切っていくだけなので、正規表現を用いてがしがし削っていきます

:v/\v[a-zA-Z0-9}{_]{3}/d
-----
:v/xyz/d xyzを含まない行の削除
\v very magic(正規表現で使われる記号の有効化)
-----

f:id:muni_sys:20150401004354p:plain

とっても見やすくなりました
やっぱりvimは最高やな!

というわけで今回はvimでこんなこともできるよっていう紹介でした

我が同胞に告ぐ!