Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add more signatures for Windows API functions #111

Open
ceeac opened this issue Oct 25, 2018 · 2 comments
Open

Add more signatures for Windows API functions #111

ceeac opened this issue Oct 25, 2018 · 2 comments
Labels
dom: decompilation (P/I) Covers all middle end related issues good first issue (I) Especially for those unfamiliar with the code type: enhancement (P/I) Tweaks or enhancements to existing functionality

Comments

@ceeac
Copy link
Member

ceeac commented Oct 25, 2018

Currently, decompilation of Windows executables produces unreadable and/or semantically wrong output because the signatures for most of the Windows API functions are missing. We should add signatures for at least the most commonly used ones.

@ceeac ceeac added dom: decompilation (P/I) Covers all middle end related issues good first issue (I) Especially for those unfamiliar with the code type: enhancement (P/I) Tweaks or enhancements to existing functionality labels Oct 25, 2018
@cb88
Copy link

cb88 commented Feb 5, 2019

Wouldn't support for automatic signature generation make sense also? Then just point boomerang at the windows SDK etc?

@ceeac
Copy link
Member Author

ceeac commented Feb 6, 2019

Yes, but there are a few more points to consider:

  • The current signature parser (AnsiC{Parser.y,Scanner.l}) only supports a subset of C so it would need to be expanded to support reading 'real-world' header files. It might also be possible to use clang for this; see Replace custom ansi-c parser with Clang #17.
  • Boomerang currently also infers other information from the header files: For example, currently a call to __isoc99_scanf is automatically converted to a call to scanf. This information would need to be incorporated.

That said, a tool for automatically generating Bomerang compatible function signature information from header files will definitely be useful. But that is certainly not a "good first issue"/easy kind of task.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dom: decompilation (P/I) Covers all middle end related issues good first issue (I) Especially for those unfamiliar with the code type: enhancement (P/I) Tweaks or enhancements to existing functionality
Projects
None yet
Development

No branches or pull requests

2 participants