摘要:
近日要用到文件校验算法,查看了一下相关资料,得到以下理论与实践经验。一、理论部分:1、预备知识1.1什么是数据校验通俗的说,就是为保证数据的完整性,用一种指定的算法对原始数据计算出的一个校验值。接收方用同样的算法计算一次校验值,如果和随数据提供的校验值一样,就说明数据是完整的。1.2最简单的检验实现方法:最简单的校验就是把原始数据和待比较数据直接进行比较,看是否完全一样这种方法是最安全最准确的......
摘要:
简介: api拦截并不是一个新的技术,很多商业软件都采用这种技术。对windows的api函数的拦截,不外乎两种方法,第一种是mr. jeffrey richter 的修改exe文件的模块输入节,种方法,很安全,但很复杂,而且有些exe文件,没有dll的输入符号的列表,有可能出现拦截不到的情况。第二种方法就是常用的jmp xxx的方法,虽然很古老,却很简单实用。 本文一介绍第二种方法在win2k......
Visual C++中动态链接库技术浅谈摘要:本文比较了visual c++所支持的三种动态链接库,列出了各自不同的特点与应用场合,详细地描述了三种动态链接库的建立与调用的方法. 引言 【程序编程相关:
在SourceForge.net上如何使】 关键字:动态链接库;导出函数;调用 【推荐阅读:
MSComm控件属性大揭秘】 windows系统平台上提供了一种完全不同的较有效的编程与运行环境,你可以将独立的程序模块创建为较小的动态链接库(dynamic linkable library,dll)文件,并可对它们单独编译与测试.在运行时,只有当exe程序确实要调用这些dll模块的情况下,系统才会将它们装载到内存空间中.这种方式不仅减少了exe文件的大小与对内存空间的需求,而且使这些dll模块可以同时被多个应用程序使用. 【扩展信息:
C++/CLI语言的属性探索】 较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作.在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序的exe文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程序运行时也会消耗较大的内存空间,造成系统资源的浪费;另一个缺点是,在编写大的exe程序时,在每次修改重建时都必须调整编译所有源代码,增加了编译过程的复杂性,也不利于阶段性的单元测试;而且,一些模块的功能可能较为通用,在构造其它软件系统时仍会被使用. 动态链接库概述 动态链接库技术是windows最重要的实现技术之一,windows的许多新功能.新特性都是通过dll来实现的.其实,windows本身就是由许多dll组成的,它最基本的三大组成模块kernel.gdi与user都是dll. 一般来说,dll是一种磁盘文件,以.dll..drv..fon..sys与许多以.exe为扩展名的系统文件都可以是dll.它由全局数据.服务函数与资源组成,在运行时被系统加载到进程的虚拟空间中,成为调用进程的一部分.如果与其它dll之间没有冲突,该文件通常映射到进程虚拟空间的同一地址上....
下一页 摘要:
一般的窗口的创建是使用create函数,这个函数在创建窗口之前调用了precreatewindow函数,并且允许在创建创建之前在precreatewindow注册一个拥有自定义窗口样式的新的窗口类,来创建一个拥有自定义类名新的窗口。而模式对话框是通过createdialogindirect来创建的,在这当中并没有调用precreatewindow函数,重载的precreatewindow函数根本......