自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (5)
  • 收藏
  • 关注

转载 RSA算法的原理

RSA算法的原理第一步,随机选择两个不相等的质数p和q,如61和53。实际应用中,这两个质数越大,就越难破解。第二步,计算p和q的乘积n。把61和53相乘,n=61×53=3233。n的长度就是密钥长度。3233写成二进制是110010100001,一共有12位,所以这个密钥就是12位。实际应用中,RSA密钥一般是1024位,重要场合则为2048位。第三步,计算n的欧拉函数φ(n)。根

2016-12-09 21:05:18 536

原创 PKCS8密钥格式

以下使用RSA 5121.生成密钥对openssl genrsa -out rsa_pem.key 5122.DER 格式openssl rsa -in rsa_pem.key -inform PEM -out rsa_der.key -outform DER3.PKCS#8 格式openssl pkcs8 -topk8 -in rsa_pem.key -infor

2014-12-01 17:44:59 35566

原创 证书创建及使用

1.使用 makecert 创建证书

2014-06-03 11:26:58 970

转载 开始进行 64 位 Windows 系统编程之前需要了解的所有信息

使用 Windows® 先锋产品的乐趣之一是能够探究新技术以了解它的工作方式。实际上,我不太喜欢使用操作系统,直到对其内部结构有了一点深入了解之后。因此,当 Windows XP 64 位版本和 Windows Server® 2003 出现时,我简直快完蛋了。Win64 和 x64 CPU 体系结构的优点是:它们与其前任完全不同,但不需要很长的学习过程。尽管开发人员认为迁移到 x64 只

2014-03-21 15:50:41 817

原创 加壳解决杀毒软件误报

就标题而言,好像给人印象更多的是,加了壳才报各种病毒。其实也不尽然,掌握方法和策略至关重要。根据我开发 VCProtect 的经历,总结了几条经验与大家分享。

2014-03-04 14:52:15 7819

原创 VCProtect虚拟机加壳工具

虚拟机加壳工具,可以给目标程序加上虚拟机,同时提供多态变形功能。下载http://www.vcprotect.com

2013-08-28 15:39:47 2487 2

原创 原来intel指令手册也不靠谱

照着 指令手册写程序,结果害得我郁闷了一天

2013-07-05 23:39:33 1210 1

转载 Windows下的ffmpeg编译

网上有很多版本的ffmpeg编译指南,大部分不可用,不是链接失效,就是不符合我的应用需求。自己整理一份留作备份:1、  下载编译环境MinGW+Msys,地址是:http://sourceforge.net/projects/mingwbundle/files/,在这个页面上点击Download下载那个zip文件。下载完成后,直接安装,不建议修改任何默认路径(现在的电脑,C盘空间都

2011-11-23 14:19:10 703

转载 DCT变换和量化

3、离散余弦变换 DCT  将图像从色彩域转换到频率域,常用的变换方法有:DCT变换的公式为:f(i,j) 经 DCT 变换之后,F(0,0) 是直流系数,其他为交流系数。  还是举例来说明一下。  8x8的原始图像: 推移128后,使其范围变为 -128~127:使用离散余弦变换,并四舍五入取最接近的整数:上图就是将取样块由时间域转换为频率域的

2011-11-08 18:06:08 9814 1

转载 huffman表在xvid中的应用

如有转载请注明出处:孔祥文博客http://kswapd.cublog.cn     图像编码不管是基于JPEG协议还是MPEG-4以及最新的H264协议,基本过程都是经过视频格式转换---运动预测----DCT变换---量化----zigzag扫描----霍夫曼可变长变换编码,从而生成了编码的码流。霍夫曼可变长编码基于信息出现的频率统计特性对信息重新编码,很大程度上减少了信息的冗余度。

2011-11-07 13:51:38 1106

原创 C++ COM实现之五 调用这个DLL

就剩调用这个COM了,很普通的一个调用。几个步骤介绍一下:1. 初始化COM环境(系统的)2. 通过ID创建接口实例3. 调用接口4. 释放接口实例5. 清理COM环境(系统的)

2010-07-30 21:10:00 2031 2

原创 C++ COM实现之四 添加接口

COM接口必须得提供给客户程序,这样他们才能知道你的这个DLL存在什么样的函数实现什么样的功能,同时还需要一个GUID和接口ID。COM的接口你可以把它当成一个虚类处理。

2010-07-30 20:52:00 3781 2

原创 C++ COM实现之三 实现类厂

类厂是什么?就是一个工厂用于创建各种产品,将创建好的产品提供给外部用户使用。其实现如下:

2010-07-30 20:13:00 3594

原创 C++ COM实现之二 注册这个DLL

DLL做好之后就可以实现注册代码了,注册之后客户端就可以通过注册表查询到该DLL并进行调用。下面是注册过程,其中使用的两个文件如下:

2010-07-30 19:18:00 4774 1

