Hi,

On Mon, Jun 25, 2012 at 6:24 AM, Tom Ehlert <t...@drivesnapshot.de> wrote:
>
>>    KEYB.EXE 11,446 06-24-12
>
>> leaves, when running, a huge memory hole. at least with only HIMEM
>> loaded. note the HUGE memory hole behind KEYB
>
> the problem is
>
> function MCBAlloc ( para: word ) : word;
> var allocs,f,m: word;
>
>        mov     ah, $58          { set alloc strategy }
>        mov     al, 1
>        xor     bh,bh
>>>>     mov     bl, $41
>        int     $21
>
> using 'best fit' is virtually ALWAYS a bug for a TSR
>
> solution 2) use
>      mov     bl, $82   last fit, try high then low memory
>
> this allocates memory from top, but doesn't create holes.
>
> unfortunately I'm not able to compile this; awaiting the  maintainer
> to fix this bug

Surely a simple binary patch is possible in the meantime. I've not
tested this (yet), but you could try this:

upx -d keyb.exe
hiew keyb.exe (or similar hex editor)
offset 0x3E06 is "mov bl, 0x41"
change offset 0x3E07 from 0x41 to 0x82
run modified version for comparison (keyb.exe /blah ...)

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to