備忘録

備忘録

2019-01-01から1年間の記事一覧

Squid で複数IPアドレスをランダムに変化させる方法

Ⅰ. はじめに Ⅱ. やり方1 1. 以下ファイルを編集する 2. Squid を再起動する 実行結果 Ⅲ. やり方2 Ⅳ. やり方3 参考 Ⅰ. はじめに タイトルの通り「Squid で複数IPアドレスをランダムに変化させる方法」です。 Ⅱ. やり方1 1. 以下ファイルを編集する /etc/squid…

CentOS7/8 で IPv6 アドレスを複数追加する方法

Ⅰ. はじめに タイトルの通り「CentOS7/8 で IPv6 アドレスを複数追加する方法」です。 Ⅱ. やり方 以下2つのIPアドレスを追加する例です。 1:2:3:4:5:6:7:8 1:2:3:4:5:6:7:9 1. 以下ファイルを編集する /etc/sysconfig/network-scripts/ifcfg-eth0 # 追加する…

Kernel Patch Protection(KPP) / PatchGuard(PG) を回避する方法

Ⅰ. はじめに タイトルの通り「Kernel Patch Protection(KPP) / PatchGuard(PG) を回避する方法」です。 Ⅱ. やり方 1. Shark をダウンロードする https://github.com/9176324/Shark/releases 2. Shark.sys を読み込む 3. Sea.exe を実行する 実行結果 省略 参…

InfinityHook を利用して Windows の syscall を hook する方法

Ⅰ. はじめに Ⅱ. やり方 1. clone する 2. コンパイルする 3. 実行する 実行結果 FAQ Q. hook できません。 参考 Ⅰ. はじめに Windows の syscall を hook するメジャーな方法は SSDT Hook です。 しかし、Windows にはカーネル領域の改ざんを検知する仕組み…

Windows カーネルドライバでプロセスメモリを読み書きする方法

Ⅰ. はじめに タイトルの通り「Windows カーネルドライバでプロセスメモリの読み書きをする方法」です。 Ⅱ. サンプルプログラム https://github.com/kagasu/KMMM 実行結果 ① プロセスメモリの読み込みに成功し、「value 100」が出力された ② プロセスメモリの…

自己デジタル署名されたドライバをテストモード無効状態で実行する方法

Ⅰ. はじめに 自己デジタル署名されたドライバは通常「テストモードとして起動したWindowsのみ」実行できます。 テストモード無効のままドライバを実行したい場合は、有効なデジタル署名を証明機関から購入し、デジタル署名をする必要があります。この記事で…

Windows Kernel Driver で HelloWorld する方法

Ⅰ. はじめに Ⅱ. やり方 1. Windows Driver Kit(WDK) をインストールする 2. Kernel Mode Driver, Empty(KMDF) の新規プロジェクトを作成する 3. サンプルプログラムを書く 4. 実行する 実行結果 FAQ Q. 以下のメッセージが表示され、ドライバの実行ができな…

Windows をテストモードとして起動する方法

Ⅰ. はじめに タイトルの通り「Windows をテストモードとして起動する方法」です。 Ⅱ. やり方 1. BIOS でセキュアブートを無効化する 2. 以下のコマンドを実行する bcdedit -set TESTSIGNING ON 3. Windows を再起動する 実行結果 参考 https://docs.microsof…

Wireshark で列にコメントを表示する方法

Ⅰ. はじめに タイトルの通り「Wireshark で列にコメントを表示する方法」です。 Ⅱ. やり方 1. 表示→設定をクリックする 2. 画像のとおり設定を行う 実行結果 留意点 日本語は利用できません。 ※Wireshark 3.0.7 で確認

.NET Core アプリを systemd を利用してサービス化する方法

Ⅰ. はじめに Ⅱ. やり方 1. ユニットファイルを作成する 2.起動する 実行結果 ログの表示 留意点 ASP.NET Core について 参考 Ⅰ. はじめに タイトルの通り「.NET Core アプリを systemd を利用してサービス化する方法」です。 「ASP.NET Core」 または 「.NET…

VMWare に macOS をインストールする方法

Ⅰ. はじめに タイトルの通り「VMWare に macOS をインストールする方法」です。 Ⅱ. やり方 https://archive.is/1aw8t その他 VMWare Toolsについて unlocker/gettools.exe を実行すると最新のVMWare Tools(darwin.iso) が入手できる 解像度変更について sudo…

crontab -r を無効化(使用禁止)する方法

Ⅰ. はじめに タイトルの通り「crontab -r を無効化(使用禁止)する方法」です。 Ⅱ. やり方 1. ~/.bashrc に以下一行を追加する ~/.bashrc crontab () { [[ $@ =~ -[iel]*r ]] && echo '"r" not allowed' || command crontab "$@" ;} 2. 反映させる source ~…

Thread Hijacking を利用して他プロセスの関数を呼び出す方法

Ⅰ. はじめに タイトルの通り「Thread Hijacking を利用して他プロセスの関数を呼び出す方法」です。 Ⅱ. サンプルプログラム x86とx64に対応しています https://github.com/kagasu/ThreadHijacking

ゲームエンジンを特定する方法

Ⅰ. はじめに Ⅱ. Unity の場合 オープンソースライセンス表記から特定する Assembly-CSharp.dll が存在している libil2cpp.so が存在している libmono.so が存在している libunity.so が存在している global-metadata.dat が存在している Ⅲ. Cocos2d の場合 …

ASP.NET Core 3.x + Vue.js で HelloWorld する方法

