備忘録

備忘録

Vue.jsでaxiosを使ってJSONデータを利用する

Ⅰ. はじめに タイトルの通り「Vue.jsでaxiosを使ってJSONデータを利用する」サンプルです。以下のJSONから [ { "name" : "name001" }, { "name" : "name002" }, { "name" : "name003" } ] 以下のように出力するサンプルです。 name001 name002 name003 Ⅱ. サ…

C#でDiscord BOTを作る

Ⅰ. はじめに Ⅱ. 環境 Ⅲ. echo botの作り方 1. BOTを作成する 2. 以下のURLに自分のBOTのClientIDを指定してアクセスして、BOTをDiscordチャンネルに招待する 3. NuGet から Discord.Net をインストールする 4. サンプルコード 5. 実行結果 Ⅰ. はじめに kagas…

DiscordでTwitterやSteamやブログRSSを通知するBOTを作る方法

Ⅰ. はじめに Ⅱ. やり方(Twitterの場合) Ⅲ. やり方(ブログやSteamニュース等のRSSの場合) 参考 Ⅰ. はじめに ・Twitterで誰かがツイートした時 ・ブログが更新された時 ・Steamゲームのニュースが更新された時 等、何か起きた時に自動的にDiscordで通知を…

.NET CoreでSystem.Drawingを使う

Ⅰ. はじめに System.Drawing は WindowsのGDI+に依存している為標準の.NET Coreで利用することができません。 解決策として CoreCompat.System.Drawing を使う方法を紹介します。 Ⅱ. Windowsの場合 1. NuGet で CoreCompat.System.Drawing をインストールす…

WindowsでPOCO C++をビルドして使う

C++

https://pocoproject.org/ Ⅰ. はじめに 「POCO C++」はモダンで強力なC++ライブラリです。 XML JSON Zip DB (SQLite, ODBC, MySQL) Foundation(基本機能ライブラリ Base64変換等) 等の機能があります。 Ⅱ. 1つづつビルドする方法 1. ソースコードをダウンロ…

Windows 10 ナビゲーションウィンドウの邪魔なフォルダを消す

