Home / Pet
Name Modified Size InfoDownloads / Week
Parent folder
readme.md 2020-05-10 5.5 kB
PETool-0.6-src.7z 2020-05-07 66.1 kB
PETool-0.6-beta.7z 2020-05-07 29.7 kB
PETool-0.6-alpha.7z 2017-03-01 29.0 kB
PETool-0.5.1-src.7z 2016-10-08 91.8 kB
PETool-0.5.1.7z 2016-10-08 29.4 kB
PETool-0.5-src.7z 2016-07-07 92.5 kB
PETool-0.5.7z 2016-07-07 29.5 kB
PETool-0.5-alpha.7z 2016-07-02 29.8 kB
PETool-0.4.1-src.7z 2016-01-30 116.5 kB
PETool-0.4.1.7z 2016-01-30 27.3 kB
PETool-0.4-src.7z 2016-01-21 118.3 kB
PETool-0.4.7z 2016-01-21 27.3 kB
PETool-0.4-beta.7z 2016-01-07 26.7 kB
PETool-0.4-alpha2.7z 2015-11-27 24.6 kB
PETool-0.4-alpha.7z 2015-11-17 24.3 kB
PETool-0.3.2-src.7z 2015-11-08 115.3 kB
PETool-0.3-src.7z 2015-11-08 111.5 kB
PETool-0.3.2.7z 2015-03-13 19.7 kB
Totals: 19 Items   1.0 MB 1

PE Tool

PE Tool is a small utility for reducing size of Windows executables and DLLs (PE files) without compression.

It can strip empty data directory entries, debug information, chained data, empty and orphaned sections, also sections given manually by name. It also strips relocation symbols and exports from executable files (but keeps in libraries, of course).

PE Tool can replace DOS stub with any given executable and can extract stubs to files. PE Tool's built-in stub only 60 bytes long, you can use it if you want.

At final step, PE Tool changes file align value to minimum allowed in PE files and can truncate file immediately after last section data end.

Limitations and Issues

At this moment, PE Tool can handle only Win32 PE files, but cannot handle x64 PE files and .NET assemblies. Executables built by GNU compilers cannot be handled in safe mode and mostly don't work after unsafe stripping. Stripping of native mode executables (drivers, etc.) is also dangerous, but not investigated yet.

History

  • PE Tool 0.6
    • PE Tool 0.6 beta (revision 874):
      • Command line key -ls now works after file stripping.
      • Improved and enhanced section list output for one and multiple file.
      • Log styles renamed to brief and detail.
      • File size benefit now calculating from the size of source file, if exists.
      • No align of file sections when current file section alignment is less than PE Tool default (128).
      • Rebuilding of 32 bit .NET assemblies.
      • Correct file certificate stripping.
      • New image base parameter for -rebase key can be given in hexadecimal format.
      • Rebase to any address in -rebase key, including 0.
      • Many bugs fixed.
    • PE Tool 0.6 alpha (revision 767):
      • Command line key -nx renamed to -dep.
      • Now building program with ASLR and DEP features for distribution.
      • Added scripts for stripping programs and Pet itself.
      • Pet icon removed.
      • Proper error messages about unsupported formats (DOS/DPMI, NE, .NET and PE64).
      • No failures when reading some NE files.
      • Fixed bugs in -into and -ls commands.
  • PE Tool 0.5
    • PE Tool 0.5.1 (revision 735):
      • Improved strip of 'PADDINGXXPADDING'.
      • Display message about relocations keeping only when relocation stripping is really possible.
      • MENUETxx support physically removed.
    • PE Tool 0.5 (revision 719), released without MENUET0x support
      • Added support for dynamic image base (ASLR) and DEP compatibitily (NX bit) features, with -aslr and -nx keys, accordingly.
      • Saves destination file directly to given name, keeping hardlinks.
      • Custom stubs in distribution renamed according to Windows kernel versions.
      • MENUET0x support requires more work, including code refactoring, which not planned before. Because of it, MENUET0x support postponed to further versions.
    • PE Tool 0.5 alpha (revision 697):
      • Added rebase PE feature.
      • Added log style setting.
      • Improved command line key handing, when passed one after the other.
      • Key -listsect renamed to -ls.
      • Compatibility with 7-Zip.
      • Non-standard features made optional with -dir and -raw keys.
      • Graphical icon changed to more similar to text logo.
      • Initial MENUET01/02 support, yet unusable.
      • Custom stubs for all Windows kernels included in distribution (implies using with -osver option).
      • After revision 694, rebuilt with -raw key to avoid antivirus false positives.
  • PE Tool 0.4 #ПокажиКота
    • PE Tool 0.4.1 #ПокажиКота (revision 651):
      • This is bugfix release.
    • PE Tool 0.4 #ПокажиКота (revision 638):
      • No feature changes since last beta.
    • PE Tool 0.4 revision 603 #ПокажиКота (beta):
      • Can handle multiple source file masks.
      • New log style 'totals only', switched on automatically when multiple files found.
      • Restored -dropsect option.
    • PE Tool 0.4 revision 567 #ПокажиКота (alpha 2):
      • Can handle source file masks.
    • PE Tool 0.4 revision 557 #ПокажиКота (alpha):
      • New CoreLite.
      • Revision numbering from SVN.
      • New log output.
      • Added -version and -nologo keys.
      • New -touch feature.
      • Dot for default values.
      • Existing -dropsect option not ported yet.
  • PE Tool 0.3
    • PE Tool 0.3.2 build 84:
      • Fixed BorlndMM.dll usage.
      • Sources fixed for modern versions of Delphi in October, 2015.
    • PE Tool 0.3.2 build 83:
      • Removed unimplemented features.
    • PE Tool 0.3.2 build 82:
      • UTF-8 console enabled, proposed KOLIBRI format removed.
    • PE Tool 0.3.2 build 78:
      • Added stripping of "PADDINGXXPADDING" from resource sections.
    • PE Tool 0.3.1 build 66
      • First public alpha.
Source: readme.md, updated 2020-05-10