对UCDOS安装程序的解密
……
: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文件就又可以正常运行了。(广西黄彦松)