早期的 Windows 作業系統 SMB protocol 使用 NetBios over TCP, 需要 137~139 port.
之後的作業系統使用 port 445.
所以現在應該只需要 445 port 就可以使用 SMB
reference:
http://social.technet.microsoft.com/Forums/windowsserver/en-US/92b7ac42-8e3f-43cf-8b4d-e9d4c618b112/smb-over-139-or-445?forum=winservergen
2014年4月27日 星期日
2014年4月22日 星期二
RtlUserThreadStart vs BaseThreadStart
RtlUserThreadStart 是 NTDLL 內的函數, windows vista 與之後的 windows 版本使用這個函數作為一個 thread 的起始函數
BaseThreadStart 是 Kernel32 內的函數, windows vista 之前的版本使用這個函數作為 thread 的起始函數
BaseThreadStart 是 Kernel32 內的函數, windows vista 之前的版本使用這個函數作為 thread 的起始函數
2014年4月21日 星期一
Windows PE 執行檔的 OEP 是如何被呼叫的
當 CreateProcess 被呼叫之後,最後會呼叫到 NtCreateProcess 進入 kernel mode.
kernel 幫我們建立進程需要的核心物件和初始化進程內部的物件例如 PEB 等等.
然後建立該進程第一個 thread 也就是 main thread, 同時也會建立與之相關的 thread context
context 中有兩個重要的 register -- eax 和 eip
eip 會設定成 BaseProcessStartThunk
eax 會設定成 OEP
呼叫流程如下
BaseProcessStartThunk --> BaseProcessStart --> OEP
所以事實上, 一個進程中 user mode 第一個被執行到的 code 是 BaseProcessStartThunk.
kernel 幫我們建立進程需要的核心物件和初始化進程內部的物件例如 PEB 等等.
然後建立該進程第一個 thread 也就是 main thread, 同時也會建立與之相關的 thread context
context 中有兩個重要的 register -- eax 和 eip
eip 會設定成 BaseProcessStartThunk
eax 會設定成 OEP
呼叫流程如下
BaseProcessStartThunk --> BaseProcessStart --> OEP
所以事實上, 一個進程中 user mode 第一個被執行到的 code 是 BaseProcessStartThunk.
2014年4月19日 星期六
安裝任意版本的Windows 7
Windows 7 的安裝光碟中, 其實已經包含了各種不同的 Windows 版本
在安裝光碟的 source 目錄下有一個檔案 ei.cfg
裡面記錄了執行安裝程式時要安裝哪個版本的 Windows
如果使用 Ultimate 的安裝光碟, EdittionID 就會是 Ultimate
如果使用 Home Basic 的安裝光碟, EditionID 就會是 Home Basic
如果修改這個檔案
就算是 Home Basic 的安裝光碟, 也可以安裝 Ultimate 版本
用 VMware 來安裝 Windows 7, 會發現不管是用 Ultimate 或是 Perfessional 的 ISO 安裝光碟, 都可以選擇各種不同的版本來安裝
應該就是藉由修改這個檔案來達成的
知道了這個事實, 就可以自己製作可安裝任何版本的 Windows 安裝檔了
http://www.dotblogs.com.tw/chou/archive/2009/10/26/11305.aspx
但是如果選了 Ultimate 的安裝版本, 就必須要有 Ultimate 的序號才行
使用 Home Basic 的安裝序號是無法啟用 Ultimate 的
在安裝光碟的 source 目錄下有一個檔案 ei.cfg
裡面記錄了執行安裝程式時要安裝哪個版本的 Windows
如果使用 Ultimate 的安裝光碟, EdittionID 就會是 Ultimate
如果使用 Home Basic 的安裝光碟, EditionID 就會是 Home Basic
如果修改這個檔案
就算是 Home Basic 的安裝光碟, 也可以安裝 Ultimate 版本
用 VMware 來安裝 Windows 7, 會發現不管是用 Ultimate 或是 Perfessional 的 ISO 安裝光碟, 都可以選擇各種不同的版本來安裝
應該就是藉由修改這個檔案來達成的
知道了這個事實, 就可以自己製作可安裝任何版本的 Windows 安裝檔了
http://www.dotblogs.com.tw/chou/archive/2009/10/26/11305.aspx
但是如果選了 Ultimate 的安裝版本, 就必須要有 Ultimate 的序號才行
使用 Home Basic 的安裝序號是無法啟用 Ultimate 的
2014年4月1日 星期二
findstr 是 Windows 下的 grep 指令
findstr 是 Windows 下的 grep 指令
常用參數是
/S 遞迴搜尋子目錄
/I 不區分大小寫
example:
findstr /S /I /C:"printf" *.c
常用參數是
/S 遞迴搜尋子目錄
/I 不區分大小寫
example:
findstr /S /I /C:"printf" *.c
訂閱:
文章 (Atom)