原创 C++ COM实现之一 创建一个DLL

COM是一种接口技术,它提供了一种方法用于客户程序进行调用。COM原理和技术的文章已经很多了,就不过多讲解了,这里只注重实现。下面分几步对进程内COM组件进行编码实现以达到对实现一个COM的清晰的认识,目的是通过COM接口方法调用DLL中的函数。

2010-07-30 19:03:00 3414

原创 COM ATL IDispatch Invoke 钩子

对于 HOOK IDispatch.Invoke方法相比IDispatchEx要简单很多,查找函数地址也容易一些,毕竟IDispatchEx是IDispatch的扩展,关于IDispatchEx.InvokeEx钩子及代码参看http://blog.csdn.net/zhoujianhei/archive/2008/01/16/2046320.aspx现对其代码进行修改以完成对IDispatch.Invoke函数挂钩,修改方法如下:

2010-07-15 10:00:00 3751 2

原创 汇编浮点指令异常

使用汇编进行浮点数开发时需要注意FPU堆栈平衡,原因是FPU寄存器(ST0~ST7)是以栈的形式操作的。当你使用完FPU寄存器时需要进行释放,即FLD指令匹配FST指令。

2010-07-03 11:57:00 2243

转载 获取成员函数的指针

 今天的话题比较有意思,如何获取一个非 static 成员函数的指针?考虑以下代码:C++代码class A   {   public:       void foo(void);   };     void A::foo(void)   {       puts("Hello, World!");   }  也就是说,如何获取 A::f

2009-02-25 15:22:00 721 1

转载 ODbgscript v1.50 release 中文说明

 ODbgscript v1.50 release 中文说明ODbgScript plugin by hnhuqiongFromODbgScript plugin v1.47 by Epsylon3OllyScript plugin v0.92 by SHaG-------------------------------------------1. 关于 OllyScript2. 目前情况2.

2009-02-19 14:52:00 2746

原创 重载printf输出到屏幕和文件

