原创 加殼解決殺毒軟件誤報

    就標題而言,好像給人印象更多的是,加了殼才報各種病毒。其實也不盡然,掌握方法和策略至關重要。根據我開發 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