A reverse engineering tool to restore stripped symbol table and dump Objective-C class or Swift types for machO file.

Last update: May 17, 2022

resymbol

A reverse engineering tool to restore stripped symbol table and dump Objective-C class or Swift types for machO file.

class-dump

❯ git clone https://github.com/paradiseduo/resymbol.git
❯ cd resymbol
❯ ./build-macOS_x86.sh
❯ ./resymbol
OVERVIEW: resymbol v1.0.0

Restore symbol

USAGE: resymbol  [--ipa] [--symbol]

ARGUMENTS:
               The machO/IPA to restore symbol.

OPTIONS:
  -i, --ipa               If restore symbol ipa, please set this flag.
                          Default false mean is machO file path.
  -s, --symbol            Dump Symbol Table.
  --version               Show the version.
  -h, --help              Show help information.

Example

❯ ./resymbol resymbol > result
❯ cat result
struct Methods {
    let baseMethod: DataStruct
    let elementSize: DataStruct
    let elementCount: DataStruct
    let methods: Swift.Array?
}

struct MethodName {
    let name: DataStruct
    let methodName: DataStruct
}

struct segment_command_64 {
    let cmd: Swift.UInt32
    let cmdsize: Swift.UInt32
    let segname: Swift.Int8
    let vmaddr: Swift.UInt64
    let vmsize: Swift.UInt64
    let fileoff: Swift.UInt64
    let filesize: Swift.UInt64
    let maxprot: Swift.Int32
    let initprot: Swift.Int32
    let nsects: Swift.UInt32
    let flags: Swift.UInt32
}

struct mach_header_64 {
    let magic: Swift.UInt32
    let cputype: Swift.Int32
    let cpusubtype: Swift.Int32
    let filetype: Swift.UInt32
    let ncmds: Swift.UInt32
    let sizeofcmds: Swift.UInt32
    let flags: Swift.UInt32
    let reserved: Swift.UInt32
}
........

restore symbol table

To do...

Thanks

https://github.com/neil-wu/SwiftDump

https://github.com/nygard/class-dump

https://juejin.cn/post/6919034854159941645

GitHub

https://github.com/paradiseduo/resymbol
You might also like...

The ISO 8601 period/duration types missing in Foundation

PeriodDuration This library introduces a close equivalent to Java's PeriodDuration, motivated by the lack of support for this standard in Foundation.

Nov 11, 2021

MediaType is a library that can be used to create Media Types in a type-safe manner.

This is a general purpose Swift library for a concept of typed treatment for Media Types. We use this library on clients and servers to speak the same dialect and to enjoy all the comfort strong types provide over raw strings.

Apr 24, 2022

Mac app to change .ipa file app icons and display names

IPAEdit Mac app to change .ipa file app icon, display name, and app version to avoid updates Compatible with macOS 10.11+ Install To install either cl

Dec 13, 2021

WordScramble app for demonstrating loading an external txt file and working with it

WordScramble app for demonstrating loading an external txt file and working with it

WordScramble-v2 WordScramble app for demonstrating loading an external txt file and working with it App for creating anagrams from given 8 letter word

Nov 30, 2021

Taking a string containing a csv file and split it into records (aka lines) containing fields of data (aka Array of SubStrings)

Swift .csv parser Taking a string containing a csv file and split it into records (aka lines) containing fields of data (aka Array of SubStrings). Par

Dec 29, 2021

.DS_Store file parser/viewer.

.DS_Store file parser/viewer.

.DS_Store file parser/viewer.

Mar 15, 2022

Merges a given number of PDF files into one file using the PDFKit framework

Titanium iOS PDF Merge Merges a given number of PDF files into one file using the PDFKit framework Requirements iOS 11+ Titanium SDK 9+ API's Methods

Jan 26, 2022

Read iOS 15 privacy insight '.ndjson' file into your human brain.

Read iOS 15 privacy insight '.ndjson' file into your human brain.

Insight Read iOS 15 privacy insight '.ndjson' file into your human brain. Written in SwiftUI. Feature Compile records into app summary Relink app info

Apr 14, 2022

ALO sync allows you to sync resources form an ALO endpoint to your macOS file system.

ALO sync allows you to sync resources form an ALO endpoint to your macOS file system.

ALO sync allows you to sync resources form an ALO endpoint to your macOS file system. Prerequisites macOS 11 No support for search* No suppor

Jan 22, 2022
Related tags
A command-line tool and Swift Package for generating class diagrams powered by PlantUML
A command-line tool and Swift Package for generating class diagrams powered by PlantUML

SwiftPlantUML Generate UML class diagrams from swift code with this Command Line Interface (CLI) and Swift Package. Use one or more Swift files as inp

May 19, 2022
Using UI Table View With Swift
Using UI Table View With Swift

News-App - Apple 관련 기사를 보여주는 News app을 만들 것입니다. - 자세한 과정은 리드미에 있습니다. Table View와 Table view controller Table View : Table의 크기를 지정할 수 있다. Table View Co

Dec 9, 2021
How Swift standard types and classes were supposed to work.
How Swift standard types and classes were supposed to work.

How Swift standard types and classes were supposed to work. A collection of useful extensions for the Swift Standard Library, Foundation, and UIKit.

May 16, 2022
Swift package adding fraction and percentage types.

swift-rationals Rationals is a package containing Fraction and Percentage types for the Swift programming language. Contents The package currently pro

Dec 11, 2021
Parsing indeterminate types with Decodable and Either enum using Swift

Decodable + Either Parsing indeterminate types with Decodable and Either enum us

Jan 9, 2022
Extensions for Swift Standard Types and Classes

Cent Cent is a library that extends certain Swift object types using the extension feature and gives its two cents to Swift language. Dollar is a Swif

Apr 18, 2022
Functional data types and functions for any project

Swiftx Swiftx is a Swift library containing functional abstractions and extensions to the Swift Standard Library. Swiftx is a smaller and simpler way

Mar 7, 2022
Numerals is a package containing additional numeric types for the Swift programming language.

swift-numerals Numerals is a package containing additional numeric types for the Swift programming language. Contents The package currently provides t

Dec 21, 2021
Swift package adding measurable types.

swift-measures Measures is a package containing measurable types for the Swift programming language. Contents The package currently provides the follo

Apr 16, 2022
A Swift μ-Library for Somewhat Dependent Types

Validated Validated is a μ-library (~50 Source Lines of Code) that allows you make better use of Swift's type system by providing tools for easily gen

Mar 10, 2022