2018-01-01から1年間の記事一覧
これはセキュリティツール系 Advent Calendar 2018 の25日目の記事です。 この記事では便利なIDAのプラグインを3つ紹介したいと思います。 findCrypt findCryptは暗号に使われる定数をgrepすることで、どんな暗号が使われているか判別するIDAプラグインです…
この記事は自作OS Advent Calendar 2018の21日目の記事です。 自作OSのアドカレなので、まずは作っているCPUエミュの話をしましょう。 CPUエミュを作っている話 そもそもなぜCPUエミュを作っているのかというと、 Golangで書かれたファミコンのエミュのコー…
Lighthouseとは Lighthouse とは、DBIツールでトレースすることで得たコードカバレッジデータを見やすくIDA内の独自のViewに表示し、IDAのDisassembly View、Graph ViewにマッピングしてくれるIDAプラグインである。 github.com DBI(Dynamic Binary Instrum…
RuboCopとは RuboCopはRuby向けのコードフォーマッターで、書いたコードがスタイルガイドに準拠しているかシュッとチェックできる。 github.com -aでauto fixすることができてとても便利であるが、 結構うるさいのでconfigである.rubocop.ymlを調整しないと…
Android/iOS端末、アプリについて取得したい情報があるとき、ついついAndroidやiPhoneの端末のUIからがんばってしまいがちだが、 コマンドでやると楽に取得できる。 そんなときに使える、Android/iOSアプリを開発するときや、解析するときに便利なコマンド、…
MagSafe 2のケーブルの皮膜が劣化して、中の電線が見える状態になったので熱収縮チューブで補修した。使い始めて5年なので寿命かな。 チューブをケーブルで巻いてはんだごてで温めるだけ。 手持ちの熱収縮チューブが見当たらなくて新しく買うことにしたけれ…
自作CPUエミュの動作確認をしているときに、Homebrewで入るNASMとaptで入るNASMの挙動が違うことに気がついた。 挙動の違いを見る 簡単なコードをアセンブルして違いを見る。 BITS 32 org 0x7c00 sub esp, 16 aptで入るNASM Ubuntuにaptで入るNASMを使って、…
LLVM IR、LLVM bitcodeを扱うコマンドをよく忘れるのでメモしておく。 CのコードをLLVM IR、LLVM bitcodeに変換するコマンド、LLVM bitcodeをインタプリタから実行するコマンド、コンパイルするコマンドなどを書いておく。 以下のCのコードを変換していく。 …
最近、LLVMに興味があって、いろいろ調べているうちにLLVMのPassのreversingの問題を見つけたので解いてみた。 write-ups-2017/0ctf-quals-2017/reverse/Choices-297 at master · ctfs/write-ups-2017 問題 All roads lead to Vegas. Compile: clang -Xclang…
11時20分くらいに着いたら整理券が1918番で結局入れたのは12時半ごろだった。予想以上に人が多い。 13時頃には200冊全部売れてよかったですね。 TomoriNao vol.2完売!!ありがとうございます!!!kindle版をよろしくお願いします!!!! #技術書典4— たけ…
rails 5.1.6 のアプリをrails 5.2.0にアップデートしたときに、いろいろハマったのでメモ。 rails側 rails側での作業メモ。 cannot load such file -- bootsnap/setup とりあえず rails app:updateしてみる。 route.rbなどは上書きしたらダメだけど、boot.rb…
技術書典4で TomoriNao vol.2 を頒布します!! 場所は「お16」です!!! techbookfest.org ぼくは、「アンチデバックのためのデッドコードをLLVM optimizerで緩和してみる」という題で書きました。 LLVMのパスを使った難読化/難読化緩和の研究がちょくちょ…
JSONを扱いやすくするコマンドのjq、gronのメモ。 jq コマンド jq コマンドはJSON向けのawkのようなコマンド。 インストール方法(on Mac) $ brew install jq 使い方 パイプで渡されたJSONデータにフィルターをかけることができる。 GitHub APIを使ってリポ…
株式会社はてなに入社しました株式会社はてなに入社しました - hitode909の日記
IDA 7.0が昨年9月くらいに出たので、IDA 6.xのプラグインはIDA 7.xに対応するべく更新する必要がありました。 更新されたAPIへの差し替え、32bitアプリケーションだったのが64bitアプリケーションになったことによる変更などなど.... www.hex-rays.com naoと…
Guardとは Guardはファイルに変更があったときに、タスクを走らせてくれるgemで、コードを変更したときに、静的なコードチェックをしてくれるRuboCopやRSpecで書かれたテストを実行させることができる。RuboCopやテストコードを随時走らせてコーディングして…
LLVM bitcodeとは LLVM内ではLLVM IRという中間言語表現が用いられる。 ソースコードをLLVM IRコードに変換したあと、そのLLVM IRコードをターゲットのアーキテクチャのバイナリに変換...という流れでコンパイルは行われる。 LLVM bitcode は LLVMの独自バ…
記憶の欠片に描いたnginx.confを見つめて 跡切れた想い出重ねる 変わらない夢に Oh 死んだHDD どれだけ涙を流せば 貴方を忘れられるだろう Just tell me my life 何処まで歩いてみても 涙で明日が見えない以上、X JAPANのRusty Nailの替え歌でした。www.yout…