備忘録

備忘録

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

C# SHA1を計算させる

C#

private string CalculateSHA1(string str) { using (var sha1 = SHA1.Create()) { var bs = sha1.ComputeHash(new UTF8Encoding().GetBytes(str)); return BitConverter.ToString(bs).ToLower().Replace("-", ""); } }

Java UUIDをシードにして乱数を発生させる

String uuid = UUID.randomUUID().toString(); // uuid = "9115d2c8-a3f4-4c4e-9c44-e65b6f483f90" long seed = Long.valueOf(uuid.substring(0, 8), 16); Random random = new Random(seed); // 0~9999 の乱数 Integer number1 = random.nextInt(10000); /…

.NET Core HttpClientでproxyを利用する

Ⅰ. はじめに .NET CoreではWebProxyクラスは存在しません。 代わりにIWebProxyを継承して自分でクラスを作る必要があります。※2017/05/30 追記 .NET Core 2.0 でWebProxyクラスが追加されました。 Ⅱ. サンプル class MyWebProxy : IWebProxy { public ICrede…

.NET Core AESで暗号化、複合する

Ⅰ. はじめに Aesクラスを利用します。.NET Core で IV 256bit を使う方法はこちら。 http://kagasu.hatenablog.com/entry/2017/01/04/213533 Ⅱ. Aesを利用した複合の例 public byte[] DecryptRijndael(byte[] bytes) { Aes aes = Aes.Create(); aes.Padding …

Android 非同期処理を強制しない方法

Ⅰ. はじめに Android 3.0以降では ネットワーク処理をメインスレッドで行うと以下の例外を吐くようになりました。 java.net.SocketException: android.os.NetworkOnMainThreadException Ⅱ. 強制しない方法 以下をonCreateなどに追加するとメインスレッドでネ…

Android 5.x以降でアプリからProxy設定を変更する方法

Ⅰ. はじめに Android 4.xまではProxy Settings などの便利なアプリで簡単にProxy設定が出来ていました。 しかし、 Android 5.xからはセキュリティの為アプリからProxyの設定が出来なくなりました。 それを回避する方法です。(root権限必須) Ⅱ. やり方 Wi-F…

Android アプリ内課金を実装する

Ⅰ. はじめに 「課金してアプリ内に表示される広告を消す」 「課金してアプリ内の石を購入する」 などの実装方法です。継続課金(定期購入)については具体的に触れませんが、 この記事を一通り行った後公式ドキュメントを見れば簡単に実装できます。備忘録と…

Python ファイル読み込み

プログラム str = open('a.txt').read() print str 実行結果

メルカリで編集ページに移動するリンクを追加する

Ⅰ. はじめに メルカリの商品URLは2種類あります。 # URL 1 https://www.mercari.com/jp/items/m1111111/ 2 https://item.mercari.com/jp/m1111111/ 「商品の編集、出品の一時停止、商品の削除」 を行うためには 1 である必要があります。 Ⅱ. 2から1に移動し…

Android 5.x PIE チェックを回避する

Ⅰ. 概要 Android 5.xからPIE以外の実行ファルが実行できなくなりました。 PIEのチェックは /system/bin/linker によって行われています。 セキュリティの強化の為に存在するチェックですが、邪魔な場合があるので回避方法についてのメモです。 また、制限さ…

.NET Coreのコンソールで日本語が文字化けする

問題点 対策 1. NuGetから System.Text.Encoding.CodePages をインストールする Install-Package System.Text.Encoding.CodePages 2. 以下の一行を追加 Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); 結果 参考文献 https://opcdiary.net…

Highcharts 桁をカンマで区切る

