Readme.txt 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374
  1. Version Information Viewer Ver 2.23
  2. plugin for Total Commander (version 5.50 and above only)
  3. ===================================
  4. first, this viewer was intended to check all files for a Version Ressource and display it.
  5. now, it can extract File Header Information, import/export functions,debug info of an executable EXE/DLL regardless of its extension.
  6. LIB, OBj and EXP file are also dumped.
  7. DLL and function dependencies are tested for static and delayed DLL.
  8. Installation
  9. -------------
  10. 4 versions are included in this zipped file
  11. - wlx_fileinfo32 and wlx_fileinfo64 are statically linked to MFC, size is larger but no DLL is needed
  12. - wlx_fileinfo32_DL and wlx_fileinfo64_DL are dynamically linked to MFC, size is half the weight but
  13. 2 DLLs from MFC9.0 are needed (MFC90.dll, MSVCR90.dll)
  14. x32 and x64 plugin can be installed in the same directory
  15. Use the plugin auto-install interface, ie just open the zip file in TC
  16. Try to install first the DL variant of this plugin, if TC display an error message then you are missing MFC9 DLL so install the statically linked version of this plugin
  17. OR if you know what you are doing, you can install it manually :
  18. Copy "fileinfo.wlx" in your plugin directory
  19. and add these two lines to your wincmd.ini (in 5.50 and above)
  20. ....or use the Lister plugin interface (in 5.51)
  21. [ListerPlugins]
  22. 0=C:\wincmd\plugin\fileinfo.wlx
  23. (Change path to your real one )
  24. additional DLL needed by fileinfo.wlx:
  25. --------------------------------------
  26. IMAGEHLP.DLL
  27. optional DLL to use Disassembly facilities: (doesn't work in x64 version)
  28. --------------------------------------
  29. CADT.DLL
  30. You must activate manually disassembly in 'fileinfo.ini'
  31. and copy DLL in TCMD directory or in "SYSTEM32" directory or in "fileinfo.wlx" directory
  32. download here : http://physio-a.univ-tours.fr/tcplugins/cadt.rar
  33. Description of "fileinfo.ini"
  34. ---------------------------
  35. [Options]
  36. RememberAP=0 : 1 = remember the last active page (0 don't)
  37. autosave=1 : autosaving size and position of mmedia lister (0 don't)
  38. ActivePage=1 :
  39. Undecorate=1 : demangle microsoft and borland C++ functions (0 don't)
  40. Dump_res=0 : 1 = Dump Resources (0 don't)
  41. ShowDebug=0 : 1 = Show Debug information (0 don't)
  42. MaxDepth=2 : Depth of DLL Dependencies analysis
  43. W95Protect=1 : with protection, all fonctions of fileinfo are not activated, (0 to disable)
  44. ComInt=1 : pre-detect COM Interface (0 to disable but some OLE type library will be not detected)
  45. Disassemble=0 : disable by default.(1 to enable, need cadt.dll to be copied in "system32" directory)
  46. UserFont=1 : Load User font (enable by default, 0 don't)
  47. Rect=EA0200001401000081040000050300008E : size and position of mmedia lister (remove line to reinit)
  48. Warning :
  49. default value for 'Maxdepth' is 2. on slow computer, set 1 to speed up.
  50. value > 4 can freeze computer for a long time
  51. Tips :
  52. ------
  53. - in 'Dll dependency' tab
  54. red icon : missing DLL
  55. yellow icon : missing function in DLL
  56. see options tab for more information
  57. depth of analysis can now be defined ( directly in "fileinfo.ini")
  58. - in 'Imports / Exports' tab
  59. name of function copied on clipboard when you click on it
  60. - to use plugins, see plugins.txt
  61. - you can save unpacked PE file with CTL-S
  62. - in 'DLL dependency' & 'Imports/Exports' tabs,
  63. the 'F3' key can open a new fileinfo window of the highlight DLL
  64. Some code come from :
  65. --------------------
  66. Enrico Frumento to provide me sources to extract typelib information
  67. Thomas Weller for his file : file_ver.cpp ; Implementation of class CFileVersionInfo. (Last modified: 02/02/2002)
  68. Giancarlo Iovino for his HyperLink static control
  69. Matt Pietrek for his helpfull articles on PE files format and some of his source.
  70. Christian Ghisler : author of Total Commander: for developing this great utilitie and for the lister plugin interface
  71. Ms-Rem (Ms-Rem@yandex.ru) for Disassembly DLL (CADT.DLL)
  72. History :
  73. ---------
  74. 2.23 - 18.05.2017
  75. - Fixed : ListLoadNext not really working (content not changed)
  76. - Fixed : Pointer moved to arbitrary location
  77. - Fixed : Missing values in "Manifest"
  78. - Fixed : Crash in "Image File Header" on some DLL\n
  79. - Fixed : Crash in "Image File Header" with option "Relocations" (Dump_Pdata)
  80. - Fixed : Memory leak
  81. 2.22 - 01.07.2015
  82. - Added : Implementation of ListLoadNext
  83. - Added : links to support and donation
  84. - Added : Context Menu for "File properties"/"Image File Header"/"Manifest" tabs
  85. - Updated : links to new HTML homepage and e-mail
  86. - Fixed : DoS vulnerability (10 corrected)
  87. - Fixed : crash with some EXE/DLL without resource
  88. - Fixed : incorrect list of import functions in delayed DLL of x64 Applications
  89. - Fixed : crash in "Resource Dump" with some chars in String Table
  90. - Fixed : resources not shown if Manifest resource exist
  91. - Fixed : some memory leaks
  92. 2.21 - 15.01.2012
  93. - Added : subsystem "IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION" and "IMAGE_SUBSYSTEM_EFI_ROM"
  94. - Added : new tab for Manifest resource if present
  95. - Added : resource types "RT_HTML", "RT_MANIFEST", "RT_DLGINIT" & "RT_TOOLBAR"
  96. - Added : 's' and 'u' key to sort and undecorate in 'Imports/Exports' tabs
  97. - Added : in 'DLL dependency' & 'Imports/Exports' tabs, the 'F3' key can open a new fileinfo window
  98. - Added : x64 version of unaspack plugun
  99. - Added : Button to edit fileinfo.ini
  100. - Added : in "DLL dependency" tab, path of file is added
  101. - Changed : Address/Size of unused Data directory not displayed
  102. - Fixed : crash with filesize > 4GB
  103. - Fixed : in Imports/Exports tab, impossible to uncheck 'Sort' checkbox
  104. - Fixed : unaspack plugin
  105. - Fixed : wrong service pack detected
  106. - Fixed : missing delay-load DLL was not displayed correctly
  107. 2.20 - 09.10.2011
  108. - Added : both x32/x64 versions are included
  109. - Added : display the number of imported/exported functions
  110. - Added : Display path of configuration file
  111. - Changed : fileinfo.ini is placed by default in the wincmd.ini directory
  112. - Changed : cadt.dll can now be put in fileinfo.wlx directory
  113. - Changed fonts to tahoma in imports/Exports tab
  114. - Fixed : Crash with unaspack plugin with some EXE
  115. - Fixed : Crash in Dump Bound Import Descriptors
  116. - Fixed : Crash in Dump Delayed Import section with Packed EXE
  117. - Fixed : Crash in Dependency list with Packed EXE
  118. - Fixed : test ptr out of bound in import section
  119. 2.10 - 28.11.2007
  120. - Updated : Some IMAGE_FILE_MACHINE descriptors
  121. - Changed : fileinfo.ini removed from distribution
  122. - Fixed : compatibility with MSWin Vista
  123. - Fixed : protection against DoS vulnerability (see http://securityreason.com/securityalert/3044 )
  124. - Fixed : protection against spoofing (see http://securityreason.com/securityalert/3044 )
  125. - Fixed : Arrow key come back
  126. - Fixed : crash in "Import Table Dump" with some compressed EXE
  127. - Fixed : crash in "Export Table Dump" with some compressed EXE
  128. 2.09 - 31.11.2006
  129. - Added : Option to not Load User Font
  130. - Fixed : Crash in disassemble tab with some EXE
  131. - Fixed : CTL-Tab key come back
  132. - Fixed : Tab name with typelib info
  133. - Fixed : Some SH3/SH4 specific dll not recognized
  134. 2.08 - 09.11.2006
  135. - Added : Disassembly of code
  136. - Added : Display Entry-point of Executables
  137. - Added : Option to stop pre-detecting COM Interface
  138. - Fixed : protect Win9x machine against malware code in COM interface (need to be tested)
  139. - Fixed : Crash with some Microsoft xpsp... DLL
  140. - Fixed : Incorrect size of windows in quickview mode
  141. 2.07 - 24.08.2005
  142. - Added : Relocation entries
  143. - Added : Codeview format "RSDS"
  144. - Added : Option to enable/disable view of runtime function table
  145. - Added : Option to enable/disable view of relocations
  146. - Added : Some IMAGE_DEBUG_TYPE descriptors
  147. - Added : Some IMAGE_FILE_MACHINE descriptors
  148. - Fixed : Crash when dumping 64bits executables with IMAGE_ORDINAL_FLAG64 present
  149. - Fixed : Imported functions not shown in import tab if dll not found
  150. 2.06 - 08.07.2005
  151. - Updated : some characteristic flags
  152. - Added : compatibility with 64bits modules
  153. - Added : detection for Xbox system
  154. - Fixed : access to some files not freed
  155. - Fixed : crash after viewing lib/obj file
  156. - Fixed : Malware code executed when viewing doubtful DLL
  157. 2.05 - 20.01.2005
  158. - Updated : Display compressed PE-EXE ( Winzip )
  159. - Added : automatic plugin installation (TC 6.5 and above)
  160. - Added : filename in save dialog
  161. - Added : add the same extention to the file in save dialog if none is given
  162. - Fixed : button name in save dialog
  163. - Fixed : crash lister with some UPX compressed EXE files (Maxthon.exe)
  164. - Fixed : unaspack crash with some compressed-EXE
  165. 2.04b- 13.09.2004
  166. - Added : can save unpacked file with CTL-S
  167. - Fixed : start COM server with linked extensions (excel, PSP, photoshop,...)
  168. - Fixed : cannot rename or delete no extension's file after viewing
  169. 2.04a- 03.09.2004
  170. - Fixed : start excel.exe with cvs/csv file
  171. - Fixed : Scrollbars lost in "Import" tab
  172. 2.04 - 01.09.2004
  173. - Added : save "sort" state in "Import" tab
  174. - Added : Dump of LIB, OBJ, EXP files
  175. - Added : register OLE components even if typelib info isn't present
  176. - Fixed : start excel.exe with xls/cvs file
  177. - Fixed : Hscrollbar lost when sorting in "Import" tab
  178. 2.03 - 09.07.2004
  179. - Added : Option to change the depth of analysis in DLL dependencies
  180. - Added : Fix for cygwin DLL Dumping (bugged)
  181. - Added : group DLL redondance found in Import table
  182. - Added : typelib information of TLB files
  183. - Fixed : crash in 'Image File Header' when EXE have no Import Table
  184. - Fixed : crash with some Cygwin compiled DLL ( in parts )
  185. - Changed : rewriting some part (speed up file analysis)
  186. 2.02 - 18.06.2004
  187. - Fixed : crash in 'Import/Export' when you click outside selections
  188. - Fixed : increase compatibility with some EXE files
  189. - Fixed : hang with damaged executables
  190. - Added : read some unconventional VersionInfo
  191. - Added : Option to sort functions in 'Import/Export' tab
  192. - Added : Jump directly to tabs with CTRL-( 1 to 8 )
  193. - Added : register/unregister activex library
  194. - Added : typelib information
  195. - Added : image for SH3, SH4, SH5, ARM and AMD64 processors
  196. - Changed : page order to be more usefull with autosave option
  197. 2.01 - 20.03.2004
  198. - Added : %COMMANDER_PATH% can be used in fileinfo.ini for plugin paths
  199. - Changed : rewriting some part (less memory used and speed up file analysis)
  200. - Fixed : crash with compressed-exe holding delay-load import
  201. - Fixed : crash in 'DLL dependency' on other EXE type than PE
  202. 2.00 - 16.03.2004
  203. - Added : can use plugin to pre-analysing, decoding or unpacking executables
  204. - Added : 'Dll dependency' test now missing functions
  205. - Added : copy of exported function undecorate or not(in 'Imports' tabs)
  206. - Added : Depth of analysis in DLL dependencies can now be chosen
  207. - Added : Delayed Import Table added to Dump
  208. - Added : Import/Export tabs
  209. - Added : Function imported can be tested and missing functions will be shown
  210. - Added : version of windows added in 'File properties'
  211. - Changed : demangling of borland C++ more accurate (still some problems with multi-nested template)
  212. - Changed : Names of section more explicit
  213. - Fixed : VersionInfo of Visual Basic executables not shown correctly
  214. 1.99 - not released
  215. - Fixed : version resource of .VXD and .386 files not shown under WinNT
  216. - Fixed : version resource with long string not shown
  217. - Fixed : some version resource entries not shown
  218. - Fixed : incompatibility with some executable
  219. - Fixed : Import Table not shown with some executable
  220. 1.93 - 07.02.2004
  221. - Added : 'w' key to switch WordWrapping in property or Header page
  222. - Fixed : crash in "Resource Dump" with most compressed EXE
  223. - Fixed : multi-language FileVersionInfo wasn't working on Win9x
  224. 1.92 - 03.02.2004
  225. - Added : Read all non standard VersionInfo entries...
  226. - Added : Support multi-language FileVersionInfo (like TC 6.01, ;-)
  227. - Added : Registry entries are now automatically make up when missing
  228. - Updated : Split Option/Info page
  229. - Fixed : Wrong FileVersionInfoSize (Block Size)
  230. - Fixed : bad DLL name
  231. - Fixed : missing DLL or Delayed DLL
  232. - Fixed : Check RE and related messages are definitively removed
  233. - Fixed : some strange keystroke behaviour
  234. - Fixed : crash when recall QuickView
  235. - Fixed : crash with some EXE files without "Version Information"
  236. 1.91 - 24.06.2003
  237. - Fixed : (NT4/Win95) first branch of the tree is now expanded by default.
  238. - Fixed : (NT4/Win95) "File Properties" and "Image Header" tabs doesn't show scroll bar correctly
  239. - Fixed : crash in "Import Table Dump" and "DLL Dependency list" with some EXE
  240. 1.90 - 05.06.2003
  241. - Updated : additionnal information for NE executable
  242. - Updated : additionnal information for LE executable (VXD,...)
  243. - Added : links to HTML homepage and e-mail
  244. - Fixed : don't autosave when iconized or maximized
  245. - Fixed : crash in "Export Table Dump" with some compressed EXE
  246. 1.80 - 23.05.2003
  247. - Updated : Display compressed PE-EXE ( UPX, aspack, manolo, peload, pepack, pe-prot,
  248. peshield, petite, securom, shrinker, VBOX/TimeLock, VGCRIPT, WWPack32, PE-Compact)
  249. some have not been tested.
  250. - Updated : Format of hexadecimal numbers
  251. - Fixed : crash in "resource dump" with some compressed EXE
  252. - Fixed : crash in "Dll dependency" with some compressed PE-EXE
  253. - Fixed : bug with "debug info" from CodeView
  254. - Fixed : multiple instance started (message error related to "richedit" library)
  255. 1.7 - 20.05.2003
  256. - Added : Option to show symbol table, debug Information and line number if disponible
  257. - Added : Option to dump resources ( partial, may crash with compressed EXE )
  258. - Fixed : bug with Richedit library
  259. 1.6 - 16.05.2003
  260. - Added : Display Undecorated Symbol Name for Microsoft C++
  261. - Added : Display Unmangled Fonction Name from Borland C++ ( partial )
  262. (Unmangled names are shown by an arrow (->))
  263. - Added : Read LE and VXD Executable Header Information ( partial, in development )
  264. - Added : Search for compressed executables ( DOS only, in development )
  265. - Added : Display Dos Header Information for all files
  266. - Added : Extra Dos Header Information displayed
  267. - Added : Get focus to RichEdit control
  268. - Fixed : bug with filesize of open file (in win95/98/Me)
  269. - Changed : Move 'File Characteristics' to beginning
  270. 1.5 - 09.04.2003
  271. - Merged all version (95, NT, 2000, XP)
  272. - Added : Read Dos Executable Header Information
  273. - Added : Read NE Executable Header Information
  274. - Added : Read LX Executable Header Information
  275. - Fixed : Handle now All delay-load DLL (Thanks to Matt Pietrek)
  276. - Changed : Dynamic reading of File Header (speed when just looking at file properties)
  277. - Added : option to disable checking of registry entries
  278. 1.42- 04.04.2003
  279. - Fixed : use now correct fontsize
  280. - Added : some code to check if registry keys for TC are valid ( essential for font choosen by users )
  281. - autosave option fixed
  282. - Fixed : time and date in Win95 version
  283. - More compatibility with old delay-load DLL dependency
  284. - some minor bugs fixed
  285. 1.41 - 31.03.2003
  286. - Corrected : Use Font and size choosen by user
  287. - Corrected : special build for Win95 and NT4 (ver 1.41.95)
  288. 1.4 - 30.03.2003
  289. - Open all PE files
  290. - Create special build for Win95 and WinNT ( < NT5 ) (ver 1.4.95)
  291. - Change Page with "CTRL-TAB" in QuickView mode also
  292. - "Select all" and "copy" managed
  293. - Add option to autosave windows position and size
  294. - Add option to remember the last page open
  295. - Use Font and size choosen by user
  296. ( You can use CTRL-Wheel to change temporarily font size)
  297. - More compatibility with old delayed DLL dependency
  298. - Correct bug with two fileinfo open at same time
  299. - Correct some minor bugs
  300. 1.3 - 26.03.2003
  301. - New interface
  302. - Correct some tabulations
  303. - Show delayed DLL dependency
  304. - Tree of Recursive DLL dependency
  305. - Show Image File Header
  306. 1.2 - 22.02.2003
  307. - Show static DLL dependency
  308. 1.1 - 16.12.2002
  309. - Change some code to allow using MFC
  310. - Correct some tabulations
  311. - Convert GMT time of file to local time zone
  312. - Regional settings are now taken into account for the Date
  313. 1.0 - 4.12.2002
  314. - Initial public release
  315. License Agreement
  316. --------------------------------------------------------
  317. This plugin is free software and provided "as is" without warranty of any kind, including, but not limited to, the implied warranties of merchant ability and fitness for a particular purpose. Should the program prove defective, you assume the cost of all necessary servicing, repair or correction.
  318. This program can be freely copied/distributed without breaking distributive package integrity.
  319. -----------------------------
  320. Send comments to the author :
  321. François GANNIER ( fg.tcplugins@free.fr )
  322. http://fg.tcplugins.free.fr/