exediff - find differences between two exe/dll files

Release 1.x

Revision
1.11

Author:
Hiroshi Kuno <hkuno-exediff-tool@micorhouse.co.jp>
License:
Copyright © 2004 by Hiroshi Kuno
本ソフトウェアは無保証かつ無償で提供します。利用、再配布、改変は自由です。

はじめに

exediffは、Win32実行ファイル(exe/dll)のロードイメージを比較し、差異を表示するコンソールアプリケーションです。 二つのプログラムファイルの、同一性や違いを確認するのに便利です。

特徴

動作環境

WindowsNT3.1/Windows95以降。 Windows98SE/Windows2000/WindowsXP にて動作確認済み。

インストール方法

配布ファイル windiff.exe を、PATHが通ったフォルダにコピーしてください。 アンインストールするには、そのコピーしたファイルを削除してください。

使い方

usage :exediff [-h?tdq][-n#] (FILE1 FILE2 | DIR1 DIR2 [WILD] | DIR1 DIR2\WILD) $Revision: 1.11 $ -h -? this help -t ignore time stamp -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) >3D74F0CE(Wed Sep 04 02:26:38 2002) OptionalHeader.LinkerVersion: <5.0 >6.0 OptionalHeader.SizeOfCode: <00053C00 >0002A000 OptionalHeader.SizeOfInitializedData: <00035C00 >00036000 OptionalHeader.AddressOfEntryPoint: <00050410 >00001000 OptionalHeader.BaseOfData: <00055000 >0002C000 OptionalHeader.ImageBase: <780C0000 >75FD0000 OptionalHeader.FileAlignment: <00000200 >00001000 OptionalHeader.SizeOfImage: <0008D000 >00061000 OptionalHeader.SizeOfHeaders: <00000400 >00001000 OptionalHeader.CheckSum: <00098B09 >0006225D Section Header[1].VirtualSize: <00053B32 >00029BBC Section Header[1].SizeOfRawData: <00053C00 >0002A000 Section Header[1].PointerToRawData: <00001000 >00002000 Section RawData[1] .text <=> .text: +00000000: B0(.) <=> 55(U) +00000001: 01(.) <=> 8B(.) +00000002: C3(テ) <=> EC(.) +00000003: 90(.) <=> 53(S) <snip> differ more than 4 bytes. Section Header[2].VirtualSize: <0002E6BF >0002F030 Section Header[2].VirtualAddress: <00055000 >0002B000 Section Header[2].SizeOfRawData: <0002E800 >00030000 Section Header[2].PointerToRawData: <00054C00 >0002C000 Section RawData[2] .rdata <=> .rdata: +00000000: 00(.) <=> 50(P) +00000001: 00(.) <=> 32(2) +00000002: 80(.) <=> 13(.) +00000003: 00(.) <=> 10(.) <snip> differ more than 4 bytes. Section Header[3].VirtualSize: <00001784 >00001788 Section Header[3].VirtualAddress: <00084000 >0005B000 Section Header[3].SizeOfRawData: <00001200 >00002000 Section Header[3].PointerToRawData: <00083400 >0005C000 Section RawData[3] .data <=> .data: +00000004: 60(`) <=> 00(.) +00000005: 5F(_) <=> 00(.) +00000006: 10(.) <=> 00(.) +00000007: 78(x) <=> 00(.) <snip> differ more than 4 bytes. Section Header[4].Name: <.idata >.rsrc Section Header[4].VirtualSize: <00000770 >000003A8 Section Header[4].VirtualAddress: <00086000 >0005D000 Section Header[4].SizeOfRawData: <00000800 >00001000 Section Header[4].PointerToRawData: <00084600 >0005E000 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 >00002CF0 Section Header[5].VirtualAddress: <00087000 >0005E000 Section Header[5].SizeOfRawData: <00000400 >00003000 Section Header[5].PointerToRawData: <00084E00 >0005F000 Section Header[5].Characteristics: <40000040(data, read) >42000040(data, discardable, read) Section RawData[5] .rsrc <=> .reloc: +00000001: 00(.) <=> 10(.) +00000004: 7C(|) <=> B8(ク) +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

欠けている機能

リンク

ダウンロード

改訂履歴

Release 1.11 [June 30, 2004] 公開初版


Generated on Wed Jun 30 16:47:35 2004 for exediff by doxygen 1.3.7
Counter: thanks many visit