Bypassing iOS Frida Detection with LLDB and Frida #1610
Merged
+75
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🤖 Automated Content Update
This PR was automatically generated by the HackTricks News Bot based on a technical blog post.
📝 Source Information
🎯 Content Summary
This post is an in-depth CTF-style write-up showing how to bypass Swift-based Frida detection in an iOS app and steal a flag passed as a Swift
Stringargument by combining LLDB and Frida on a jailbroken device.Context, Device & Tooling
The target is an 8ksec iOS application challenge (
.ipa) where the goal is to intercept a call todummyFunction(flag:)and recover the flag passed as a Swift string.The author u...
🔧 Technical Details
Runtime Bypass of Swift Jailbreak/Frida Detection via LLDB
When an iOS app uses a Swift boolean-returning function such as
systemSanityCheck() -> Boolto centralize jailbreak/Frida detection, you can defeat it without patching the binary. Attach LLDB viadebugserver, list symbols withimage lookup -rn(e.g., searching forCheckorfrida), and set a breakpoint on the suspected detection function. Once hit, runfinishto execute the function, then overwrite the ARM64 return register with zero:register write x0 0. Continuing execution (c) forces the detection to always returnfalse, neutralizing alert-and-exit logic. This general pattern works for any Swift-based detection routine that returns a simple Bool.Discovering Swift Target Functions Using frida-trace and Mangled Names
To hook a specific high-level Swi...
🤖 Agent Actions
Summary:
Stringhook that handles both inline and heap-backed arguments.Tests: Not run; documentation-only changes.
This PR was automatically created by the HackTricks Feed Bot. Please review the changes carefully before merging.