exediffは、Win32実行ファイル(exe/dll)のロードイメージを比較し、差異を表示するコンソールアプリケーションです。 二つのプログラムファイルの、同一性や違いを確認するのに便利です。
WindowsNT3.1/Windows95以降。 Windows98SE/Windows2000/WindowsXP にて動作確認済み。
配布ファイル windiff.exe を、PATHが通ったフォルダにコピーしてください。 アインインストールするには、そのコピーしたファイルを削除してください。
usage :exediff [-h?tcdq][-n#] (FILE1 FILE2 | DIR1 DIR2 [WILD] | DIR1 DIR2¥WILD) version 1.12 -h -? this help -t ignore time stamp -c ignore check sum -d dump file image -q quiet mode -n# max length of differ rawdatas. default is 4 FILE1/2 compare exe/dll file DIR1/2 compare folder WILD compare files pattern in DIR2. default is *
exediff C:¥WINDOWS¥system32¥msvcp50.dll C:¥WINDOWS¥system32¥msvcp60.dll FileHeader.NumberOfSections: <0006 >0005 FileHeader.TimeDateStamp: <33FA7CF2(Wed Aug 20 14:13:22 1997) >4802C105(Mon Apr 14 11:27:17 2008) OptionalHeader.LinkerVersion: <5.0 >7.10 OptionalHeader.SizeOfCode: <00053C00 >0002B000 OptionalHeader.SizeOfInitializedData: <00035C00 >00039000 OptionalHeader.AddressOfEntryPoint: <00050410 >0000131E OptionalHeader.BaseOfData: <00055000 >0002C000 OptionalHeader.ImageBase: <780C0000 >75FD0000 OptionalHeader.FileAlignment: <00000200 >00001000 OptionalHeader.SizeOfImage: <0008D000 >00065000 OptionalHeader.SizeOfHeaders: <00000400 >00001000 OptionalHeader.CheckSum: <00098B09 >0007475E Section Header[1].VirtualSize: <00053B32 >0002A250 Section Header[1].SizeOfRawData: <00053C00 >0002B000 Section RawData[1] .text <=> .text: +00000000: B0(.) <=> 90(.) +00000001: 01(.) <=> 90(.) +00000002: C3(テ) <=> 90(.) +00000005: 90(.) <=> 8B(.) <snip> differ more than 4 bytes. Section Header[2].VirtualSize: <0002E6BF >0003250A Section Header[2].VirtualAddress: <00055000 >0002C000 Section Header[2].SizeOfRawData: <0002E800 >00033000 Section Header[2].PointerToRawData: <00054C00 >0002C000 Section RawData[2] .rdata <=> .rdata: +00000000: 00(.) <=> FD(.) +00000001: 00(.) <=> 49(I) +00000002: 80(.) <=> 84(.) +00000003: 00(.) <=> 7C(|) <snip> differ more than 4 bytes. Section Header[3].VirtualSize: <00001784 >000016AC Section Header[3].VirtualAddress: <00084000 >0005F000 Section Header[3].SizeOfRawData: <00001200 >00002000 Section Header[3].PointerToRawData: <00083400 >0005F000 Section RawData[3] .data <=> .data: +00000000: 00(.) <=> C8(ネ) +00000001: 00(.) <=> C3(テ) +00000002: 00(.) <=> FF(.) +00000003: 00(.) <=> 75(u) <snip> differ more than 4 bytes. Section Header[4].Name: <.idata >.rsrc Section Header[4].VirtualSize: <00000770 >000003A8 Section Header[4].VirtualAddress: <00086000 >00061000 Section Header[4].SizeOfRawData: <00000800 >00001000 Section Header[4].PointerToRawData: <00084600 >00061000 Section RawData[4] .idata <=> .rsrc: +00000000: 6C(l) <=> 00(.) +00000001: 60(`) <=> 00(.) +00000002: 08(.) <=> 00(.) +00000004: FF(.) <=> 00(.) <snip> differ more than 4 bytes. Section Header[5].Name: <.rsrc >.reloc Section Header[5].VirtualSize: <000003A0 >000029E8 Section Header[5].VirtualAddress: <00087000 >00062000 Section Header[5].SizeOfRawData: <00000400 >00003000 Section Header[5].PointerToRawData: <00084E00 >00062000 Section Header[5].Characteristics: <40000040(data, read) >42000040(data, discardable, read) Section RawData[5] .rsrc <=> .reloc: +00000001: 00(.) <=> 10(.) +00000004: 7C(|) <=> 78(x) +00000005: 8E(.) <=> 01(.) +00000006: 0B(.) <=> 00(.) <snip> differ more than 4 bytes. .reloc section is only in "C:¥WINDOWS¥system32¥msvcp50.dll" "C:¥WINDOWS¥system32¥msvcp50.dll" and "C:¥WINDOWS¥system32¥msvcp60.dll" differ