iOS-Shortcuts-Reference
ipsw
Our great sponsors
iOS-Shortcuts-Reference | ipsw | |
---|---|---|
2 | 2 | |
91 | 1,438 | |
- | - | |
0.0 | 9.8 | |
almost 2 years ago | 3 days ago | |
Go | ||
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
iOS-Shortcuts-Reference
-
Shortcuts file format
I'm looking for any information about parsing the shortcut files produced by iOS 16. I've found https://zachary7829.github.io/blog/shortcuts/fileformat and https://github.com/sebj/iOS-Shortcuts-Reference and projects like https://github.com/electrikmilk/cherri to produce shortcuts that require a Mac for 'signing' them.
-
Dynamically created shortcuts
Shortcuts are just plists - read https://github.com/sebj/iOS-Shortcuts-Reference. They can be created, but importing them easily makes it (imo) not worth it atm.
ipsw
-
A 17-line C program freezes the Mac kernel (2018)
In theory I have all of those, but currently I have none, so it's manual work. Your best friend in diagnosing a kernel crash is a KDK. If you have one that matches your build, it will have symbols in it. With a little bit of math you can take the backtrace in the crash log and slide it appropriately to match the binary. Personally I use LLDB for this. Here's an example of what this looks like on an x86-64 kernel (Apple silicon has its own math but it's largely the same): https://github.com/saagarjha/unxip/issues/14#issuecomment-10.... The kernel is typically compiled with optimization, so there's a lot of inlining and code folding, but with function names, source files, and instruction offsets it's pretty trivial to match it to the code Apple publishes.
In this case I do not have a KDK for that build. In fact Apple has been unable to produce one for a couple of months, a inadequacy which I have repeatedly emphasized to them because of how critical they are for stuff like this. Supposedly they are working on it. Whatever; in lieu of that I got to figure out how good the tooling for analyzing kernels is these days, which was my real goal anyways.
For this crash log I downloaded the IPSW file for your build, 22A400. All of them get linked on The iPhone Wiki, e.g. https://www.theiphonewiki.com/wiki/Firmware/Mac/13.x. Once you unpack the IPSW (it's a zip file) there are compressed kernelcache files inside. Apple changed the format of these this year so most of the tooling breaks on it, but https://github.com/blacktop/ipsw was able to decompress them. Then I loaded it in to Binary Ninja, which apparently doesn't support them either but compiling this person's plugin (+166 submodules, and a LLVM & Boost build) gets it to work: https://github.com/skr0x1c0/binja_kc.
From there you can load up the faulting address from the crash log and see what the function looks like. In this case, a bunch of junk has been inlined into it but there's a really obvious and fairly unique string reference for "invalid knote %p detach, filter: %d". From there, you can compare it against the actual source code to see which one matches the "shape" of the function you're looking at. I happened to also pull up an older kernel which did have a KDK available and then compared its assembly to the new one to match it up to ptsd_kqops_detach. The disassembly of the crashing code is obviously doing a linked list walk so you can figure out exactly which line it is from that.
If I wasn't lazy I might also fire up a debugger to see why the function had walked off the end of the list but without KDKs things get pretty bad, not that they're very good to begin with. I don't have a m1n1 setup (I should probably do this at some point) and the things I do have, like remote debugging or the VM GDB stub, are not really worth suffering through for a Hacker News comment.
-
[Question] Can a downloaded 14.8.1 OTA be manually updated via iTunes? Device is iPhone SE (2016)
Github: https://github.com/blacktop/ipsw Release: https://github.com/blacktop/ipsw/releases Instructions/Website: https://blacktop.github.io/ipsw/
What are some alternatives?
cherri - Siri Shortcuts Programming Language 🍒
idevicerestore - Restore/upgrade firmware of iOS devices
currency-converter - API to automate currency conversion with iOS Shortcuts
micromdm - Mobile Device Management server
shortcuts-js - A JavaScript iOS 12 Shortcuts creator
unxip - A fast Xcode unarchiver
PreviewDevice - PreviewDevice - is a library with type-safe syntax sugar for preview device on SwiftUI. Preview for UIKit and Cocoa.
quill - Simple mac binary signing from any platform
swift-focuser - Focus text field in SwiftUI dynamically and progress through form using iOS keyboard.
iOS-Restrictions-Recovery - Finds Screen Time/Restrictions passcodes on iOS 7-12 (by @tarbaII)
WWDC17-Recap - A collection of session summaries in markdown format, from WWDC 20, 19 & 17
rss-moi - iOS shortcut to fetch RSS feeds from files or text, select articles and open them.