メモめもメモ

環境構築やプログラミングに関するメモ

2018-01-05から1日間の記事一覧

Python3でプロセスIDからプロセス名を取得する(WindowsAPI使用)

PythonからGetModuleBaseNameを呼び出し、プロセス名を取得します。 Windows APIを利用しているため、Windowsでしか動作しません。 コード import ctypes # 引数としてプロセスIDを与え、プロセス名を取得する def get_name_by_pid(pid): PROCESS_ALL_ACCESS…

C言語で文字列を逆順にするプログラム

C言語入門の宿題としてたまに見かけるお題です。 文字列の先頭と末尾から順に入れ替えを行っていきます。 下記のコードでは文字の入れ替えに排他的論理和演算を使っていますが、 char tmp; tmp = msg[i]; msg[i] = msg[len-1-i]; msg[len-1-i] = tmp;のよう…

rdtsc命令とcpuid命令を使ったVM検知

cpuid命令をVM(Virtual Machine, 仮想マシン)環境で実行すると制御が一時的にVMM(Virtual Machine Monitor, 仮想マシンモニター)へ移るので、 物理マシン環境と比べて実行速度が遅くなります。 そのため、cpuid命令の実行速度をrdtsc命令などで計測する…

Python3でISO 8601形式の時刻を取得する

現在のローカル時刻をタイムゾーン付きのISO 8601形式(YYYY-MM-DDThh:mm:ss±hh:mm)で取得します。 Python3.6からはnaiveなdatetimeオブジェクトもastimezone()を使えるようになりました。 import datetime # --- python3.3以降 --- utctime = datetime.dat…