Ⅰ.はじめに 私個人としては「ビデオ」「ピクチャ」「ドキュメント」といったフォルダは頻繁に使用しないため非常に邪魔です。 消し方 1. 以下のテキストをx.regという名前をつけて保存し、実行する。 Windows Registry Editor Version 5.00 ; Desktop [-HKEY…

C#でテンプレートマッチを行う

C#

Ⅰ. はじめに OpenCV3 のラッパーである OpenCvSharp の MatchTemplate メソッドを使ってテンプレートマッチを行います。 Ⅱ. サンプル スクリーンショットを取り、メモ帳のアイコンを探すサンプルです。 NuGet から OpenCV3 のラッパーをインストールする。 t…

Windows で touch を使う

Ⅰ. はじめに Windows に touch コマンドは存在しません。 Ⅱ. やり方 type nul > hoge.txtこれは以下のコマンドに相当します。 touch hoge.txt Ⅲ. 参考 https://web.archive.org/web/20150510181656/http://text.readalittle.net/article.php?id=244

C# で HMACSHA256を計算する

C#

string CalculateHMACSHA256(byte[] bytes) { using (var hmacsha256 = new HMACSHA256(key)) { var bs = hmacsha256.ComputeHash(bytes); return BitConverter.ToString(bs).ToLower().Replace("-", ""); } } // 出力例 // b248bb2b861e5efe1e5bea3722b19c6…

Photonの生パケットを読む

Ⅰ. はじめに 1. Photon とは クロスプラットフォームで動作する「ネットワークエンジン」です。 ドイツのベンチャー企業「Exit Games」が開発しています。「クラウド(SaaS)」と「オンプレミス」が選択できます。 アジアリージョンのクラウドはGMOが独占して…

C#で bzip2 の圧縮、展開を行う方法

Ⅰ. はじめに タイトルの通り「C#で bzip2 の圧縮、展開を行う方法」です。 Ⅱ. SharpZipLib をインストールする SharpZipLib というライブラリを使います。 1. NuGet から SharpZipLib で検索し、インストールする。 ※.NET Standard 版もありますが、作成者の…

リバースエンジニアリングを楽にする単語のメモ

Ⅰ. はじめに タイトルの通り「リバースエンジニアリングを楽にする単語のメモ」です。 随時追加します。 Ⅱ. 一覧 algorithm encrypt encode decrypt decode cipher extract rijndael aes pkcs rsa x509 certificate key block cbc su MII RSA暗号秘密鍵/公開…

WebSocket4Net C# .NET Standard対応 WebSocket ライブラリ

Ⅰ. はじめに WebSocket4Net は2017/05/11 時点でベータ段階ですが .NET Standard 対応の WebSocket ライブラリです。 Ⅱ. 使い方 1. 「プレリリースを含める」にチェックを入れる 2017/05/11 時点で .NET Standard 対応版がベータ段階なのでチェックを入れま…

Packer Detector一覧

Ⅰ. はじめに 解析対象のバイナリがどの Executable Packer を使っているかを自動的に判定するツールです。 Ⅱ. Packer Detector 一覧 Exeinfo PE http://exeinfo.atwebpages.com/ Detect It Easy http://ntinfo.biz/ PEiD http://www.peid.info/ 2017/05/07時…

C++ で全ての例外を try catch 出来るようにする

Ⅰ. はじめに Visual Studioのデフォルト設定ではWindowsが発行する「システム的な例外」を捉えることはできません。 無効なメモリアドレスへのアクセス 0での割り算 等が「システム的な例外」に該当します。また、「『システム的な例外』をプログラム上で扱…

C++で複数プロセスから読み書き可能な共有メモリを作る

Ⅰ. はじめに あるプロセスのメモリ空間には他のプロセスからアクセスする事ができません。 OpenProcess してアクセス権を得てもメモリ上のどのアドレスに何のデータが保存されているか簡単に分かりません。 この問題は複数プロセスで共有して使えるメモリ空…

C++でShift-JIS, UTF-8, UTF-16 BOM有無とエンディアンを考慮してファイルの読み込みをする

C++

Ⅰ. はじめに Ⅱ. 環境 Ⅲ. プログラム Shift-JIS UTF-8 (BOM なし) UTF-8 (BOM あり) UTF-16 リトルエンディアン (BOM なし) UTF-16 リトルエンディアン (BOM あり) UTF-16 ビッグエンディアン (BOM なし) UTF-16 ビッグエンディアン (BOM あり) Ⅲ. 参考 Ⅰ. は…

C++ ファイルを全て読み込む

C++

Ⅰ. はじめに STL を使ってファイルを全て読み込む(全行読み込む)方法です。※追記 C++でShift-JIS, UTF-8, UTF-16 BOM有無とエンディアンを考慮してファイルの読み込みをする - 備忘録 Ⅱ. サンプル test.txt aiueo Source.cpp #include <iostream> #include <fstream> using na</fstream></iostream>…

C# で HtmlAgilityPack を使って HTML の要素値を XPath で取得する

Ⅰ. はじめに タイトルの通り、「C# で HtmlAgilityPack を使って HTML の要素値を XPath で取得する」方法です。 Web スクレイピングが簡単になります。 Ⅱ. サンプル http://example.comの「タイトル」と「リンク先(href)の値」を取得するサンプルです。 1.…

C# で Mailgun や SendGrid などを使ってメールを送信する

C#

Ⅰ. はじめに メール配信サービスのAPIをラップした FluentEmail というライブラリの紹介です。 .NET Standard で作られているためクロスプラットフォームで動作します。各サービスの API ドキュメントには HttpClient や RestClient 等を使って Web API を直…

nginx で autoindexの文字化けを治す

Ⅰ. はじめに nginx の autoindex を on にしただけだと以下のように文字化けします。 これを治す方法です。 Ⅱ. やり方 1. charset utf-8; を追加する server { listen 80; root /var/www/html/hoge; index index.html; location / { autoindex on; charset u…

BCD を修正する

Ⅰ. はじめに BCD(Boot Configuration Data)(ブート構成データ)を修正する方法です。 Windows と Linux をデュアルブートした状態から Grub を消して Windows のみブートさせる場合などに必要な作業となります。 Ⅱ. やり方 1. ブート可能な Windows メディ…

プロセスセキュリティまとめ

Ⅰ. はじめに OpenProcess などで使われるアクセス権のフラグまとめです。 Ⅱ. まとめ PROCESS_ALL_ACCESS 0x1FFFFF PROCESS_CREATE_PROCESS 0x80 PROCESS_CREATE_THREAD 0x2 PROCESS_DUP_HANDLE 0x40 PROCESS_QUERY_INFORMATION 0x400 PROCESS_SET_QUOTA 0x10…

仲介DLLを作成する

Ⅰ. はじめに 仲介DLLを作成する方法です。 DLL Proxy や DLL Wrapper とも呼ばれています。 Ⅱ. やり方 こちらを使います。 https://github.com/mavenlin/Dll_Wrapper_Gen 1. ファイルを自動生成する python Generate_Wrapper.py hoge.dll 2. ソリューション…

DoubleAgent を試してみる

Ⅰ. はじめに DoubleAgent とは? Microsoft Application Verifer を悪用した攻撃の事です。 セキュリティ会社 Cybellum によって 2017/03/22 に公開されました。 何ができるの? プロセスの開始と同時に 任意の dll が読み込まれ任意コードの実行が可能にな…

.NET Core で 実行ファイル(.exe)を作成する

Ⅰ. はじめに .NET Core のプロジェクトで .exe を作成する方法です。 .NET Core のプロジェクトのデプロイ方法は2通りあります。 # デプロイ方法の名称 略称 実行方法 1 Framework-dependent deployments FDD コマンドで dotnet run として実行する 2 Self-c…

C#でプロセスのスレッド一時停止させる

C#

Ⅰ. はじめに プロセスのサスペンド、リジュームを拡張メソッドにして使いやすくしたクラスを紹介します。 コピペで動きます。 Ⅱ. プログラム Program.cs var process = Process.GetProcessesByName("notepad").FirstOrDefault(); process.Threads.Suspend();…

プロテクトを回避してメモリをフルダンプする

Ⅰ.はじめに 物理メモリを任意の物理記憶媒体にダンプする方法です。 Belkasoft社の無料ダンプツール(Belkasoft Live RAM Capture)を利用します。 Ⅱ. Belkasoft Live RAM Captureのすごいところ 無料 ダンプ後のファイルを解析するBelkasoft Evidence Cente…

一時的なメールサービスのAPIサーバを作る

Ⅰ. はじめに 一時的なメールアドレスを作成するサービスはいくつか存在します。 一時的なメールアドレスを作成する - 備忘録しかし、どのサービスもAPI経由でのアクセスが出来ないものばかりです。 送信されるリクエストを解析してサービスを利用する事も可…

VisualStudio で貼り付け時にクォートを自動的にパースする

1. はじめに IntelliJ 系のIDEであればデフォルト機能として JSON や XPath の文字列をプログラムに貼付けする時に自動的にクォートがパースされます。 VisualStudioで同様の恩恵をうけるための拡張機能の紹介です。 2. SmartPaster2017 のダウンロード Smar…