Skip to content
/ undname Public

CFFI wrapper for Wine MSVC name un-decorator

License

Notifications You must be signed in to change notification settings

ikseek/undname

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

undname: CFFI wrapper for Wine MSVC name un-decorator

https://img.shields.io/pypi/v/undname?style=plastic

Tiny cffi wrapper around patched undname.c module from Wine project.

WARNING: this package is built on top of pretty tricky third-party C code that might have bugs causing python interpreter to crash. I've fixed those I spotted myself but there might be more. Please report if you find any input causing a crash.

Usage example:

>>> from undname import undname
>>> undname("?xyz@?$abc@V?$def@H@@PAX@@YAXXZ")
'void __cdecl abc<class def<int>,void *>::xyz(void)'

Un-decoration errors are raised as python exceptions:

>>> undname("?")
Traceback (most recent call last):
 ...
undname.UndnameFailure: Failed at...

Strings that don't look like decorated symbols are left as is

>>> undname("main")
'main'