--- ../rebase-ralf-0.4.orig/rebase.cc 2002-08-10 17:41:40.000000000 -0400 +++ rebase.cc 2002-12-03 15:35:24.000000000 -0500 @@ -113,8 +113,16 @@ BOOL ReBaseImage( *OldImageSize = ntheader->OptionalHeader.SizeOfImage; *NewImageSize = ntheader->OptionalHeader.SizeOfImage; + // Round NewImageSize to be consistent with MS's rebase. + const ULONG imageSizeGranularity = 0x10000; + ULONG remainder = *NewImageSize % imageSizeGranularity; + if (remainder) + *NewImageSize = (*NewImageSize - remainder) + imageSizeGranularity; + if (fGoingDown) *NewImageBase -= *NewImageSize; + else + *NewImageBase += *NewImageSize; // already rebased if (ntheader->OptionalHeader.ImageBase == *NewImageBase) {