如果不想输出到控制台推荐用管道,就是截取stdout重定向到自己创建的管道。 下面是重载printf的代码: FILE* fout = 0;int __cdecl myprintf(const char *format, ...){ va_list args; va_start(args, format); if(fout == 0) fo

2009-02-11 14:44:00 3394 3

原创 VS2005中加载符号

在 VS2005工具/选项/调试/符号,添加符号文件(*.pdb)位置: http://msdl.microsoft.com/download/symbols 符号缓存到本地目录, 如 D:/Windows/Symbols   

2009-02-11 08:13:00 1442

转载 X.509 数字证书结构和实例

<p class="MsoNormal" style="margin-top:7.5pt;margin-right:0cm;margin-bottom:3.75pt;margin-left:0cm;text-align:left;mso-pagination:widow-orphan;mso-outline-level:1" align="left"><span style="font

2008-12-24 22:20:00 5949

原创 HMAC-MD5算法原理及实现

以下是分析节选,对于更详细的描述可以查阅RFC2104文档。HMAC需要一个加密用散列函数(表示为H)和一个密钥K。假设H是一个将数据块用一个基本的迭代压缩函数来加密的散列函数。用B来表示数据块的长。(以上说提到的散列函数的分割数据块长B=64),用L来表示散列函数的输出数据长(MD5中L=16,SHA—1中L=20)。密钥的长度可以是小于等于数据块长的任何正整数值。应用程序中使用的密钥长度若是比

2008-12-22 14:05:00 14576 1

转载 PHP 类型转换&&类型强制转换

获取数据类型 :如果想查看某个表达式的值和类型,用 var_dump()。 如果只是想得到一个易读懂的类型的表达方式用于调试,用 gettype()。要查看某个类型,不要用 gettype(),而用 is_type() 函数。■字符串转换为数值当一个字符串被当作数字来求值时,根据以下规则来决定结果的类型和值。如果包括“.”,“e”或“E”其中任何一个字符的话,字符串被当作 float 来求值。否则

2008-12-13 20:42:00 13282

原创 Java开发环境配置

Java 开发需要三个环境,如下: 1、 Java环境 JDK 可以去:http://java.sun.com/ 下载 JAVA_HOME = C:/Program Files/Java/jdk1.6.0_102、 Web Server环境 Apache Tomcat 到 http://tomcat.apache.org/ 下载 安装过程中将端口:8080更改为80,其

2008-11-29 10:47:00 684

转载 RSA算法基础->实践

RSA算法基础->实践作者:watercloud [at] xfocus.org xfocus (2005-04-29 12:52:55)讲讲自己学习RSA中的实践过程,已经对RSA熟悉的看家就不用在此浪费时间了。基础RSA算法非常简单,概述如下:找两素数p和q取n=p*q取t=(p-1)*(q-1)取任何一个数e,要求满足e取d*e%t==1这样最终得到三个数: n  d  e设消息为数M (M

2008-11-07 13:45:00 629

原创 ubuntu 8.04 C/C++开发环境搭建

 初学Linux,留下印记。1. 也许一两条命令就可以完成,sudo apt-cdrom add 加入CD源sudo apt-get update 或 sudo aptitude update 更新源列表sudo apt-get install build-essential 或 sudo aptitude install build-essential 安装开发包gcc

2008-10-22 14:33:00 1189

原创 一个自适应的函数指针

刚刚写的,发到帖子里以后要用的时候总是找不到,所以就放到这啦。有些内容日后再补。// ApiCall.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include void StdCall(void* pfn, ...);int _tmain(int argc, _TCHAR* argv[]){ //取DLL句柄  char lpLibFileName[]="

2008-09-13 10:13:00 825 1

转载 What's the point of DeferWindowPos?

Whats the point of DeferWindowPos?The purpose of the DeferWindowPos function is to move multiple child windows at one go. This reduces somewhat the amount of repainting that goes on when windows

2008-08-26 20:31:00 827

转载 VS2005快捷键大全

VS2005快捷键大全 快捷键功能 CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显示类视图窗口 F4 显示属性窗口 SHIFT + F4显示项目属性窗口 CTRL + SHIFT + E显示资源视图 F12 转到定义 CTRL + F12转到声明 CTRL + AL

2008-06-03 11:31:00 849 2

转载 [转载]论函数调用约定

在C语言中,假设我们有这样的一个函数:    int function(int a,int b)    调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎么给这个函数传递参

2008-03-12 14:02:00 1045 1

原创 COM ATL IDispatchEx InvokeEx 钩子

 COM ATL IDispatchEx InvokeEx 钩子本文详细介绍InvokeEx的钩子安装过程,至于文章标题别在意(权当是一些关键字吧),其实我也不是很清楚InvokeEx是干什么用的,起因是帮助网友【jameshooo】对InvokeEx进行拦截。进一步,对其进行拦截究竟能干什么,那也只有见仁见智了,如果【jameshooo】看见此文章还望就此问题回复,以便对Invoke

2008-01-16 09:40:00 5454 25

原创 C++和结构化异常处理

以下摘自《windows核心编程》,不做过多说明直接看代码吧。 #include "stdafx.h"#include windows.h>using namespace std;class Exception...{public:    static void MapSEtoCE(void ) ...{_set_se_translator(TranslateSEtoCE); }   

2007-12-04 12:23:00 1412

原创 WIN32下线程和窗口的数据绑定

WIN32下线程和窗口的数据绑定 一.     写给自己我很懒。这是我写的第一篇涉及到编程的文章,也许就是因为太懒的缘故吧。在此之前也有写的冲动可不知为什么没有写成,懒得回忆了。说道记忆,啊,去年我在陈家庄。。。晕,又来了。有些事情我确实懒得记啦,以至于过去苦心钻研的“经--典”代码,现在又得重新研究。后悔当初没有给自己留下点什么痕迹,蛛丝马迹也好啊。本来很懒的我现在又得做重复劳动

2007-11-19 09:16:00 3603 6

转载 封送处理您的数据:利用 COM 和 Windows 2000 的高效传输数据的技术

出处 MSDN 摘要 您所选择的数据传输方式在分布式应用程序中是非常重要的。Windows 2000 提供了几种新的特性,可以更加高效地进行数据传输。轻量级的处理程序使得您能够编写智能代理,它们能够缓存结果并且执行带缓冲的读写操作,从而将网络调用的次数减至最小。Windows 2000 也使得您能够使用管道接口通过一种预读的设施来高效地传输大量的数据。本文阐述了利用这些新特性在 Win

2007-10-26 09:17:00 2316

C++ COM实现源码

绝对私人物品,请勿过度下载!!! http://blog.csdn.net/zhoujianhei/archive/2010/07/30/5777404.aspx

2010-07-30

SSL/TLS连接器

这是一个SSL/TLS连接器,自己根据TLS协议写的。本来用于测试IMAP的,现发布出来供大家使用。 软件实现的加密算法包括:MD5、HMAC、RC4、SHA1、RSA,目前多数SSL/TLS服务器都使用这几种加密算法。还包括X509证书解析等。 没有进行较完善的测试,如果谁发现问题可以发邮件。

2009-08-06

任务管理器

VC任务管理器源代码

2008-07-08

天书夜读(完整版)

汇编语言是一门本来是很基础很古老的语言,由于它的代码可读性可移植性较差,现在已经很少有人用。但它的优点也是显而易见的,很高的效率,不受编译器限制的随意性,对硬件的直接操作(保护模式下需要系统支持),以及逆向工程时不可或缺的反汇编调试等。随着你越来越深入的了解计算机,你会越来越觉得这个古老的东西是最重要的,是那些时髦的编程语言不可比拟的。

2008-04-23

com atl hook

com atl 钩子安装及测试代码。

2008-01-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除