2021-09-01から1ヶ月間の記事一覧

【Java】画像ファイルを2分割する

分割側コード import java.awt.image.BufferedImage; import java.io.File; import java.io.InputStream; import java.util.ArrayList; import javax.imageio.ImageIO; public class ImageDivided { private InputStream inputStream; public ImageDivided(I…

【C#】Disposeパターン

using usingは自動的に、finallyで必ずDispose()を呼び出すtry...finallyを作成するだけ。ただし、メンバ等にはusingが使えない。。。⇒Disposeパターン Dispose()の必須事項 安全に複数回呼び出し可能であること インスタンスが保持しているリソース(OSや外…

【C#】環境系

環境変数の値を取得 var ret = System.Environment.GetEnvironmentVariable("環境変数名"); // 変数名があれば値、なければNULL 実行中のプログラムのexe/dllのパスを取得 var ret = System.Reflection.Assembly.GetExecutingAssembly(); // 実行中のアセン…

【C#】ファイル系

存在チェック System.IO.File.Exists("パス"); // Trueならファイルが存在 System.IO.Directory.Exists("パス"); // Trueならディレクトリが存在 パスがローカルか var uri = new System.Uri("パス"); uri.IsLoopback; // Trueならローカル ループバック 送…

DLLハイジャッキング

DLLハイジャッキング マルウェアが不正DLLを読み込ませることによって正規プロセスに不正な動作を実行させる。 例)署名のない不正なDLLを読み込んで、不審な外部ドメインへの通信を試みる。 多くのDLLハイジャッキングの手口は、OSやアプリケーションの脆弱…

Windowsのレジストリ

レジストリとは Windowsやソフトウェアの情報が保存されている、key-valueから成るwindowsパソコン内の階層型データベース。本来はユーザ側が何もしなくても勝手に設定の変更・削除・更新が行われる。情報は、データに付けられた「名前」、数値や文字列など…

Endian

Endian コンピュータ内部は2進数(表記は16進数)00000000~11111111 サイズの大きなデータを1バイト単位に分割して、連続した領域に書き込む際 上位バイトから配置⇒Big Endian 下位バイトから配置⇒Little Endian

暗号化

イメージ 暗号化イメージ 共通鍵暗号方式 暗号化と復号に同じ鍵を使用 メッセージ認証(Message Authentication)ではメッセージに付加するMAC(Message Authentication Code)の生成と確認に共通鍵暗号方式を使用する。 公開鍵暗号方式 暗号化に公開鍵、復…

【C#】strNumの形で一意な識別子の文字列

背景 文字列のidで重複があった場合文字列+数値の形で重複を避けたい。 コード(C#) using System; using System.Linq; using System.Text.RegularExpressions; using System.Collections.Generic; class Program { static void Main() { var TAIL_NUMBER = "…