原创 加殼解決殺毒軟件誤報
就標題而言,好像給人印象更多的是,加了殼才報各種病毒。其實也不盡然,掌握方法和策略至關重要。根據我開發 VCProtect 的經歷,總結了幾條經驗與大家分享。 先說一下殺毒軟件的掃描機制,談殺毒軟件就離不開病毒。 DOS時代是個
原创 RSA算法的原理
RSA算法的原理第一步,隨機選擇兩個不相等的質數p和q,如61和53。實際應用中,這兩個質數越大,就越難破解。第二步,計算p和q的乘積n。把61和53相乘,n=61×53=3233。n的長度就是密鑰長度。3233寫成二進制是1100101
原创 ODbgscript v1.50 release 中文說明
ODbgscript v1.50 release 中文說明 ODbgScript plugin by hnhuqiongFromODbgScript plugin v1.47 by Epsylon3OllyScript plugin v
原创 彙編浮點指令異常
使用匯編進行浮點數開發時需要注意FPU堆棧平衡,原因是FPU寄存器(ST0~ST7)是以棧的形式操作的。當你使用完FPU寄存器時需要進行釋放,即FLD指令匹配FST指令。下面是我開發中遇到的問題, #include <stdio.h>
原创 開始進行 64 位 Windows 系統編程之前需要了解的所有信息
使用 Windows® 先鋒產品的樂趣之一是能夠探究新技術以瞭解它的工作方式。實際上,我不太喜歡使用操作系統,直到對其內部結構有了一點深入瞭解之後。因此,當 Windows XP 64 位版本和 Windows Server® 2003
原创 Windows下的ffmpeg編譯
網上有很多版本的ffmpeg編譯指南,大部分不可用,不是鏈接失效,就是不符合我的應用需求。 自己整理一份留作備份: 1、 下載編譯環境MinGW+Msys,地址是:http://sourceforge.net/projects/
原创 C++ COM實現之四 添加接口
COM接口必須得提供給客戶程序,這樣他們才能知道你的這個DLL存在什麼樣的函數實現什麼樣的功能,同時還需要一個GUID和接口ID。COM的接口你可以把它當成一個虛類處理。 定義接口如下:mycom.h #pragma once #in
原创 獲取成員函數的指針
今天的話題比較有意思,如何獲取一個非 static 成員函數的指針?考慮以下代碼: C++代碼 class A { public: void foo(void); }; void A::fo
原创 PKCS8密鑰格式
PKCS #8: Private-Key Information Syntax Standard 所以PKCS #8 跟公鑰沒啥關係,公鑰格式定義可參考相關文檔。 以下使用RSA 512 1.生成密鑰對 openssl genrsa -
原创 DCT變換和量化
3、離散餘弦變換 DCT 將圖像從色彩域轉換到頻率域,常用的變換方法有: DCT變換的公式爲: f(i,j) 經 DCT 變換之後,F(0,0) 是直流係數,其他爲交流係數。 還是舉例來說明一下。 8x8的原始圖像: 推
原创 VCProtect虛擬機加殼工具
VCProtect虛擬機加殼工具 虛擬機加殼工具,可以給目標程序加上虛擬機,同時提供多態變形功能。 下載http://www.vcprotect.com2013-09-18 版本升級爲1.1.2.268 加入delphi的SDK開
原创 證書創建及使用
由於開發中需要使用到證書,所以我們自己生成並進行測試,通過 Visual Studio 自帶的命令行工具實現: 1.使用 makecert 創建證書 makecert -n "CN=test" -sv test.pvk test.cer
原创 huffman表在xvid中的應用
如有轉載請註明出處:孔祥文博客http://kswapd.cublog.cn 圖像編碼不管是基於JPEG協議還是MPEG-4以及最新的H264協議,基本過程都是經過視頻格式轉換---運動預測----DCT變換---量化----z
原创 COM ATL IDispatch Invoke 鉤子
對於 HOOK IDispatch.Invoke方法相比IDispatchEx要簡單很多,查找函數地址也容易一些,畢竟IDispatchEx是IDispatch的擴展,關於IDispatchEx.InvokeEx鉤子及代碼參看 http:
原创 C++ COM實現之五 調用這個DLL
就剩調用這個COM了,很普通的一個調用。幾個步驟介紹一下: 1. 初始化COM環境(系統的) 2. 通過ID創建接口實例 3. 調用接口 4. 釋放接口實例 5. 清理COM環境(系統的) 實現代碼如下: #include "std