微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题对UCDOS安装程序的解密
栏目软件操作与技巧
作者广西 黄彦松
发布1993-04-23
  观察死循环状态,光标在不停闪动,估计死循环位于显示上。首先,要找到显示子程序。运行DOS的debug,用命令T、G,通过跟踪、设置断点运行install.exe,发现死循环入口CALL1AA2,分析1AA2子程序,其中一段如下:
  ……
  :1AEF MOV SI,38FC
  :1AF2 CMP SI,39EC
  :1AF6 JZ  1AA2
  :1AF8 CMP WORD PTR[SI],+00
  :1AFB JZ  1B02
  :1AFD ADD SI,+30
  :1B00 JMP 1AF2
  … …
  如[38FC]、[392C]、[395C]、[398C]、[39BC]的值均不为00,则在1AA2-1B00之间不断循环显示。由此可知,install.exe程序是通过对这五个字的读写来控制运行.每运行一次,该程序就将其中的一个字置为非00,直到全为非00,就不再继续执行,从而达到系统只能安装五次的目的。
  要使它能继续正确运行,就必须将这五个字全部恢复为00。为此,可用寻找对应关键字的方法,用d命令查看[38FC]的内容,记下几个字节内容作为关键字,依次运行
  REN INSTALL.EXE INSTALL.AAA
  DEBUG
  INSTALL.AAA
  -S0000FFFF 关键字
  3BFC
  E3BFC
  E3C2C
  E3C5C
  E3C8C
  E3CBC
  W
  Q
  COPY INSTALL.AAA INSTALL.EXE
  置install.exe文件中相应的五个字为00。这样,install.exe文件就又可以正常运行了。(广西黄彦松)