diff --git a/malware-analysis_ref_and_memo.md b/malware-analysis_ref_and_memo.md index 498f7ec..f445e39 100644 --- a/malware-analysis_ref_and_memo.md +++ b/malware-analysis_ref_and_memo.md @@ -537,8 +537,10 @@ Injecition/Hollowingされたプロセスの自動検出
|API|dll|header file|arg|return|overview| |:-|:-|:-|:-|:-|:-| |[GetModuleHandle](https://docs.microsoft.com/en-us/windows/win32/api/libloaderapi/nf-libloaderapi-getmodulehandlea)|kernel32|libloaderapi.h (include Windows.h)|PCSTR lpModuleName(モジュール名)|Success:a handle to the specified module
Fail:NULL|指定したモジュールへのハンドルを取得| -|[ReadProcessMemory](https://docs.microsoft.com/ja-jp/windows/win32/api/memoryapi/nf-memoryapi-readprocessmemory)|kernel32|memoryapi.h (include Windows.h)|HANDLE hProcess
LPCVOID lpBaseAddress
LPVOID lpBuffer>
SIZE_T nSize
SIZE_T \*lpNumberOfBytesRead|Success:non zero
Fail:zero(0)|特定のプロセスの指定したアドレスからメモリの内容を読み取る| -|[CreateRemoteThread](https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createremotethread)|kernel32|processthreadsapi.h (include Windows.h)|HANDLE hProcess
LPSECURITY_ATTRIBUTES lpThreadAttributes
SIZE_T dwStackSize
LPTHREAD_START_ROUTINE lpStartAddress
LPVOID lpParameter
DWORD dwCreationFlags
LPDWORD lpThreadId|Success:a handle to the new thread
Fail:Null|別プロセス上に対してスレッドを作成| +|[ReadProcessMemory](https://docs.microsoft.com/ja-jp/windows/win32/api/memoryapi/nf-memoryapi-readprocessmemory)|kernel32|memoryapi.h (include Windows.h)|1.HANDLE hProcess
2.LPCVOID lpBaseAddress
3.LPVOID lpBuffer>
4.SIZE_T nSize
5.SIZE_T \*lpNumberOfBytesRead|Success:non zero
Fail:zero(0)|特定のプロセスの指定したアドレスからメモリの内容を読み取る| +|[CreateRemoteThread](https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createremotethread)|kernel32|processthreadsapi.h (include Windows.h)|1.HANDLE hProcess
2.LPSECURITY_ATTRIBUTES lpThreadAttributes
3.SIZE_T dwStackSize
4.LPTHREAD_START_ROUTINE lpStartAddress
5.LPVOID lpParameter
DWORD dwCreationFlags
6.LPDWORD lpThreadId|Success:a handle to the new thread
Fail:Null|別プロセス上に対してスレッドを作成| +|[InitializeCriticalSection](https://docs.microsoft.comクリティカルセクションオブジェクトを使うと、1 つのプロセスの複数のスレッド間で相互排他の同期/ja-jp/windows/win32/api/synchapi/nf-synchapi-initializecriticalsection)|kernel32|synchapi.h (include Windows.h)|LPCRITICAL_SECTION lpCriticalSection|-|クリティカルセクションを初期化,クリティカルセクションオブジェクトにより1つのプロセスの複数スレッド間で相互排他の同期が行える| +|[CreateMutex](https://docs.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-createmutexa)|kernel32|synchapi.h (include Windows.h)|1.LPSECURITY_ATTRIBUTES lpMutexAttributes
2.BOOL bInitialOwner
3.LPCSTR lpName|Success:a handle to the newly created mutex object
Fail:Null|Mutexを作成| ### Deobfuscation - バイナリの難読化解除に関するブログ