What is the feature you'd like to have?
Binary Ninja should:
- automatically parse Swift metadata
- add native support for Swift fundamentals (String)
- add Swift's weird calling conventions (this already has an issue)
- automatically fix up common Swift patterns (e.g. turning Swift strings into Objective-C strings)
Is your feature request related to a problem?
Swift code is currently a mess. This can be seen any time a Swift String is converted to CFString: It's rendered in Binary Ninja as a call with no parameters returning void *. This is clearly not ideal, especially for things like Swift code that uses Objective-C functions with string literals.
Are any alternative solutions acceptable?
There is already a plugin that does some of this, but it can never truly replicate native support.
Additional Information:
Swift embeds an absurd amount of metadata into any binary it creates. This metadata can be used to get back to near source-level quality. It includes extensive type, class, inheritance, and method information. Not using it is a waste.
What is the feature you'd like to have?
Binary Ninja should:
Is your feature request related to a problem?
Swift code is currently a mess. This can be seen any time a Swift String is converted to CFString: It's rendered in Binary Ninja as a call with no parameters returning void *. This is clearly not ideal, especially for things like Swift code that uses Objective-C functions with string literals.
Are any alternative solutions acceptable?
There is already a plugin that does some of this, but it can never truly replicate native support.
Additional Information:
Swift embeds an absurd amount of metadata into any binary it creates. This metadata can be used to get back to near source-level quality. It includes extensive type, class, inheritance, and method information. Not using it is a waste.