Mx-Iris
144 posts

Mx-Iris
@JH_Pointer
macOS Developer & Researcher, GitHub: https://t.co/YnbuCIbrqr
Katılım Ağustos 2022
81 Takip Edilen630 Takipçiler

@JH_Pointer is that a custom Drawer-like implementation or private API? I actually would like to use it in my app - do you have a code snippet?
English
Mx-Iris retweetledi

@geerlingguy This misalignment is just typical SwiftUI nonsense. I really wish we could just fully revert to using solely AppKit for macOS apps, and UIKit for iOS apps. Would result in much nicer and better-performing applications.
English

RuntimeViewerMCP now supports fetching member addresses! Let your agent explore framework type definitions, grab addresses on the fly, and decompile/disassemble directly in IDA/Hopper via MCP — no more manual searching & filtering.
github.com/MxIris-Reverse…
English
Mx-Iris retweetledi

I have posted a write-up for those who are interested in building virtual iPhone.
If have any further questions, please feel free to reach out via DM, Thanks.
github.com/wh1te4ever/sup…
English

@_silgen_name Compared to Swift, I think Objective-C's decompiled code is almost like source code; the `id` type can be inferred through context and called methods.
English

@JH_Pointer This application is for decompiling objc applications and frameworks. The point is to understand how Apple utilities written in objc work.
English

swiftUIfication will continue until morales improve
G.@godbout
wait did they really stop updating the old iWorks apps and ship this instead? 🤣🤣🤣
English

RuntimeViewer v2.0.0-beta.9 has been released, adding the ability to inject code into sandboxed apps (requires installing the new helper daemon in settings) and improving Swift Enum Layout annotations.
github.com/MxIris-Reverse…

English

A new beta version of RuntimeViewer has been released, integrating the latest MachOSwiftSection. It can now view the layout of payload enums and includes OpenQuickly and bookmark features.
github.com/MxIris-Reverse…



English

MachOSwiftSection 0.8.0-beta have been released, fixing numerous issues and adding payload enum layout calculation (only supported for MachOImage). In-process versions have been added for all APIs, allowing free conversion between MachOImage and pointers.
github.com/MxIris-Reverse…
English
Mx-Iris retweetledi

【新作ライブラリ(久々の)】
🐞バイナリファイルから DWARF(デバッグ情報)を直接パース・解析できる
Swiftライブラリを作りました
github.com/p-x9/swift-dwa…
- .debug_info / .debug_line / .debug_names / ...
- Mach-O 対応 (今後ELFまで拡張)
- MachOKitの拡張として開発
⭐️スターください⭐️
日本語

@JH_Pointer Thank you.
A lot of people visited my repository through the MachOSwiftSection you created
English

ついに私の作ってるSwiftライブラリのMachOKitが200スターを超えました
お祝いにスターください
M@p_x9
ついに私の作ってるSwiftライブラリのMachOKitが100スターを超えました お祝いにスターください github.com/p-x9/MachOKit
日本語
Mx-Iris retweetledi

The fact that @SwiftLang's swift-build is open source means we now have access to build-time data *during* builds. Information that never makes it to .xcresult, .xcactivitylog, or xcodebuild logs.
When you hit Build in Xcode, you're not directly invoking compilers. Your request goes to SWBBuildService, which communicates via MessagePack over stdin/stdout pipes. Every build event is a discrete, typed message with structured data: per-task timing, memory usage, dependency graphs, cache hit rates, rebuild causality. None of which reaches the terminal.
We got curious: what if an AI agent could tap into this stream instead of parsing logs?
So we forked swift-build and added capabilities to SWBBuildService to output structured data to an SQLite database that an agent can query during or after a build.
We tested it against two real codebases:
@Wikipedia iOS (19 targets, 3,303 tasks, 457s):
An agent identified that WMF (246s) was blocking 4 other targets, asset catalog compilation alone took 131 seconds as a single non-parallelizable task, and the build achieved 2.1x parallelization against a theoretical 955s serial path.
Tuist (35 targets, 4,952 tasks, 64s):
The agent found TuistSupport (15s) blocking 24 downstream targets, TuistCore (25s) blocking 18, and TuistServer (60s) blocking 5. It achieved 6.2x parallelization. It even surfaced 269 warnings with actionable recommendations: regenerate SwiftProtobuf files, fix deprecated OpenAPI fields, address a Swift 6 Sendable issue with NSCache, and suggested splitting TuistSupport into smaller modules.
This isn't guessing from log output. It's analysis based on actual dependency relationships, task timing, and resource metrics the build system tracks internally but never exposes.
We've open-sourced this fork. It's called Argus. Getting started is simple: install it via mise, set XCBBUILDSERVICE_PATH in your environment so all developers use it automatically, and configure your agent's memory with the instructions from the README. From there, agents can query build data and provide insights tailored to your project.
The vision goes beyond single builds. Imagine team-wide build intelligence across CI pipelines, proactive assistance before you modify a file that triggers a near-clean rebuild, or real-time intervention when a target takes longer than usual mid-build.
Much of this is achievable today with post-build artifacts (which is what we're building with Tuist's Build Insights). But protocol-level access unlocks real-time capabilities and richer causality data that post-hoc parsing can't provide.
Full blog post with implementation details, analysis, and setup instructions: tuist.dev/blog/2025/11/2…
English
Mx-Iris retweetledi

Simple Hex to Asm Instruction converter is here!
Wanted to make this since 2024 but due to unfixable capstone lib error, couldn't make it happen..
Thanks @JH_Pointer for the capstone-swift wrapper!
Without your wrapper fix, This couldn't be created🥹

English

@jeudesprits The methods exposed to ObjC may only have ObjC symbols and not Swift symbols, which is an area for optimization. Currently, the Swift part only reads Swift symbols.
English

@JH_Pointer I wanted to ask: for example, the GlassGroupLayerView class in UIKitCore apparently has a couple of methods, but for some reason they’re not in RuntimeViewer. Could you tell me why?


English

RuntimeViewer beta latest version has been released, with full integration of SwiftInterface module (thanks to Runtime, we can obtain field offsets for non-generic structs/classes).
Code injection can now inject arm64e applications (e.g. System App)
github.com/MxIris-Reverse…

English



