moyix / pdbparse

Python code to parse Microsoft PDB files
Other
309 stars 83 forks source link

Pr python3 #35

Closed lucasg closed 7 years ago

lucasg commented 7 years ago

Hi,

I've ported your library over Python3 (believe it or not, people still preferentially use pdbparse when working with PDB). Sorry for the massive code changes, but it's not possible to do it incrementally.

I've tested it on:

There is probably still some kinks to iron out, even though I tried to be thorough (I even had to do some software archeology to get my hands on a pre-WinXP dll and pdb) :

coverage

(I've ignored undecorate.py, undname.py and postfix_eval.py which not actually used by the library)

Anyway, I'm at your disposal if you have any questions or suggestions about this PR.

L.

moyix commented 7 years ago

Wow, this is awesome! Thanks so much for putting this together! I'm going to run this by the Volatility folks since I believe pdbparse is still in their critical path, but it should be OK to merge after they verify it doesn't break their workflow :)

lucasg commented 7 years ago

I just realized my PR fixes those issues :

moyix commented 7 years ago

I haven't heard back definitively from the Volatility folks, but they tell me that they will be switching to an LLVM-based parser from version 3, so I don't see any harm in merging this now. Thanks again for the PR!

lucasg commented 7 years ago

Whoops I've just noticed I haven't upstreamed the modifications on the undame C module for the support of Python3 compilation. I'll create another pull request right away.