Helper/wrapper for mautrix-imessage for jailbroken devices

Related tags

Security Brooklyn
Overview

Brooklyn

This readme is out-of-date.

Blame Ethan, he's working on it.

Components

Rubicon

"The die is cast."

Crosses Apple's last river between IMCore and the rest of the system.

BrooklynBridge

The underlying API. Probably doesn't need to be .xm -- will look at that. Sparse for now, but will have many methods very soon

Brooklyn.app

iMessage runtime inspection tool. Also api testing grounds.

Build

macOS

Xcode

  1. Set up theos.
  2. Open brooklyn.xcodeproj.
  3. Go to the brooklyn target, then click Build Settings
  4. Change THEOS_DEVICE_IP to the Bonjour or IP address of the targeted device.
  5. Change THEOS to your full theos path. No cheating with ~. Do the same in the Makefile. This step won't be needed in the future.
  6. Open a terminal and type ssh-copy-id root@, followed by the address you set in Step 4. The default password for iOS is alpine. (If it gives an error, run ssh-keygen and spam enter, then try again.)
  7. Connect a device to Xcode, select brooklyn>(device) in the tab bar, and click Run!

Optional code highlighting, autocomplete, error checking:

  1. Set the build target to xchighlight>Any iOS Device (armv7, arm64) in the tab bar.
  2. Press Command-B.
  3. When this is done building, set the target back to brooklyn>(device).
  4. Every time you add a source file, go to the brooklyn xcodeproj in Xcode, click the xchighlight target, click Build Phases, and add it to the appropriate phase.

make

  1. Set up theos.
  2. Open the makefile.
  3. At the top, add: export THEOS_DEVICE_IP = , followed by your device's Bonjour or IP address.
  4. Open a terminal to the brooklyn folder.
  5. Run ssh-copy-id root@, followed by the address from Step 3. The default password is alpine. (If it gives an error, run ssh-keygen and spam enter, then try again.)
  6. Run make clean do.

Notes

If you make changes to .xib files, make sure to commit the built .nib files in the Resources folder as well. That way, other platforms can build without Xcode. This will not be a requirement in the future.

Linux / Windows

I'll add these instructions soon. I don't have theos set up on Windows. I also don't have a Linux install yet. For shame, I know, for shame! :P

Comments
  • CKTranscriptController not found

    CKTranscriptController not found

    Scott Wallace wrote:

    I've installed Brooklyn v0.0.1-11+main via Cydia but when I launch it it just returns to the main screen (Springboard).
    Any ideas on how to debug this?
    
    opened by EthanRDoesMC 15
  • iOS 9 camera black screen

    iOS 9 camera black screen

    Matt wrote:

    When trying to capture the QR code camera is just black. Another user on #imessage:maunium.net experienced the same issue, both on iOS 9 and Phoenix.
    Device: iPad mini 9.3.5 with Phoenix Jailbreak
    Brooklyn 0.0.1-12+main
    Crash Reporter shows nothing
    
    bug 
    opened by EthanRDoesMC 3
  • Fix message deduplication when double puppeting is enabled + memory leak

    Fix message deduplication when double puppeting is enabled + memory leak

    • Comparing IMMessage with each other won't work, we need to compare the GUID
    • Fix memory leak that would grow the list of GUID to compare indefinitely and limit the array to 10 GUIDs
    • Improve prefixes for logging to enable easier greping
    opened by CarlAmbroselli 4
  • Fix build configuration and README

    Fix build configuration and README

    Looking to improve double puppeting but wanted to get it to build locally for me first. Along the way I updated the README with the additional steps that I had to take as well as fix the mautrix-imessage fetching to the new URL.

    opened by CarlAmbroselli 0
  • mautrix-imessage needs to be outside of /var in iOS 12, but older 8gb devices only have enough space in /var

    mautrix-imessage needs to be outside of /var in iOS 12, but older 8gb devices only have enough space in /var

    in iOS 12, a binary has to be outside of /var to run. In the case of an 8gb 5c on iOS 10, however, only /var has enough space to store mautrix-imessage. Maybe an installation script could fix this?

    opened by EthanRDoesMC 1
  • NSTask outputs QR code URL as all lowercase

    NSTask outputs QR code URL as all lowercase

    Passwords are case-sensitive in QR code links, but NSTask seems to be unable to output uppercase letters. Bandaid fix: use lowercase passwords Research: Find out why NSTask does not respect letter case

    bug 
    opened by EthanRDoesMC 1
  • Add 'sign out' button to brooklyn

    Add 'sign out' button to brooklyn

    Eric Migicovsky wrote:

    • add sign out button to app
    • delete/leave all rooms on matrix side
    • clean iOS side so it is ready to connect to a new matrix account
    enhancement 
    opened by EthanRDoesMC 0
Owner
Ethan Chaffin
The Doctor Strange of Objective-C. Tweak/app developer. Owner of eleven iPhones. First memory involves a computer. Majoring in CompSci.
Ethan Chaffin
Helper functions for saving text in Keychain securely for iOS, OS X, tvOS and watchOS.

