using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.InteropServices; //C#呼叫WinAPI namespace ConsoleApplication2 { class Program { [DllImport("User32.dll", CharSet = CharSet.Unicode)] //程式使用從 User32.dll 程式庫匯入的 MessageBox 方法 public static extern int MessageBox(int h, string m, string c, int type); //MessageBox既定格式 static int Main(string[] args) { string myString; Console.Write("Enter"); myString = Console.ReadLine(); return MessageBox(0, myString, "My Message Box", 0); //# } } }
成長紀錄
生命舞台發光的人,不是只會說 [蘇打綠: 十年一刻]
2011年6月29日 星期三
C#呼叫WinAPI
2010年11月2日 星期二
常見的基本Windows資料類型
類型 | 描述 |
BOOL | 布林型態變數(值只能是True或False) |
BYTE | 字元類型(8位元) |
CHAR | 8位元字元(ANSI) |
CONST | 常數,相當於標準C中的"const"關鍵字 |
DWORD | 32字元無符號整數型態資料 |
DWORD32 | 32字元無符號整數型態資料 |
DWORD64 | 64字元無符號整數型態資料 |
FLOAT | 浮點資料類型 |
HANDLE | 物件的處理,最基本的處理類型 |
HICON | 圖示的處理 |
HINSTANCE | 程式範例的處理 |
HKEY | 登錄表案件的處理 |
HMODULE | 模組的處理 |
HWND | 視窗的處理 |
INT | 32位元符號整數型態資料類型 |
INT_PTR | 指向INT類型資料的指標類型 |
INT32 | 32位元符號指數型態 |
INT64 | 64位元符號指數型態 |
LONG | 32位元符號整數型態,相當於C語言的表準資料型態long |
LONGLONG | 64位元符號整數型態 |
LONG32 | 32位元符號整數型態 |
LONG64 | 64位元符號整數型態 |
LPARAM | 訊息的L參數 |
WPARAM | 訊息的W參數 |
LPCSTR | Windows(ANSI)字串常數 |
LPCTSTR | 根據環境組態,如果定義了UNICODE巨集,則是LPCWSTR類型,否則是LPCSTR類型 |
LPCWSTR | INICODE字串長度 |
LPDWORD | 指向DWORD類型資料的目標 |
LPSTR | Windows(ANSI)字串變數 |
LPTSTR | 根據環境組態,如果定義了UNICODE、則是LPWSTR類型,否則則是LPSTR類型 |
LPWSTR | UNICODE字串變數 |
SHORT | 無符號短整數型態(16位元) |
SIZE_T | 表示記憶體大小,以字串為單位,其最大值是CPU最大搜尋範圍 |
TCHAR | 如果定義了UNICODE,則為WCHAR,否則為CHAR |
UCHAR | 無符號CHAR |
UINT | 無符號LONG |
ULONG | 無符號LONG |
VOID | 無類型,相當於標準C語言的void |
WCHAR | 16位元UNICODE |
WINAPI | WindowsAPI的函數呼叫方式,常見於SDK標頭檔中對API函數的宣告中,相當於_stdcall |
WORD | 16位元無符號整數型態資料 |
資料出處:文魁 精通Windows API函數、介面、程式設計實例
2010年9月30日 星期四
網路足跡
Facebook得盛行,很多人直接顯示真名在上面,不經讓人想到網路實名化政策,目前網路服務的普及,每個人幾乎都有一個網路ID,一個人使用的眾多ID中幾乎都有一點關連性,不管是ID本身,還是註冊ID時填得基本資料
這就好像一個足跡一樣,一個人在網路上的發展史漸漸被勾勒出來
就像超級任務阿亮說得:凡走過必留下痕跡
網路上也不例外
架構:一個搜尋引擎,可輸入一組真實存在的帳號,並劃出ID發展史
這就好像一個足跡一樣,一個人在網路上的發展史漸漸被勾勒出來
就像超級任務阿亮說得:凡走過必留下痕跡
網路上也不例外
架構:一個搜尋引擎,可輸入一組真實存在的帳號,並劃出ID發展史
2010年9月25日 星期六
應用程式模糊測試
模糊測試工具適用的時機
- 要尋找某些會被攻擊的缺陷,但不是全部
- 使用相同協定時,在多種軟體中尋找缺陷
- 迅速地測試原始碼被關閉的軟體,而不去檢視原始碼或二進碼
- 簡單地自動化
- 簡單地平行化
- 使用依賴協定與檔案類型但獨立於軟體的某些東西
2010年9月19日 星期日
tcpdump
- 基於Unix作業系統的命令列封包嗅探器(Sniffer)
- libacp
- 要捕捉送往主機MAC位址以外的封包,必須啟用網路卡上Promiscuous Mode(混雜模式),這需要superuser/root 的存取權限
- Tcpdump裡所使用的過濾語言被稱為BPF(Berkeley Packet Filtering)
- 要捕捉送往主機MAC位址以外的封包,必須啟用網路卡上Promiscuous Mode(混雜模式),這需要superuser/root 的存取權限
- 使用-i 選項,指定要在哪一個介面上監聽,後面接介面名稱
$ sudo tcpdump –i eth1
- 可以使用any 關鍵字,輕鬆捕捉到進出任何介面的交通流量
$ sudo tcpdump –i any
- 顯示捕捉介面清單,使用-D選項
$ sudo tcpdump –D # 印出的表單中,any是基於Linux的系統,lo為loopback介面
Snort
模式
- NIDS(Network Intrusion Detection Sensor,網路入侵偵測感應器):只偵測攻擊
- NIPS(Network Intrusion Prrvention Sensor,網路入侵防護系統):對攻擊作回應
- 基本的封包嗅探器
2010年9月9日 星期四
Nmap
TCP掃描
- TCP協定允許不需完成聯繫,TCP掃描就可以判斷哪些TCP port上有應用程式在偵聽
- 三段式交握由SYN封包、SYN/ACK封包、ACK封包所組成
- 掃描器將TCP SYN封包傳送到目標主機port上並且等待回應
- SYN/ACK封包被回傳,代表port被認為開啟
- RST封包被回傳,port被認為是關閉
- 一段時間後沒有封包被回傳,port被認為被過濾掉,或者沒有主機在那個IP上
- SYN/ACK封包被回傳,代表port被認為開啟
訂閱:
文章 (Atom)