Good diffing comparison
-----------------------
[ ] What to diff
[ ] Diff Microsoft patches. PE files, both DLL an EXE files for x86, x86_64 and ARM.
[ ] Diff 2 versions of NTOSKRNL.exe.
[ ] Diff (and import symbols from) 2 versions of mpengine.dll: one with symbols, the other without symbols.
[ ] Diff 2 Unix/Linux ELF files for the same architecture: x86, x86_64, ARM, AArch64, MIPS, PPC, etc...
[ ] A good candidate here: different versions of BusyBox for different architectures.
[ ] Diff 2 Unix/Linux ELF files with different architectures.
[ ] Again, BusyBox is a good candidate. Otherwise, Debian supports many architectures.
[ ] Diff 2 Mach-O binaries. Some patch.
[ ] Diff 2 versions of the MacOSX kernel for x86_64.
[ ] Diff 2 versions of the same iOS program.
[ ] Diff 2 versions of the iOS kernel.
[ ] Diff (and import symbols from) the MacOSX kernel, with symbols, against the iOS kernel.
[ ] Diff 2 binaries for the same program that are one ELF and one PE for the same architecture.
[ ] Diff 2 binaries for the same program that are one ELF and one PE for different architectures.
[ ] Diff (and import symbols from) 2 versions of a firmware for the same CPU architecture.
[ ] PS4 kernels, for example, are a good target.
[ ] For example, port the symbols from kernel 1.76 to the stripped kernel 5.50.
[ ] Another example: port FreeBSD's kernel symbols to the stripped PS4 kernel 5.50.
[ ] Diff (and import symbols from) 2 versions of a firmware for different architectures.
[ ] Again, diffing the PS4 against the FreeBSD kernel for different architectures.
[ ] Diff (and import symbols from) a library against a program that statically links to it, for the same architecture.
[ ] Good examples are sqlite3, libxml2 or V8.
[ ] Diff 2 binaries for any format that is not PE, ELF or MachO for:
[ ] ...uncommon architectures, but comparing the same architecture.
[ ] ...two different and uncommon architectures.
[ ] Batch analysis
[ ] Automated export.
[ ] Automated diffing.
[ ] What to measure
[ ] Accuracy.
[ ] Time to export.
[ ] Accuracy.
[ ] Time to diff.
[ ] And Accuracy.
[ ] Things to verify when importing database
[ ] Function names.
[ ] Function comments.
[ ] Global names.
[ ] Function prototypes.
[ ] Pseudo-code comments.
[ ] Structs and enums.
Comments