maa@nbires.nbi.com (Mark Armbrust) (03/25/89)
There is a bug in LOOZ 2.10 that causes it to incorrectly load some .EXE files
when the 'xx' option is used. The problem occurs when an .EXE file's segment
ordering is such that the initial code segment is not the first segment in the
.EXE file.
This is a binary patch to fix the bug in LOOZ 2.10. THIS PATCH IS NOT KNOWN
TO BE VALID FOR ANY OTHER VERSION OF LOOZ!
---------- cut here to LOOZPAT.BAT ----------
goto end
e 1C4C 14
e 22E2 61 20 20 28
w
q
:end
ren looz.exe looz.bin
debug <loozpat.bat looz.bin
ren looz.bin looz.exe
---------- cut here ----------
What you changed:
1944 C45EE8 LES BX,[BP-18]
1947 268B07 MOV AX,ES:[BX]
194A 0346EE (14) ADD AX,[BP-12] ; change to ADD AX,[BP+14]
194D 268907 MOV ES:[BX],AX
1950 47 INC DI
1951 3B7EEC CMP DI,[BP-14]
1954 72C6 JB 191C
Local variable [BP-12] was set to *(parameter [BP+0E]) which appears to be
the initial value of CS. Relocations should be done relative to the load
point which appears to be passed as a parameter [BP+14].
Local variable [BP-12] is not used anywhere else in this subroutine.
The second line of the patch changes the version number to '2.10a'.
PLEASE DO NOT DISTRIBUTE PATCHED VERSIONS OF LOOZ. Please do distribute
LOOZ unmodified along with this patch information.
Happy hacking,
Mark Armbrust
maa@nbires.nbi.com
maa@nbires.UUCP