Highcharts.setOptions({ lang: { // 小数点の文字を指定 decimalPoint: '.', // 桁区切りの文字を指定 thousandsSep: ',' } }); var chart = new Highcharts.Chart({ tooltip: { // 桁区切り有効、少数点第1位まで pointFormat: "Value: {point.y:,.1f} mm"…

C#でCRC32を計算する

C#

Ⅰ. はじめに C#でCRC32を計算するクラスを作成しました。 ホントはSystem.Security.Cryptography.HashAlgorithmを実装するのが筋です。 いつか実装して記事を修正します(そのうちやります…) Ⅱ. 使い方 バイト配列のCRC32を計算する byte[] bytes = new byt…

ファイル調査に使えるツール達

Home of Hexinator - The Professional Hex Editor - Hexinator foremost foremost target binwalk binwalk -eM target X-Ripperbinwalkとほぼ同じ。GUIがある。Windowsのみ。 FTK Imagerbinwalkとほぼ同じ。GUIがある。Windowsのみ。

squid3で匿名串にする

squid.conf を編集する /etc/squid/squid.conf request_header_access X-Forwarded-For deny all request_header_access Via deny all request_header_access Cache-Control deny all reply_header_access X-Forwarded-For deny all reply_header_access Via…

squidで上位プロキシを設定する

一番下に以下の2行追加 /etc/squid/squid.conf cache_peer [上位プロキシのホスト] parent [上位プロキシのポート] [ICPポート番号] no-query login=[ユーザー名]:[パスワード] never_direct allow all 例 上位プロキシ 192.168.0.100:3128 ユーザー名 abc@d…

PHP 日付(日時)加算、減算まとめ

PHP

2022/02/21追記 本記事内容は古い DateTime/DateTimeImmutableを利用した方法がモダン はじめに 減算は「+」を「-」に変えるだけ まとめ

C# GZipで圧縮、展開する

C#

Ⅰ. はじめに RFC 1952で定義されているGZipの圧縮と展開方法です。 マジックナンバーは「1F 8B」です。 Ⅱ. やり方 1. GZipで圧縮する public static byte[] GZipCompress(byte[] bytes) { using (var ms = new MemoryStream()) { using (var gzipStream = ne…

C# で ImageProcessorを使う

C#

2023/01/18 追記 ImageProcessorの開発は停止されました。 代替としてImageSharpの利用を推奨します。 Ⅰ. はじめに ImageProcessorは画像処理ライブラリです。 現時点で、2値化処理、エッジ検出、色反転、縮小、拡大、切り取り、等様々なフィルタ処理に対応…

IntelliJ IDEAでjarファイルを生成する方法(Gradleの場合も含む)

Ⅰ. はじめに タイトルの通り「IntelliJ IDEAでjarファイルを生成する方法(Gradleの場合も含む)」です。 やり方 1. File → Project Structure 2. Artifacts → 「+」 → JAR → From modules with dependencies 3. Main Classを指定して、OKをクリック ※Gradl…

Captcha代行サービス

Captchaを人力で解いてくれる代行サービス。 また、バイトとしてCaptchaを解くと、Captcha1枚あたり0.0344084346円(※2016/10/07 時点)ほどの収入を得ることができます。 少ないですね。やりたくないです。また、ゲームのBOTなどの項目もあるのでそれなりに…

C# HttpClientでContent-Typeを指定する方法

C#

Ⅰ. はじめに Ⅱ. 文字列の場合 Ⅲ. バイト配列の場合 方法1 方法2 Ⅳ. ダメな例 Ⅰ. はじめに 基本的にはHttpContentを継承したクラス(FormUrlEncodedContentなど)があるのでそれを使います。 それにより適切なContent-Typeが自動的に指定されます。Content-Ty…

C# FiddlerCoreのサンプル

Ⅰ. はじめに FiddlerCoreを使いHTTP, HTTPS, WebSocketのプロキシサーバーを作る場合のサンプルです。 Windowsのみで動作します。※2017/12/16追記 FiddlerCoreの.NET Standard 2.0対応版(現時点でベータ版)がリリースされていました。 これによりクロスプ…

ARMの激安VPS

Ⅰ. はじめに Scaleway は ARMの激安VPSです。 AWSのような通信量に対する課金はありません。 https://www.scaleway.com/ Ⅱ. その他 パスワードによるSSHログインがデフォルトで禁止されています。 以下のように変更するとrootのパスワードログインができるよ…

Frida の使い方

Ⅰ. はじめに Ⅱ. インストール Ⅲ. 使い方 iOSでFridaを利用する方法 Androidのアプリをトレースする Windows上のプロセスをトレースする 起動中のプロセス一覧を表示する インストール済みのアプリ一覧を表示する(USB接続端末) 引数を表示する HEXダンプ1 H…

SSL Pinningを削除する方法

有名なPokemon GOのAndroidアプリを例にした解説サイトがあったのでメモ Reverse engineering and removing Pokémon GO’s certificate pinning | Eaton Works

Windows 10 Hyper-Vを有効/無効にする方法

はじめに 有効にする 無効にする はじめに タイトルの通り「Windows 10 Hyper-Vを有効/無効にする方法」です。 有効にする 1. Windowsキー + Rを押す optionalfeatures2. Hyper-Vのチェックを入れる 3. 以下コマンドを実行する(必須ではない場合があります…

Windows 10 右クリックメニューのペイント 3D関係の項目を消す方法

「ペイント3Dで編集する」を消す ※以下コマンドをコマンドプロンプトで実行する reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations\.bmp\Shell\3D Edit" /f reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\SystemFileAssociations…

SSH接続でrootログインを許可する

vim /etc/ssh/sshd_config Port 22 ListenAddress 0.0.0.0 PermitRootLogin yes PasswordAuthentication yessystemctl restart sshd @IT:ssh接続でrootによるログインを許可するには

XamarinでSystem.Drawing.Bitmapは使えない

結論 タイトルの通り、使えません。System.Drawing.BitmapがWin32APIの一部(GDI+周辺のラッパ)である為です。 代替案 C# で ImageProcessorを使う - 備忘録 .NET CoreでSystem.Drawingを使う - 備忘録 参考 Xamarin System.Drawing.Bitmap defined in an a…