Ⅰ. はじめに 「やり方1」と「やり方2」の違い やり方1 のメリット やり方1 のデメリット やり方2 のメリット やり方2 のデメリット Ⅱ. 前提条件 Ⅲ. やり方1 1. ASP.NET Core の新規プロジェクトを作成する 2. Vue の新規プロジェクトを作成する 3. ファイル…

Google Photos にAPI経由でアップロードする方法

Ⅰ. はじめに タイトルの通り「Google Photos にAPI経由でアップロードする方法」です。※公式ドキュメントに無い非公開APIを利用します。 ※全て自己責任で利用して下さい。 Ⅱ. サンプルプログラム https://github.com/kagasu/GoogleDrive

Go でクロスコンパイルする方法

Ⅰ. はじめに タイトルの通り「Go でクロスコンパイルする方法」です。 Ⅱ. やり方 1. 環境変数を設定する SET GOOS=linux SET GOARCH=arm 2. ビルドする go build 実行結果 $ wsl file gdrive gdrive: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV…

Windows 10 で CrashDumps ファイルを自動作成させない方法

Ⅰ. はじめに アプリケーションが異常終了した場合自動的にダンプファイルが生成される場合があります。 この記事ではダンプファイルを自動作成させない方法を紹介します。 Ⅱ. やり方 1. 以下コマンドを管理者権限でコマンドプロンプトで実行する reg add "HK…

Windows で grep する方法

Ⅰ. はじめに Ⅱ. 方法1 1. grep(find)する Ⅱ. 方法2 1. PATH に以下ディレクトリを 追加する 2. grep する Ⅲ. 方法3 1. WSL をインストールする 2. grep する 参考 Ⅰ. はじめに タイトルの通り「Windows で grep する方法」です。 Ⅱ. 方法1 Windows 標準の fi…

Arduino にスケッチが書き込めなくなった時の対処法

Ⅰ. はじめに この記事の内容はブートローダが壊れていない場合のみ実行できます。 Ⅱ. やり方 1. 素早くリセットボタンを2回押す ボタンがない場合、REST と GNDを素早く2回ショートさせる 2. 約8秒間認識される 3. 2の間に任意のスケッチを書き込む 4. 書き…

WOW64 syscall をhookする方法

Ⅰ. はじめに タイトルの通り「WOW64 syscall をhookする方法」です。 Ⅱ. サンプルプログラム https://github.com/kagasu/WOW64SyscallHook 参考 https://github.com/mq1n/Wow64SyscallHook http://www.codereversing.com/blog/archives/243 http://www.coder…

Ubuntu で nginx + php-fpm の環境を用意する方法

Ⅰ. はじめに タイトルの通り「Ubuntu で nginx + php-fpm の環境を用意する方法」です。 1. nginx をインストールする sudo apt install -y curl gnupg2 ca-certificates lsb-release ubuntu-keyring curl https://nginx.org/keys/nginx_signing.key | gpg -…

ML.NET Model Builder を利用して画像分類のモデルをコードを一切書かずに作る方法

Ⅰ. はじめに Ⅱ. やり方 1. ML.NET Model Builder をインストールする 2. プロジェクトを右クリックし、Machine Learning を選択する 3. シナリオ(Scenario)で画像分類(Image Classification)を選択する 4. 学習対象の画像フォルダを選択する 5. Train を…

C++でJSONを扱う方法

Ⅰ. はじめに タイトルの通り「C++でJSONを扱う方法」です。ライブラリは cereal を利用します。 cereal は JSON 出力だけでなく、XMLやバイナリ出力にも対応しています。 Ⅱ. やり方 1. vcpkg で cereal をインストールする vcpkg install cereal 2. サンプル…

PowerShell でプロセス名からプロセスIDを取得する方法

Ⅰ. はじめに タイトルの通り「PowerShell でプロセス名からプロセスIDを取得する方法」です。 Ⅱ. やり方 (Get-Process -Name notepad).Id Ⅲ. 実行結果 参考 https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/get-process

Qt でスタイルシートを適応する方法

Qt

Ⅰ. はじめに タイトルの通り「Qt でスタイルシートを適応する方法」です。この記事では例として ColinDuquesnoy/QDarkStyleSheet を適応する方法をまとめます。 Ⅱ. やり方 1. git clone する git clone https://github.com/ColinDuquesnoy/QDarkStyleSheet 2…

Qt + VisualStudio2019 + C++ で HelloWorldする方法

Ⅰ. はじめに Ⅱ. やり方 1. Qt5 のインストーラをダウンロードする 2. Qt5 をインストールする 3. 「MSVC v141 VS 2017 C++ x64/x86 ビルドツール」をインストールする 4. Qt Visual Studio Tools をインストールする 5. Qt Options から、Qtのディレクトリを…

adb shell で root 権限でコマンドを実行する方法

Ⅰ. はじめに タイトルの通り「adb shell で root 権限でコマンドを実行する方法」です。 Ⅱ. やり方 root 権限で hoge.xml を削除する例 adb shell "su -c 'rm -rf /data/data/jp.co.domain/shared_prefs/hoge.xml'" 参考 https://android.stackexchange.com/…

C# で CA1063 が出ないように IDisposable を実装する方法

C#

Ⅰ. はじめに タイトルの通り「C# で CA1063 が出ないように IDisposable を実装する方法」です。 Ⅱ. サンプルプログラム public class MyClass : IDisposable { #region Dispose public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } prote…

react-bootstrapとreact-router-domを同時に使う方法

Ⅰ. はじめに タイトルの通り「react-bootstrapとreact-router-domを同時に使う方法」です。 Ⅱ. やり方 1. 必要なライブラリをインストールする npm i -D bootstrap react-bootstrap react-router-dom react-router-bootstrap 2. ファイルを編集する src/main…