BioErrorLog Tech Blog

試行錯誤の記録

UbuntuにAtomをインストールする | Atom公式推奨の手順を読み解く

Atom公式の推奨する手順に従って、AtomをUbuntuにインストールしました。 結論を言うと、次の4行のコマンドを実行します。 $ wget -qO - https://packagecloud.io/AtomEditor/atom/gpgkey | sudo apt-key add - $ sudo sh -c 'echo "deb [arch=amd64] https…

はじめてのWebスクレイピング | ブログ投稿曜日を分析する

はじめてのWebスクレイピングに挑戦しました。今回は手始めに、自分のブログの曜日ごとの投稿数を分析します。 はじめに 作業環境 ブログ投稿曜日を分析する Wgetコマンドとは -r オプション | 再帰的にリンクをダウンロードする -w オプション | ダウンロー…

gdbをデフォルトでintel記法にする | 初期化処理の仕組み

gdbシンタックスをデフォルトでintel記法にする方法と、その仕組みを調べます。 はじめに 作業環境 gdbをデフォルトでintel記法にする ホームディレクトリ直下で".gdbinit"にコマンドを書き込む "."からはじまるドットファイルの意味 gdbドキュメントから調…

Pythonで鍵生成 - Keygen | リバースエンジニアリング入門#7

鍵生成プログラムKeygenをPythonで作成します。 まずはradare2を用いてパスワード認証アルゴリズムを解析し、それを開くことができるKeygenを作成しました。 はじめに 作業環境 Pythonで鍵生成 radare2でアルゴリズムを解析する forループの特定 forループの…

パスワード認証の暗号化 | リバースエンジニアリング入門#6

ASCII値の合計を比較する簡単な暗号アルゴリズムを用いて、自らリバースエンジニアリングするためのパスワード認証プログラムを作成します。 はじめに 作業環境 パスワード認証の暗号化 簡単な暗号アルゴリズム 正規パスワードの合計ASCII値を算出する パス…

radare2の使い方 | リバースエンジニアリング入門#5

radare2のインストール方法から簡単な使い方までを記録しました。 直感では使いにくい面も感じましたが、使い慣れれば強力な武器となってくれるでしょう。 はじめに 作業環境 radare2の使い方 radare2をインストールする radare2を起動する radare2の使い方…

ハードコードされたパスワードを読み出す | リバースエンジニアリング入門#4

stringsコマンドやobjdumpコマンドを用いて、プログラム中の正規パスワードを読み出す方法の記録を残します。 はじめに 作業環境 ハードコードされたパスワードを読み出す コード中の文字列からパスワードを読む | strings .rodataセクションからパスワード…

レジスタ操作でアクセス承認を引き出す - gdb | リバースエンジニアリング入門#3

gdbを用いてプログラムの各ステップを解析・操作することで、アクセス承認を目指します。 はじめに 作業環境 レジスタ操作でアクセス承認を引き出す プログラムの実行 | 第1分岐 - ハズレルート プログラムの実行 | 第1分岐 - 当たりルート プログラムの実行…

逆アセンブル解析 - gdb | リバースエンジニアリング入門#2

gdbを用いてバイナリコードを逆アセンブル (ディスアセンブル)し、Cで書かれたプログラムの全体像を解析します。 はじめに 作業環境 逆アセンブル解析 gdbとは アセンブラコードを表示する | (gdb) disassemble アセンブラコードの流れを解析する おわりに …

Linuxコマンドまとめ | 使用例とマニュアル

おはよう。@bioerrorlogです。 Linux基本コマンドを一覧でまとめていきます。 ネット上には良質なLinuxコマンドのまとめがたくさんありますが1、自分が覚えておきたいコマンドの一覧は、やはり自分で作るしかありません。 備忘録としてまとめます。 基本コマ…

パスワード認証プログラムの作成 | リバースエンジニアリング入門#1

パスワード認証プログラムを作成し、それを自らリバースエンジニアリングしてアクセス承認を引き出したいシリーズのpart1です。 今回は下準備として、今後解析していくための簡単なパスワード認証プログラムを作成しました。 はじめに 作業環境 パスワード認…

はじめてのPython | Windows環境構築 - Atom

WindowsでPythonプログラミングを始める環境構築をしたので、ノートを残します。 Pythonを公式ページからダウンロードし、 テキストエディタのAtomをインストールしました。 はじめに Python - Windows環境構築 Pythonのインストール Atomのインストール Ato…

LinuxではじめてのC言語を実行する | vim + gcc

Linux (Ubuntu) + vimでC言語を実行する環境構築手順をまとめます。 はじめに 作業環境 LinuxでC言語を実行する vimのインストール vimでテキストの作成 gccのインストール/コンパイル ファイルの実行 パッケージのアンインストール おわりに 参考 はじめに …

manコマンドの基本的な使い方を理解する | Linuxコマンド

manコマンドの基本的な使い方を整理します。 はじめに manコマンドの基本的な使い方を理解する manの使い方の初歩 マニュアルのセクションを指定する マニュアルを検索する manページ内を検索する おわりに はじめに こんにちは、@bioerrorlogです。 manコマ…

パーミッションを理解する | [ ls -l ] Linuxコマンド

パーミッションとは、ファイルやディレクトリへの操作権限のことです。 今回、Linuxでのパーミッションの調べ方を記録しました。 はじめに パーミッションを理解する パーミッションとは パーミッションの調べ方 | ls -l おわりに はじめに おはよう。@bioer…