https://github.com/virb3/swift-ida
IDA plugin to aid with Swift reverse engineering
https://github.com/virb3/swift-ida
go ida ida-pro plugin reverse-engineering rust swift
Last synced: 8 months ago
JSON representation
IDA plugin to aid with Swift reverse engineering
- Host: GitHub
- URL: https://github.com/virb3/swift-ida
- Owner: ViRb3
- Created: 2024-10-23T22:29:27.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-10-26T20:47:07.000Z (over 1 year ago)
- Last Synced: 2025-03-19T04:14:08.231Z (over 1 year ago)
- Topics: go, ida, ida-pro, plugin, reverse-engineering, rust, swift
- Language: Python
- Homepage:
- Size: 183 KB
- Stars: 28
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# SwiftIDA
This is a simple plugin for IDA to aid with reverse engineering languages that have multiple return values and non-standard calling conventions. It does this by defining a set of shortcuts to easily change a function's calling convention and make it return a multi-value tuple. Tested on Swift and Golang, but should work on many more languages too.
## Usage
Download `swift-ida.py` and drop it in your IDA's `plugins` folder. After that, simply right-click on a function definition and you will see the `SwiftIDA` menu.

---
#### Before:



---
#### After:



## References
- https://github.com/swiftlang/swift/blob/main/docs/ABI/CallConvSummary.rst
- https://hex-rays.com/blog/igors-tip-of-the-week-107-multiple-return-values
- https://hex-rays.com/blog/igors-tip-of-the-week-51-custom-calling-conventions
- https://docs.hex-rays.com/user-guide/user-interface/menu-bar/edit/functions#set-function-item-type