Windows 内部
WinMain
# 型
ハンガリアン記法
Pxx / LPxx->* (pointer)char *->PCHAR
Cxx -> constconst char *->LPCSTR
Wxx-> ワイド文字: Unicodeのみの文字型Txx-> マルチバイト文字: UnicodeやSJISなどより一般の文字型Hxx-> HANDLEIxx/Nxx-> 整数
Windows Data Types (BaseTsd.h) - Win32 apps | Microsoft Learn
# Windows API (Win32 API)
何ができる? ファイル読み書き ディスク読み取り メモリ
仕組み DLL内のAPIを呼び出すことで詳細を知ることなくリソースを知ることができる.
- CreateFileA を呼び出す.
- kernel32.dll / ntdll.dll から sysenter / syscall してカーネルへ渡す.
- ntoskrnl.exe が実際にファイル作成する.
利用
- API 名を Google や Microsoft Learn で検索
- 引数の型情報
# Registry
| 名前 | 略称 | 説明 |
|---|---|---|
| HKEY_CURRENT_USER | HKCU | 現在ログオン中のユーザに関連づけられたデータを格納 |
| HKEY_LOCAL_MACHINE | HKLM | システム関連の情報を格納 |
| HKEY_USERS | HKU | マシン上の全てのユーザに関する情報を格納 |
| HKEY_CLASSES_ROOT | HKCR | ファイルの関連付け情報などを格納 |
# Heap
RtlCreateHeap 関数は _HEAP 構造体へのポインタを返す.