All Projects → inoahdev → Tbd

inoahdev / Tbd

Licence: mit
A command-line tool to create Text-Based Application Programming Interface (TAPI) files from existing binaries

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Tbd

Rd route
Function hooking for macOS
Stars: ✭ 138 (+68.29%)
Mutual labels:  mach-o
machomachomangler
Tools for mangling Mach-O and PE binaries
Stars: ✭ 39 (-52.44%)
Mutual labels:  mach-o
Macho Kit
A C/Objective-C library for parsing Mach-O files.
Stars: ✭ 416 (+407.32%)
Mutual labels:  mach-o
Ios Monitor Platform
📚 iOS 性能监控 SDK —— Wedjat(华狄特)开发过程的调研和整理
Stars: ✭ 2,316 (+2724.39%)
Mutual labels:  mach-o
Unity.Blog.Override App Delegate
A maintainable way to extend / override app delegate in Unity iOS / OSX standalone player. (Much) more at http://eppz.eu/blog/override-app-delegate-unity-ios-osx-1/
Stars: ✭ 28 (-65.85%)
Mutual labels:  mach-o
symbol-collector
Clients and Server to collect system symbols.
Stars: ✭ 20 (-75.61%)
Mutual labels:  mach-o
Bingrep
like ~~grep~~ UBER, but for binaries
Stars: ✭ 1,395 (+1601.22%)
Mutual labels:  mach-o
Machdump
A very basic C Mach-O Header Dump tool written for practicing purposes. Works With x86 and x86_64 binaries
Stars: ✭ 25 (-69.51%)
Mutual labels:  mach-o
SnakeKit
A C++ library for parsing ObjC Metadata of Mach-O files.
Stars: ✭ 26 (-68.29%)
Mutual labels:  mach-o
Macho Explorer
A graphical Mach-O viewer for macOS. Powered by Mach-O Kit.
Stars: ✭ 406 (+395.12%)
Mutual labels:  mach-o
Cave miner
Search for code cave in all binaries
Stars: ✭ 218 (+165.85%)
Mutual labels:  mach-o
Wbblades
基于mach-o解析技术的包大小占比分析、无用类检测、无符号表时的日志符号化 (Based on mach-o technology, a simple and efficient code size detection, useless class detection and unsigned crash log detection )
Stars: ✭ 243 (+196.34%)
Mutual labels:  mach-o
Osx Abi Macho File Format Reference
Mirror of OS X ABI Mach-O File Format Reference
Stars: ✭ 379 (+362.2%)
Mutual labels:  mach-o
Bitcode retriever
Retrieves Bitcode from Mach-O binaries
Stars: ✭ 164 (+100%)
Mutual labels:  mach-o
Hookcase
Tool for reverse engineering macOS/OS X
Stars: ✭ 452 (+451.22%)
Mutual labels:  mach-o
Filebytes
Library to read and edit files in the following formats: Executable and Linking Format (ELF), Portable Executable (PE), MachO and OAT (Android Runtime)
Stars: ✭ 105 (+28.05%)
Mutual labels:  mach-o
rust-macho
Mach-O File Format Parser for Rust
Stars: ✭ 55 (-32.93%)
Mutual labels:  mach-o
Macho Browser
Mac browser for Mach-O binaries (macOS, iOS, watchOS, and tvOS)
Stars: ✭ 77 (-6.1%)
Mutual labels:  mach-o
Fcd
An optimizing decompiler
Stars: ✭ 622 (+658.54%)
Mutual labels:  mach-o
Cydia
🔥🔥🔥我的微信公众号: Cydia 🔥🔥🔥=> Cydia插件 Logos语言 开发Tweak.xm Cydia Substrate 注入dylib iOS逆向工程开发 越狱Jailbreak deb插件 - fishhook / Frida / iOSOpenDev / Cycript / MachOView / IDA / Hopper Disassembler / MonkeyDev / Class-dump / Theos / Reveal / Dumpdecryptd / FLEX / 汇编Assembly / CaptainHook / lldb/LLVM/XNU/Darwin/iOS Reverse
Stars: ✭ 407 (+396.34%)
Mutual labels:  mach-o

tbd

Convert Mach-O Libraries & Frameworks to .tbd

Usage: tbd [-p/--path] [path-options] [file-paths] [-o/--output] [output-options] [output-paths]
Main options:
    -h, --help,   Print this message
    -o, --output, Path to an output file (or directory for recursing/dyld_shared_cache files) to write converted tbd files.
                  If provided file(s) already exists, contents will be overridden.
                  Can also provide "stdout" to print to stdout
    -p, --path,   Path to a mach-o or dyld_shared_cache file to convert to a tbd file.
                  Can also provide "stdin" to use standard input.
    -u, --usage,  Print this message

Write options:
Usage: tbd -o [options] path
        --preserve-subdirs,       Preserve the sub-directories of where files were found
                                  when recursing in relation to the actual provided recurse-path
        --no-overwrite,           Prevent overwriting of files when writing out
        --replace-path-extension, Replace the path-extension(s) of provided file(s) when
                                  writing out (Instead of simply appending .tbd)
        --combine-tbds,           Combine all tbds created (when recursing or with a dyld-shared-cache) into a
                                  single .tbd file

