当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 想用splash screen 但在“加入到工程”。。。gala。。中却没有任何东西显示没有装吗? ......
    摘要: 大侠请请详细地介绍一下实现的主要步骤好吗? ......


补丁程序,升级程序是怎样修改原生成的程序文件的

我是菜鸟,一直都不明白,一个EXE文件生成后,怎样写补丁程序、升级程序来增强修补原可执行文件所实现的功能?是在开始写程序时就应该考虑到的,还是用一些比较高深的反汇编之类的东西来实现,究竟是采用什么样的原理?并且如果是修改三层结构下的OCX,也是一样的吗? 请各位大虾帮忙。

NO.1   作者: netlib

直接覆盖exe,直接更新exe文件就呀,  
  如果要修改ocx,把要改的文件带上,覆盖原来的文件就行了。

NO.2   作者: surfguy

我觉得应该是在程序运行时,它用补钉程序取代原程序的相应代码,或插入一段代码。应该用到汇编层技术。

NO.3   作者: sabre

在写程序时就已经留下接口,不少补丁程序都是DLL.

NO.4   作者: pazee

大部分的升级程序都是采用的替换的办法。  
  就是覆盖原来的文件。由于有些文件正在使用,不能立即替换,所以都属需要重新启动才能生效。  
   
  这个在window、borland补丁包里面用到的。替换的包括exe,ocx,dll等等,虽然补丁体积会大,但是彻底,适合程序代码变化较大的,比如你看office的补丁,新文件比原来的变化很大。  
   
  还有一类就是creak   一个程序,比如破解某软件的注册码、有效期,由于是针对某一个固定版本,而且多是修改几个字节,所以用一个程序去直接原文件,替换掉那几个字节,这样一来补丁文件会做得很小,几十甚至几k就行了。

NO.5   作者: liubingqian

Windows   Update很多是依靠C:\WINDOWS\WININIT.INI文件重新启动计算机时来更新的。

NO.6   作者: hquwl

哦,原来是替换。

NO.7   作者: rwdx

值得学习

NO.8   作者: zhuxud

关注中

NO.9   作者: nne998

有一种文件比较程序,能比较两个文件的不同之处。。。  
   
  然后就生成补丁程序,补丁的大小取决于两个文件的差别大小。。。  
   
  运行补丁,就自动把不同的地方替换了。。。

NO.10   作者: pazee

to   liubingqian(liubingqian)  
  "Windows   Update很多是依靠C:\WINDOWS\WININIT.INI文件重新启动计算机时来更新的。"     这个文件只能在win9x下使用对于nt架构的nt4和2000\xp是没用的。  
  你看看msdn上面关于   Wininit.ini的说明,对于nt系统,需要使用MoveFileEx来完成启动的替换。

NO.11   作者: johnsonrao

都是替换,但是对版本号信息的处理技术很多种,最终都一样,不能让低版本的更新了高版本的。

NO.12   作者: lilei105

是有直接写文件的,个人猜测是把exe文件打开进行流操作一类的方法

NO.13   作者: daehappy

up!关注!

NO.14   作者: xzhongjin

在安装的时候在注册表中记录安装的路径  
  升级的时候覆盖相应路径下的相应文件。

NO.15   作者: woodheadmail

我认为对程序打补丁,是修改其部分函数,简单的是修改了dll,然后替换,对exe的修改好象就比较麻烦了,那可能不是自己来做的,是有操作系统完成,主要是找函数的入口。


 ·如何灰掉按钮    »显示摘要«
    摘要: 程序刚开始时,怎样灰掉按钮 又如何恢复呢? ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE