呼び出し元プロセスのアドレス空間からファイルのマップされたビューのマップを解除します。 構文 BOOL UnmapViewOfFile( [in] LPCVOID lpBaseAddress ); パラメーター [in] lpBaseAddress マップ解除されるファイルのマップされたビューのベース アドレスへのポインター。 この値は、 MapViewOfFile ファミリの関数の 1 つを前回呼び出した場合に返された値と同じである必要があります。 戻り値 関数が成功すると、戻り値は 0 以外になります。 関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。 解説 ファイルのマップされたビューをマップ解除すると、プロセスのアドレス空間内のビューが占める範囲が無効になり、その範囲が他の割り当てで使用できるようになります。 これにより
現在の現地時刻と日付を設定します。 構文 BOOL SetLocalTime( [in] const SYSTEMTIME *lpSystemTime ); パラメーター [in] lpSystemTime 新しいローカルの日付と時刻を含む SYSTEMTIME 構造体へのポインター。 SYSTEMTIME 構造体の wDayOfWeek メンバーは無視されます。 戻り値 関数が成功すると、戻り値は 0 以外になります。 関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。 解説 呼び出し元のプロセスには、SE_SYSTEMTIME_NAME特権が必要です。 この特権は既定で無効になっています。 SetLocalTime 関数は、ローカル時刻を変更する前にSE_SYSTEMTIME_NAME特権を有効にし、戻る前に特権を無効にします
Creates or opens a named or unnamed file mapping object for a specified file. To specify the NUMA node for the physical memory, see CreateFileMappingNuma. Syntax HANDLE CreateFileMappingW( [in] HANDLE hFile, [in, optional] LPSECURITY_ATTRIBUTES lpFileMappingAttributes, [in] DWORD flProtect, [in] DWORD dwMaximumSizeHigh, [in] DWORD dwMaximumSizeLow, [in, optional] LPCWSTR lpName ); Parameters [in]
コンピュータウイルスの解析などに欠かせないリバースエンジニアリング技術ですが、何だか難しそうだな、という印象を抱いている人も多いのではないでしょうか。この連載では、「シェルコード」を例に、実践形式でその基礎を紹介していきます。(編集部) Windows APIの呼び出し方法に迫れ! 第4回「Undocumentedなデータ構造体を知る」に引き続き、今回もシェルコードがWindowsのAPIを呼び出す方法について迫っていきたいと思います。 シェルコードでは、自由にAPIを呼び出すために以下の3ステップの処理を実行します。 kernel32.dllのベースアドレスを取得する (kernel32.dllがエクスポートしている)LoadLibrary関数とGetProcAddress関数のアドレスを取得する LoadLibrary関数とGetProcAddress関数を利用して任意のAPIを呼び出
目次 ホーム 連絡をする RSS Login Blog 利用状況 投稿数 - 59 記事 - 0 コメント - 7407 トラックバック - 20 ニュース Donut RAPT 配布所 書庫 2015年1月 (1) 2012年5月 (2) 2010年4月 (2) 2009年1月 (2) 2008年8月 (3) 2008年3月 (2) 2008年2月 (3) 2008年1月 (2) 2007年12月 (6) 2007年11月 (2) 2007年8月 (4) 2007年7月 (3) 2007年6月 (8) 2007年5月 (6) 2007年4月 (1) 2007年3月 (1) 2007年2月 (2) 2007年1月 (4) 2006年12月 (2) 2006年11月 (3) 日記カテゴリ C/C++ (rss) Donut (rss) HTML (rss) Internet Explorer
所用で「あるプロセスから別のプロセスを終了させるプログラム」を書いていました.終了させる部分の関数は以下のような感じ. #include <string> #include <vector> #include <windows.h> #include <tchar.h> #include <psapi.h> #pragma comment(lib, "psapi.lib") namespace process { std::size_t kill(const std::basic_string<TCHAR>& name) { std::size_t result = 0; std::vector<DWORD> processes(256, 0); DWORD procbytes = 0; while (1) { if (!::EnumProcesses(reinterpret_cast<D
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く