Path options:
Usage: tbd [-p] [options] path
    -r, --recurse, Specify directory to recurse and find all mach-o library and dyld_shared_cache images
                   Two modes exist for recursing:
                       once, Recurse only the top-level directory. This is the default mode for recursing
                       all,  Recurse both the top-level directory and over all sub-directories
        --macho,                         Specify that the file(s) provided should only be parsed
                                         if the file is a mach-o file.
                                         This option can be used to limit the filetypes parsed
                                         while recursing
        --dsc,                           Specify that the file(s) provided should only be parsed
                                         if it is a dyld-shared-cache file.
                                         Providing --macho or --dsc limits filetypes parsed when recursing
               --filter-image-directory, Specify a directory to filter dyld_shared_cache images from
               --filter-image-filename,  Specify a filename to filter dyld_shared_cache images from
               --filter-image-number,    Specify the number of an dyld_shared_cache image to parse out.
                                         To get the numbers of all available images, use the option --list-dsc-images
               --image-path,             Specify the path of an image to parse out.
                                         To get the paths of all available images, use the option --list-dsc-images
        -v, --version,                   Specify version of .tbd files to convert to (default is v2).
                                         This applies to all files where tbd-version was not explicitly set.
                                         To get a list of all available versions, look at the options below, or use
                                         the option --list-tbd-versions
        -v1,                             Set version of .tbd files to version v1.
        -v2,                             Set version of .tbd files to version v2. (This is the default .tbd version)
        -v3,                             Set version of .tbd files to version v3.
        -v4,                             Set version of .tbd files to version v4.

Ignore options: (Subset of path options)
        --ignore-clients,          Ignore clients field
        --ignore-compat-version,   Ignore compatibility-version field
        --ignore-current-version,  Ignore current-version field
        --ignore-flags,            Ignore flags field
        --ignore-objc-constraint,  Ignore objc-constraint field
        --ignore-parent-umbrellas, Ignore parent-umbrella field
        --ignore-reexports,        Ignore re-expotrs field
        --ignore-swift-version,    Ignore swift-version field
        --ignore-undefineds,       Ignore undefineds field
        --ignore-uuids,            Ignore uuids field

Symbol Ignore options: (Subset of path options)
        --ignore-normal-syms,       Ignore normal symbols
        --ignore-objc-class-syms,   Ignore objc-class symbols
        --ignore-objc-ivar-syms,    Ignore objc-ivar symbols
        --ignore-objc-ehtype-syms,  Ignore objc-ehtype symbols
        --ignore-thread-local-syms, Ignore thread-local symbols
        --ignore-weak-def-syms,     Ignore weak-def symbols

General ignore options (Subset of path options):
        --ignore-requests,          Ignore any and all user requests
        --ignore-warnings,          Ignore any warnings
        --ignore-wrong-filetype,    Ignore any warnings about a mach-o file
                                    having the wrong filetype

Symbol options: (Subset of path options)
        --allow-private-objc-symbols,   Allow all non-external objc-symbols (classes, ivars, and ehtypes)
        --allow-private-objc-classes,   Allow all non-external objc-classes
        --allow-private-objc-ehtypes,   Allow all non-external objc-ehtypes.
                                        objc-ehtype symbols are only recognized for .tbd version v3 and above
        --allow-private-objc-ivars,     Allow all non-external objc-ivars
        --use-export-trie,              Use only the export-trie and not the symbol-table
        --use-symbol-table,             Use the symbol-table over the export-trie

Field options: (Subset of path options)
        --replace-archs,           Provide a list of architectures to replace the list found in the provided input file(s)
                                   A list of architectures can be found by using option --list-architectures.
                                   Replacing the list of architectures will automatically remove the uuids field.
                                   In addition, each exported symbol will have the replaced list of architectures.
        --replace-current-version, Provide a current-version to replace the one found in the provided input file(s)
        --replace-compat-version,  Provide a compatibility-version to replace the one found in the provided input file(s)
        --replace-flags,           Provide flag(s) to replace flags found for .tbd files.
                                   This option is only supported for .tbd versions v2 (default version) and above.
                                   A list of flags can be found by using option --list-tbd-flags
        --replace-install-name,    Provide an install-name to replace the one found in the provided input file(s)
        --replace-objc-constraint, Provide an objc-constraint to replace the one found in the provided input file(s)
                                   A list of objc-constraints can be found by using option --list-objc-constraints.
                                   This option is only supported for .tbd versions v2 and v3.
                                   All other .tbd versions do not support objc-constraint
        --replace-platform,        Provide a platform to replace the one found for in the provided input file(s)
        --replace-swift-version,   Provide a swift-version to replace the one found for in the provided input file(s)
        --replace-targets,         Provide a list of targets to replace the list found in the provided input file(s).
                                   A target is in the form of arch-platform pair (ex. arm64-ios).
                                   A list of architectures can be found by using option --list-architectures.
                                   A list of platforms can be found by using option --list-platforms.
                                   --replace-targets is only supported tbd-version v4

Ignore field warning options: (Subset of path options)
        --ignore-missing-exports,  Ignore error for when no symbols or reexpors to write out
                                   are found
        --ignore-missing-uuids,    Ignore error for when uuids are not found
        --ignore-non-unique-uuids, Ignore error for when uuids found are not unique among one another

List options:
        --list-architectures,    List all valid architectures for .tbd files.
                                 Also able to list architectures of a single mach-o file from a provided path
        --list-dsc-images,       List all images of a dyld_shared_cache from a path to a single dyld_shared_cache file
                                 One option exists for listing dsc-images:
                                     --ordered
                                         Order image-paths alphabetically before printing them.
                                         An image-path's listed number from the ordered list should not be provided
                                         for option --filter-image-number
        --list-objc-constraints, List all valid objc-constraints
        --list-platforms,        List all valid platforms
        --list-tbd-flags,        List all valid flags for .tbd files
        --list-tbd-versions,     List all valid versions for .tbd files
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].