原创 KEY_NOTIFY 有什麼用
搜索KEY_NOTIFY的結果是:許可提供更該通知, msdn上說,但並沒有詳細解釋 Required to request change n
原创 爲modaldialogbox 實現pretranslatemessage
atl 中modaldialogbox實現的CDialogImpl 是沒有PreTranslateMessage的,就算增加對應實現也是沒有作用的 原因:PreTranslateMessage是框架部分的代碼並非系統部分modaldial
原创 SanDisk U盤加密軟件 在其他u盤使用
RunSanDiskSecureAccess_Win.exe 這個軟件是SanDisk U盤加密工具,它被設計爲只在SanDisk U盤上運行,如果不是sandisk的,就彈窗不讓用 於是我們Patch它,IDA打開 發現還是QT開發
原创 關於__vectorcall的使用
vectorcall 是微軟在VS2015中增加的 https://msdn.microsoft.com/zh-cn/library/dn375768.aspx 目的是用來優化浮點向量運算,intel處理器種有很多浮點向量寄存器,傳統的調
原创 VC中如何實現函數內部函數
函數內部函數就是閉包 func() { sub_func() { } .......call sub_func.... } 內部函數的作用: (1)高內聚性:比如你的函數A依賴函數B 函數B又必須和函數A一起需要共享某種結構,而A又是獨
原创 Hook ZwQueryInformationProcess 函數使得異常處理可以在shellcode上執行
32位系統上當你的shellcode有使用 __try __except 進行處理時,系統最終會調用RtlIsValidHandler來判斷異常處理函數是否有效,如果你希望處理異常 應該是Hook RtlIsValidHandler,可是
原创 爲Qt Creator 開發astyle代碼格式化插件
與VS2008系列的IDE相比Qt Creator開發代碼插件比較簡單 閒話不說,看我的步驟: (1)Qt Creator中“菜單”-“工具”-“選項”-“環境”-“外部工具”-“文本” (2)接下來說明一下如何寫一個工具處理
原创 CreateProcess 創建explorer.exe失敗的原因簡單分析
創建explorer.exe失敗的原因簡單分析 非管理員用戶調用CreateProcess啓動explorer時發現返回TRUE但explorer沒
原创 RDTSC - 讀取時間標籤計數器
RDTSC - 讀取時間標籤計數器 操作碼: 0F 31 指 令: RDTSC 說 明: 將時間標籤計數器讀入 EDX:EAX 【說明】
原创 解壓cab的代碼 msdn上的
解壓cab的代碼 msdn上的BOOL ExtractCabinetFiles( LPSTR pszCabinetName, LPSTR
原创 VS2008 判斷環境是否是vmware的方法
BOOL __is_in_vmware() {BYTE var_4 = 0;__asm{push ecx;push ebx;push
原创 鍵盤控制鼠標的方法
#include <Windows.h> void MoveMouseCursor(int dx, int dy) { POINT point; ::GetCursorPos(&point); point.x += dx; po
原创 從PE結構取調試信息 代碼
不解釋 直接上代碼 /////////////////////////////////////////////////////////////////////////////// // // DebugDir.cpp // // De
原创 VC++中內聯同名類導致的棧破壞問題
假設有這麼個類,它將一個變量從0臨時變爲1: 我們做2份: (1)放到工程內的stdafx。h形成預編譯頭 class CA { public : CA(int* pToBeSet1){
原创 關於C++11中function的一點點分析
下面是通過扒代碼縮減的最小function實現 template<typename _Ret, typename... _Types> struct my_func_class { void* pun = 0; _Ret opera