Skype 3.5.0.234 (version from Sep 2007)
"Error: Skype is not compatible with debuggers like SoftICE .."
"Skype is not compatible with system debuggers like SoftICE."
Sorry folks, I'm a developer, I always have SoftICE running.
And I hate people who force me to reboot to use their program.
What are they afraid of anyway? That I reverse engineer their bloated crappy
Delphi EXE? Bah!
SKYPE.EXE (size: 22,879,528 bytes):
OFFSET 185F21 57 -> 7C
OFFSET 9EF964 E8 2B -> EB 21
OFFSET 193E50 84 21 85 -> 34 0D 4A
OFFSET 8C5360 E8 83 0D 8C FF 84 C0 75 -> 90 90 90 90 90 90 90 EB
OFFSET A02FBC 00 -> 01
OFFSET 197C60 0F 8E FF 70 BC A6 90 -> 0E A2 90 70 BC A6 00
OFFSET 1A8EEC 82 EA 2A 72 AF F2 -> 85 B6 AC 70 AF 62
OFFSET 1BAC36 09 F4 D1 6B CC -> 5E B7 67 3A CF
OFFSET 1DE3B1 78 -> E7
OFFSET 1E1F5A 67 -> F8
OFFSET 1EEA7F F5 43 E8 2A 71 C4 -> 33 5D 9D BA E1 54
OFFSET 1FD245 2D C7 49 91 A1 43 71 -> 2B 84 E1 B5 31 D3 E1
OFFSET 1FFC44 40 -> DF
OFFSET 205605 5E -> C1
OFFSET 207613 05 -> 9A
OFFSET 20814D 75 54 A2 C4 F1 56 -> 73 81 73 C7 F1 C6
OFFSET 20DCFC F6 -> 69
OFFSET 210D7A D2 59 DD 6A 66 71 -> D3 A6 A0 69 66 E1
OFFSET 211ACB 05 -> 9A
OFFSET 2123A7 FD CD 97 6B 71 6E -> FF 2A D9 68 71 FE
OFFSET 2345DD 56 -> C9
OFFSET 24F64F 21 -> 20
OFFSET 252869 E6 EA 7B 96 62 DA -> E4 A2 76 9E 62 4A
OFFSET 255505 C3 93 61 B4 -> C5 15 E1 45
OFFSET 257376 96 -> 09
OFFSET 260B67 05 -> 9A
OFFSET 2F22D0 93 54 DA 7A 98 44 -> 95 3C F3 72 98 D4
OFFSET 2F3FD8 CD 50 69 72 BA 78 -> 0C 47 67 E2 2A E8
OFFSET 31B445 A5 -> 3A
OFFSET 387F51 CD -> 52
OFFSET 3A2EAD 27 -> B8
OFFSET 3DE8F6 D1 64 05 -> D7 60 81
Sheesh. They obviously put more effort into "protecting" their crud than
writing the actual app. I might put a detailed analysis of all those patch
locations here later...
As you can see, they put checks into a million places. I tried to test all
functions, but I might have missed something. So if you see the patched
Skype crashing or silently vanishing, let me know (patches last updated 2007 Oct 19).
Pike v7.6 release 24
The dynamic programming language Pike wouldn't run under Windows 98. Now it
does.
PIKE.EXE (size: 2,111,887 bytes)
OFFSETS 2F73D, 2F7D5, 2F868: 24 -> 10
OFFSETS 2F758, 2F7EA, 2F87D: 8D xx -> EB 14
System File Protection (SFP) / System File Checker (SFC)
In Windows 2000, SFP generally keeps all kind of stuff from being deleted,
including a lot of crud that comes with Windows which I really don't want
hanging around. I don't need a file nanny, I can take care of that myself.
SFP consists of the files sfc.exe, sfc.dll and
sfcfiles.dll. sfc.exe can be safely deleted, but the other
two are imported by other Windows components to interface to the SFP, and
deleting them causes serious problems. So I just replaced them with
minimal-size do-nothing versions. These can be downloaded here:
Do-Nothing SFC files
Partition Magic 7
Partition Magic showed Error 1516: "Partition improperly dismounted"
when I tried to undo a partitioning error which made Windows crash. And
what is the recommended action to resolve that error? Run CHKDSK.
Unfortunately, I can't, because Windows won't boot. Duh. So let's suppress
this error...
PMagicBt.exe (size: 1,279,230 bytes)
OFFSET A0822 74 -> EB
WinRoute Pro 4.1
This application would constantly access its spool subdirectory,
although I didn't configure it to do any spooling. Most aggravating, those
accesses prevented running ScanDisk. So I turned them off.
Winroute.exe (size: 483,380 bytes)
OFFSET 299CD E8 CE 81 FE FF -> 90 90 90 90 90
Windows Explorer
In Windows 98 and later, the Help entry in the Start Menu would not
open windows.hlp anymore, but that compiled HTML mess
windows.chm. But I wanted the old behaviour back, as I had replaced
windows.hlp with a large programming related help file I needed often:
EXPLORER.EXE (size: 245,008, Windows 2000 German)
OFFSET 13DC2 75 1A -> 90 90
or
EXPLORER.EXE (size: 180,224, Windows 98SE German)
OFFSET BE2D 74 -> EB
Windows Shell
When some application mounts a new (virtual) drive, the Windows Shell has this
annoying habit to always open a new window showing the drive contents. Not
anymore.
SHDOC401.DLL (size: 504,080 bytes, version: 5.00.2614.3500 - W98SE with some service packs installed)
OFFSET 212A8 00 01 -> 01 00
Shockwave Flash 7,0,19,0
I hate it when applications are incontinent and spill their files all over
my system. A pet hate of mine is this "Application Data" directory - it's all
nice and well on a multi-user system, but my computer is mine and mine alone.
This is especially aggravating when an application also suffers from
subpathitis - you all know these directories, five levels deep, as if I'd install
a hundred other products from the company.
After the following change, Flash will not save anything into the AppData
directory:
NPSWF32.DLL (size: 827,392 bytes)
OFFSET 7A8D3 55 -> C3
SoftICE 3.24 for Windows 95/98
SoftICE uses the CPU's time stamp counter (read with RDTSC) to calculate
breakpoint time stamps. Unfortunately it fails to calibrate it on even
moderately fast computers today due to grave short-sightedness of the SoftICE
programmers. Here's the fix:
WINICE.EXE (size: 1,057,535 bytes)
OFFSET 7C624 72 -> EB
FRITZ!web DSL 3.04 rev 1.05 (1.05.03 in readme)
This is the DSL connection software for the FRITZ!Card DSL SL. It wants
to place stuff into AppData and Local AppData. Not anymore:
FritzDsl.exe (size: 847,921)
OFFSET 2C8EA 74 -> EB
OFFSET 2CA2A 74 -> EB
After these changes, it always uses the fallback directories. These must be
specified in the registry key
HKEY_CURRENT_USER\Software\AVM\FRITZ!DSL\FRITZ!
The value of DatenDir replaces AppData, LokalDatenDir
replaces Local AppData. The first binary patch is for Appdata, the second one
for Local Appdata.
Matrox Millennium / Matrox Mystique driver for Windows 95/98
This driver has a bug in the STRETCHDIBITS implementation so that 4-bit
top-down DIBs are being displayed upside down. I noticed this on a friend's
system where the Opera browser would display certain GIF images on web pages
upside down. Here's the fix, preventing the bug by forcing the driver to use
the DIBENGINE fallback:
MGAPDX64.DRV
OFFSET 2070 75 -> EB
Hercules Dynamite 128 (Tseng ET 6000 based) driver for Windows 95/98
Same problem as the Matrox cards, only that the images wouldn't display at all,
same kind of fix:
ET6POWER.DRV
OFFSET 4F8A 75 -> EB
Mitac MiNote 8375 Laptop
Before it went bust, the company 4MBO sold that Laptop through the German
supermarket chain PLUS, calling it 4MBO Eurobook 8375. Although this
laptop has no floppy disk drive, it erroneously sets the drive bit in the
Installed Hardware word at memory location 0040h:0010h (accessible
through INT 11h).
This causes some operating systems to show a disk drive, causing a variety of
problems when trying to access it, up to complete system hangs. When I
contacted Mitac, they (quite impertinently) refused to issue a BIOS upgrade.
Well, I don't need them. Here's a fix for Windows 98SE:
Standard Windows 98SE boot sector
OFFSET 61 BD 00 7C -> E9 3A 01
OFFSET 19E some text -> BD 00 7C 80 26 10 04 FE E9 BB FE