东方青石 发表于 2005-7-3 11:24:55

程序自检验的方法举例!

首先GetModuleFileName得到自身路径和文件名,然后CreateFile打开自身,接下来,如果是简单地比较大小,就调用GetFileSize得到程序大小,和原版大小比较,size大了就OVER,这种比较简单;如果要进行CRC等算法校验,就会CreateFileMapping映射的一块内存中准备ReadFila读取计算,最后计算出几个值... 呵呵,注意到了吗?无论哪中方法,都要CreateFile打开自身,才能进行下一步操作,那想到了吗?既然程序要打开文件校验,我们就想办法让它不打开自身而是打开原版去计算、校验,这样无论它怎么变态,复杂,计算结果都是正确的!
在文件中找到一块空的“宝地“,然后写入原版的绝对路径名,记下地址!(当然要用到一些文件修改工具拉,比如UE;P)
并在源文件调用CREATEFILE前跳开,使他的参数之一的ECX=我们写入的东东!
呵呵,偷天换日,瞒天过海!:victory:

yygx 发表于 2005-7-4 10:05:31

楼主是prince吗?厉害。

skyege 发表于 2005-7-8 00:46:21

有盗版嫌疑~~~~

深海游侠 发表于 2005-7-8 03:59:37

写的不错。支持。

ly83 发表于 2005-7-9 21:57:36

楼主能不能把参数付在上面,这样方便一下我这样菜鸟学起步的人?
在这里先说谢谢了

东方青石 发表于 2005-7-10 10:34:29

在OD种下断点CREATEFILE就会看到OD自动分析出来的参数了

hongxin2005 发表于 2006-2-9 19:32:59

楼主的分析真是太好了,高人!!!

fleamboy 发表于 2006-2-9 20:17:12

不错,受益匪浅!!!

aoshxi001 发表于 2006-3-10 20:55:21

不错,能搞个例子 分析一下就更好了,最好是有视频教学

初出江湖 发表于 2006-3-20 16:53:09

是啊,对我们新手,菜鸟也比较直观
页: [1] 2
查看完整版本: 程序自检验的方法举例!