Helper functions for storing text in Keychain for iOS, macOS, tvOS and WatchOS This is a collection of helper functions for saving text and data in th

Evgenii Neumerzhitckii 2.3k Dec 28, 2022
SuccessorCLI A CLI tool to restore iOS Devices on versions they're already on, based on the original Succession

A tool to restore iOS Devices on versions they're already on, based on the original Succession

Dabezt 11 Dec 26, 2022
Open-source jailbreaking tool for many iOS devices

Open-source jailbreaking tool for many iOS devices *Read disclaimer before using this software. checkm8 permanent unpatchable bootrom exploit for hund

null 0 Nov 6, 2021
A client library to multiplex connections from and to iOS devices

libusbmuxd A client library for applications to handle usbmux protocol connections with iOS devices. Features This project is a client library to mult

libimobiledevice 469 Dec 30, 2022
A wrapper for Apple's Common Crypto library written in Swift.

IDZSwiftCommonCrypto A Swift wrapper for Apple's CommonCrypto library. IDZSwiftCommonCrypto works with both CocoaPods and Cathage. For more details on

idz 472 Dec 12, 2022
Simple Swift wrapper for Keychain that works on iOS, watchOS, tvOS and macOS.

KeychainAccess KeychainAccess is a simple Swift wrapper for Keychain that works on iOS and OS X. Makes using Keychain APIs extremely easy and much mor

Kishikawa Katsumi 7.2k Dec 30, 2022
A simple Swift Keychain Wrapper for iOS, watchOS, and OS X.

Latch A simple Swift 2.0 Keychain Wrapper for iOS, watchOS 2, and OS X. Usage A proper example of how to use Latch can be seen in the tests. import La

Danielle 56 Oct 25, 2022
A simple wrapper for the iOS Keychain to allow you to use it in a similar fashion to User Defaults. Written in Swift.

SwiftKeychainWrapper A simple wrapper for the iOS / tvOS Keychain to allow you to use it in a similar fashion to User Defaults. Written in Swift. Prov

Jason 1.5k Dec 30, 2022
Simple Objective-C wrapper for the keychain that works on Mac and iOS

SAMKeychain SAMKeychain is a simple wrapper for accessing accounts, getting passwords, setting passwords, and deleting passwords using the system Keyc

Sam Soffes 5.4k Dec 29, 2022
A really simple key-value wrapper for keychain.

PlainKeychain A really simple key-value wrapper for keychain. Features ✅ Key-value pairs using kSecClassGenericPassword. ❌ Internet passwords (kSecCla

Benjamin Barnard 0 Nov 27, 2021
Very simple swift wrapper for Biometric Authentication Services (Touch ID) on iOS.

SimpleTouch Very simple swift wrapper for Biometric Authentication Services (Touch ID) on iOS. Sample Project There is a SimpleTouchDemo target define

Simple Machines 117 Nov 15, 2022
Wrapper class for handling all tasks related to RSA cryptography

RSAWrapper Wrapper class for handling all tasks related to RSA cryptography USAG

null 1 Dec 24, 2021
A wrapper to make it really easy to deal with iOS, macOS, watchOS and Linux Keychain and store your user's credentials securely.

A wrapper (written only in Swift) to make it really easy to deal with iOS, macOS, watchOS and Linux Keychain and store your user's credentials securely.

Ezequiel Aceto 2 Mar 29, 2022
APT repository app for jailbroken iOS devices

Find Your Repos! RepoFinder is here to bring you a seamless way to add all of your favorite repositories right into the package manager of your choice

Jacob Singer 25 Dec 20, 2022
An alternative app store for non-jailbroken iOS devices

AltStore AltStore is an alternative app store for non-jailbroken iOS devices. AltStore is an iOS application that allows you to sideload other apps (.

null 1 Dec 9, 2021
Multitasking Drawer tweak for jailbroken iOS devices

PullOver-Pro Multitasking Drawer tweak for jailbroken iOS devices About PullOver Pro is multitasking substrate / jailbreak / runtime extension written

c1d3r 25 Oct 10, 2022
Floating ChatHeads, inspired by Facebook, for jailbroken devices

ChatHeads About Chatheads is a multitasking substrate / jailbreak / runtime extension written in Objective - C, aimed at centralizing multiple messagi

c1d3r 4 May 22, 2022
Delta is an all-in-one classic video game emulator for non-jailbroken iOS devices.

Delta Delta is an all-in-one classic video game emulator for non-jailbroken iOS devices. Delta is an iOS application that allows you to emulate and pl

Riley Testut 1.7k Jan 6, 2023
AltStore is an alternative app store for non-jailbroken iOS devices.

AltStore AltStore is an alternative app store for non-jailbroken iOS devices. AltStore is an iOS application that allows you to sideload other apps (.

Riley Testut 8.3k Jan 9, 2023
RadialMenu is a custom control for providing a touch context menu (like iMessage recording in iOS 8) built with Swift & POP

RadialMenu Looking for help? For $150/hr I'll help with your RadialMenu problems including integrating it into your project. Email [email protected] t

Brad Jasper 297 Nov 27, 2022