erocarrera / pefile

pefile is a Python module to read and work with PE (Portable Executable) files
MIT License
1.85k stars 517 forks source link

PEiD signature parsing incomplete #192

Open pesco opened 7 years ago

pesco commented 7 years ago

While researching the PEiD "userdb.txt" format, I came across your code and decided to have a look at how you handle some of the obscure pattern features I found in the following file that I used as a reference: https://github.com/ynadji/peid/blob/master/userdb.txt

From reading, it seems that your code does not handle the cases I had in mind, leading (I guess) to patterns being misinterpreted.

The file I mentioned contains 178 signatures that show one of the above features; 28 nibble patterns, 34 trailing nibbles, 128 "J" patterns, and 6 "V" patterns.

erocarrera commented 6 years ago

Thanks for letting me know. It's been a while since I wrote the PEiD parsing code. I don't believe I ever aimed at perfect compatibility, as you point out, there are patterns whose meaning does not appear entirely clear. If there were some documentation about the format, please let me know; I could take a look. I'd also accept any PRs to improve the parsing :-)

ExeinfoASL commented 4 years ago

Exeinfo Pe not support : "J", "V" or similar codes if you use external userdb.txt file.