![]() |
|
#1
|
||||
|
||||
|
PE Anatomist - PE files internals
PE Anatomist shows almost all known data structures inside a PE file and makes some analytics. Author: RamMerLabs Project Home: rammerlabs.alidml.ru Overview FILE FORMATS
PE IMAGE ARCHITECTURES
HEADERS AND DATA STRUCTURES PARSING
History 0.2.5 (2021-08-25):
0.1.6.260 (2019-11-23)
0.1.5.46 (2019-11-09)
0.1.4.192 (2019-10-31)
0.1.3.2 (2019-10-19)
0.1.2.57 (2019-10-18)
Download
__________________
EnJoy! Last edited by Jupiter; 10-17-2021 at 18:44. Reason: v0.2.5 (2021-08-25) |
| The Following 20 Users Say Thank You to Jupiter For This Useful Post: | ||
ahmadmansoor (12-05-2019), alekine322 (01-11-2020), binarylaw (09-11-2020), chessgod101 (12-27-2019), danrevella (06-11-2021), darkBLACK (12-15-2019), Doit (12-04-2019), Dr.FarFar (09-13-2022), Mahmoudnia (02-11-2020), MarcElBichon (12-02-2019), memo-5 (12-05-2019), mr.exodia (02-16-2020), Nacho_dj (12-02-2019), nimaarek (02-12-2020), nulli (12-02-2019), sh3dow (03-26-2021), WildGoblin (06-07-2022), wilson bibe (12-02-2019) | ||
|
#2
|
|||
|
|||
|
still wondering why nobody has made a pe util and called it pedofile... ;p
|
| The Following 4 Users Say Thank You to evlncrn8 For This Useful Post: | ||
Abaddon (12-04-2019), b30wulf (12-26-2019), demon_da (12-02-2019), Sailor_EDA (06-27-2020) | ||
|
#3
|
|||
|
|||
|
Version: 0.1.8.234 Update at 2019-12-20
Download: PE Anatomist.v.0.1.8.zip What's new? Added description for COFF Groups in the debug information table Updating the interface of the main window using a tree view of the available information New header information pages added: DOS_HEADER, FILE_HEADER, OPTIONAL_HEADER, CHPE_HEADER, VOLATILE_METADATA_HEADER Added parsing IAT table in CHPE for emulated architecture Added construction of a CFG bitmap and its display in a HEX form Added parsing of some specific tables for applications created in Visual Basic 5/6 Added file upload log displaying warnings about non-compliance with the PE format (the list of checks will expand) Implemented multiple selection of rows in lists |
| The Following User Says Thank You to leewm For This Useful Post: | ||
darkBLACK (12-30-2019) | ||
|
#4
|
||||
|
||||
|
Version: 0.1.9.64 Update at 2019-12-27
Download: PE Anatomist.v.0.1.9.zip What's new? Optimize some internal data formats Fixed way to save settings, now the mechanism uses next rules: - if there are no settings files in the program directory and in %appdata%, then the settings file will be created in the program directory; - if the program directory doesn't contain the settings file and the directory is not writable, then %appdata% will be used for storing the settings; - if there is a valid settings file in the program directory, then this is the only way to read the settings, and the settings also will store here, if the file is writable; - if the settings file is already in %appdata%, then it is always used to read/write settings. Directories hidden by decreasing "Number Of RVA And Sizes" values are grayed out if available |
| The Following 2 Users Say Thank You to bigboss-62 For This Useful Post: | ||
foosaa (01-04-2020), mrfearless (01-05-2020) | ||
|
#5
|
|||
|
|||
|
Hi RamMerLabs,
It is a nice PE dumper at the moment. I like how you handle things like RICH signature (not sure if someone documented it, or it is product of your own research? Anw, good job) and certificates. Lots can be done towards improving it, though i'm not sure if it's your purpose to go towards this direction: Make it a PE Editor, rather than a dumper (make fields editable). Add an embedded hexeditor window, to show things like contents of buffers (or certificates). etc, etc. Anw, its a nice project, that at least adds something new (to the tools i was accustomed to). Good job. |
|
#6
|
|||
|
|||
|
RamMerLabs,
The more i play with it, the more i realize the amount of research (either original, or just collecting information on a specific PE feature) this project entails. Just to name some of the most impressive features, decoding of language specific exception handler data, .NET directory info, VB5 & VB6 specific data decoding etc (Not sure where you decided to stop dealing with the VB, or .Net specific data, since you could actually build a full fledged decompiler when you go in sufficient depth). Thanks for the work put into this project. One think i would advise against, though (sorry for being a bit intrusive here) is your language of choice for the development of the application; an application that lies heavily on GUI, would benefit greatly from being developed in a RAD-oriented language (i'm pointing towards some of the .net applications here). I do understand the urge to develop something in ASM, due to seeing it as a challenge to master, or being a purist (been through that stage), but in my experience, projects tend to quickly become difficult to manage in ASM. However it is your project, and you should develop it as you see fit. Again thanks for releasing it, and i do hope to see more of it.
|
| The Following User Says Thank You to Abaddon For This Useful Post: | ||
RamMerLabs (02-13-2020) | ||
|
#7
|
|||
|
|||
|
@RamMerLabs
Could you make a plugin for x64dbg as a separate modification of your PEAnatomist program, that would be very convenient. |
| The Following User Says Thank You to mak For This Useful Post: | ||
RamMerLabs (11-01-2020) | ||
|
#8
|
|||
|
|||
|
Just a heads up, the links are (temporarliy?) unavalailable.
Thanks for the new release. Edit: Apparently it was a temporary situation. Accessible after a few minutes. |
|
#9
|
|||
|
|||
|
Some suggestions/feedback regarding string detection (low priority)
The user should be able to define the alphabet of the searchable characters. Or Pre-selected combinations should be availale to select from (in the form of a dropdown list). The current cofiguration does not allow someone enough flexibility (i.e. excluding special characters); or, to be precise, the 64 characters to choose from are not transparent to the user. Also, a good feature would be to be able to search unicode characters, characters from different languages (i.e. Russian) etc. Again, thanks for the nice application. |
| The Following 2 Users Say Thank You to Abaddon For This Useful Post: | ||
mak (04-03-2021), RamMerLabs (03-25-2021) | ||
|
#10
|
|||
|
|||
|
No problem, it was just a screenshot from the string options dialog.
I have described everything in text, which I assume communicated the message. I should have foreseen the problem, being myself a plebeian. However, in my case, the title is well deserved, for I have been a very selfish reverse engineer. You on the other hand, have contributed to the community; therefore, I ask the moderators/admins to promote you. |
|
#11
|
||||
|
||||
|
Excellent work.
Respect+ |
| The Following User Says Thank You to Kurapica For This Useful Post: | ||
RamMerLabs (11-20-2021) | ||
|
#12
|
|||
|
|||
|
RamMerLabs, if you are in one of the countries involved in the current conflict, I wish that you and your family are safe and well. Same goes for any other members of this forum.
Sorry to contact you like this in a public forum, but i have no pm privileges, and no other means of reaching you. Be safe. |
| The Following User Gave Reputation+1 to Abaddon For This Useful Post: | ||
WRP (03-08-2022) | ||
| The Following 7 Users Say Thank You to Abaddon For This Useful Post: | ||
binarylaw (03-13-2022), RamMerLabs (03-07-2022), tonyweb (03-13-2022), TQN (03-08-2022), WildGoblin (06-07-2022), WRP (03-08-2022), yoza (03-14-2022) | ||
|
#13
|
|||
|
|||
|
I think the loading of exports for arm 32 bit is not quite right:
for my win 11 test machine \SysArm32\ntdll.dll's LdrLoadDll has according tho the PEAnatomist the RVA or 0x2F9F1 and the image base is 0x4B280000, however when stepping through a arm32 project LdrLoadDll is in my instance at 0x7723F9F0 with base at 0x77210000 so the RVA seams to be 0x2F9F0, 1 less than what PEAnatomist shows, also checking with IDA it says the address of that function is 0x4B2AF9F0, that minus the base address gives also 0x2F9F0 as the correct RVA. Now that Said the peview of process hacker makes the same mistake :/ its strange that the values in the file are all off by exactly 1, its teh same for all functions I checked. Cheep fix add -1 to the RVA if its an arm image, but I woudl preffer to understand why its so ans have a proper fix. |
|
#14
|
|||
|
|||
|
Check with last version, 0.2.11320.1732
PEAnatomist will crash with DLLs that export API by oridinal when click on Export at tree left For examples, check with all MFC Dlls: Mfcxxx.dll And with many other Dlls |
![]() |
| Tags |
| coff, ms pdb, pe32 |
|
|