Questions tagged [ios]
The operating system by apple for mobile devices
133 questions
3
votes
2
answers
406
views
Is iOS 15 kernel cache encrypted?
I recently started researching ios kernel security and I've been struggling to find out whether the kernel cache is encrypted for iOS 15. Any help would be really appreciated.
1
vote
1
answer
358
views
Is a rootful jailbreak necessary to debug imessage with ida pro for <= ios 16.0.3?
In this pdf file written by the great Saleo: https://saelo.github.io/presentations/36c3_messenger_hacking.pdf
Saleo was able to debug the called method names of imessage during runtime with ida pro, ...
0
votes
1
answer
301
views
Extracting obj-c class list from a machO
I'm trying to analyze and get the full list of selectors and their related classes in objective-c by first reading the __objc_classlist section and getting pointers to the struct objc_class list to ...
9
votes
2
answers
15k
views
OTOOL alternative for linux
I have a reverse engineering set up on a Mac machine. This set up does some reverse engineering on iOS applications(.ipa files). I'm migrating the setup from Mac to a linux machine.
Currently on Mac, ...
0
votes
0
answers
27
views
Is a macOS System Call Tracing & Visualization Tool Useful?
I’m a beginner in reverse engineering and thinking of building a tool to trace and visualize system calls on macOS. The idea is to make something simpler than DTrace or Instruments, with an intuitive ...
0
votes
0
answers
48
views
How the 'Secure Application ROM (SAROM)' works ? and how can be decrypted?
There is a protection product that i'm interested in analyzing and breaking it called SAROM that encrypts sensitive information that stored in the client-side such as API Keys/hardcoded stuff. I tried ...
0
votes
0
answers
37
views
Recreating a custom bplist-derivative data type
I am trying to recreate a custom file type used by an iOS app. I analyzed its binary (image below)
and it seems to be a bplist00, however I can't inspect it with any tools like plutil. Plutil returns ...
0
votes
1
answer
104
views
Function calls to unmapped memory
I'm examining an iOS framework (extracted from a dyld shared cache) and there are a lot of branch-link instructions to functions which don't exist. For example,
bl #-0x50e7e04
Performing the ...
0
votes
1
answer
50
views
Location of CoreMedia framework
I've been attempting to dive into mediaserverd which runs on iOS. Pulling the binary and running otool -L on it reveals, unsurprisingly, that it's linked against /System/Library/Frameworks/CoreMedia....
0
votes
0
answers
125
views
Hooking a Swift method with frida on iOS to inspect DSA signing arguments
I have an iOS app that is sending a DSA signature with certain requests. Initially, I would just like to be able to hook the method performing the signing and dump the arguments.
In ghidra, I can see ...
0
votes
0
answers
111
views
Searching for a byte pattern and then hooking all instances of it using frida on iOS
I'm using a frida script to scan for a certain byte pattern when I launch an iOS app.
I can log each offset and confirm these are correct by also printing out the instructions at those locations and ...
0
votes
0
answers
39
views
Analyzing USB traffic coming from XCode -> iPhone via USBC/Lightning cable
I tried posting this on stack overflow with no luck, hoping I can get some more answers here.
have an app running on my iPhone via XCode by way of USBC -> Lightning cable. I would like to analyze ...
0
votes
0
answers
122
views
Reverse engineering Objective-C blocks
I'm highly experienced with objective-c reverse engineering, but every time I encounter a block representation in the decompiler, right before it is passed as an argument to a function, I can ...
2
votes
1
answer
345
views
MachO chained fixups parsing
I'm wondering how the info stored in the chained fixups in the Mach-O file is used to resolve binding and rebases?
My question originated from wanting to parse all the Objective-C classes inside a ...
1
vote
0
answers
83
views
Is a jailbroken iPhone is necessary to extract the ipa of a pre-installed app like iMessage?
My research notes: https://docs.google.com/document/d/1Y-2SZX4s1E1Mq9yWHZMMBzW3BJTfUuMl-YYXoZlY73w/edit?usp=sharing
From my research, I have come to the understanding that in order to extract the ipa ...
7
votes
1
answer
363
views
Reverse engineer compressed iOS app file
I want to find out the compression method used by an iOS app used for music notation to store its files. The files of its OSX counterpart are zipped files. You cannot create files in the iOS app, but ...
2
votes
1
answer
151
views
strange arm construct in objective-c application
I was reversing the objective-c application and stumbled upon an assembler construction that I don't understand:
This is call of some function with SP register (+ 0x18 offset) as parameter. (Picture1)....
1
vote
0
answers
244
views
Get all names of functions from an iOS-App binary (headless)
Setup:
I want to get a list of all (apple built-in) function and variable names that are used in an arbitrary iOS App by headless analysis. So given the .ipa file of any iOS-App, I unpack it and can ...
3
votes
1
answer
117
views
Hopper - no CFG leaving procedure at this address
Where is it that, when I am at a procedure with a lot of db, hopper will not show the control flow graph.
How do I make the db change to a regular assembly symbol like mov,add,ret etc.
What cause the ...
2
votes
1
answer
383
views
Deobfuscating IOS dll file (I think arm64)
I am just starting out my journey with modding IAP files. I use dnSPY to find the offsets of the methods I want to change and then use an arm64 to hex converter to then apply these changes.
I have ...
4
votes
0
answers
712
views
Decoding the Apple vendor tag in the 802.11 beacon
Background
Looking to answer Is there a way to detect if you're connected via a shared WiFi Hotspot? on apple.stackexchange.com lead me to How does iOS and OS X detect when a Wi-Fi network is a ...
2
votes
0
answers
92
views
Reverse Engineer Using Class-dump
I have tried to look into the class-dump of a decompiled ipa file, can I assume that only : TtCC29XYZ18JailbreakDetection12RuntimeClass is of remarkable because it has - (long long)...
4
votes
1
answer
70
views
Trying to use Cycript to access element in the current windpws
I am using cycript,but I have tried some of these commands and not sure where I went wrong.
cy# UIApp.windows[0]
#"<UIWindow: 0x102d0b2d0; frame = (0 0; 320 568); gestureRecognizers = <...
2
votes
0
answers
142
views
Input file (Hello_World) is neither a Mach-O file nor a fat archive: Class-dump
I am trying to use class-dump in iPhone 14.3. However, there is an error. Can you advise?
ANT-iPhone:/var/containers/Bundle/Application/61669A90-8CF9-4991-943F-5E9F097A3A5B/Hello_World.app root# otool ...
3
votes
0
answers
59
views
db section in hopper
There is a db section in hopper, which cause the code not being able to go to control follow graph mode
Do advise what cause this issue:
; Section __cstring
; Range: [0x10000a2c0; ...
1
vote
0
answers
457
views
// This file does not contain any Objective-C runtime information
I am trying to reverse engineer a file with class-dump but it says objective-c header is not found. This is clearly an objective C file.
2023-03-03 22:26:21.789 class-dump[5565:85760] Unknown load ...
2
votes
1
answer
4k
views
Decompile and Re-compile iOS app (.ipa file)
As a part of college project, I have to showcase how I can get ios app from jailbroken devices and reverse-engineer it. In the first part of slide, I am showing how we can get the IPA file from ...
7
votes
0
answers
350
views
running iOS debugserver on non-jailbroken devices
There are multiple tutorials on how to debug applications on jailbroken devices. These usually involves resigning debugserver, scp and running it from ssh with few tweaks to the entitlements and ...
3
votes
1
answer
93
views
Does anyone know the purpose of the malware,ios,social_engineering file on iOS
I have a jailbroken iPhone, and I noticed that it contains a file called social_engineering,ios,url_expression at the path:
/private/var/mobile/Library/Caches/com.apple.Safari.SafeBrowsing/Google/...
1
vote
1
answer
2k
views
Reversing iOS games with LLDB and IDA on arm64
Cracked the game with clutch and set watchpoint on the value address, when the value changes it breaks just fine but when i go to that binary address in IDA it shows me different instruction, here's ...
1
vote
1
answer
134
views
How can I make more space for a bigger string in Hopper disassembler?
I made an iOS app that simply changes the background color when I tap the button. the goal is to change the color with Hopper. I successfully changed the color from blue to red but I cannot change ...
3
votes
2
answers
815
views
Convert Mach-O VM Address To File Offset
this maybe total no brainer but i'm really new to this and i'd really appreciate some help!
Basically i'm trying to patch(out aka nop) a obj-c function inside an iOS Application. I've successfully ...
3
votes
0
answers
205
views
Solved: Unable to hook Apple binary on iOS 14.x with Frida
I'm attempting to analyze a binary from iOS 14.8 (searchpartyd). I'm using Frida to try to hook it like I normally would with other binaries. However, I'm getting an error message that I'm unable to ...
3
votes
1
answer
275
views
IOS ASLR address calculation with delta offset (ARM64)
I am learning LLDB to debug ios apps, I have a jailbroken iPhone IOS 14.3 and a debugserver.
Screenshot of start connect to remote process:
Sections of my process(image dump sections hidenseek):
...
2
votes
1
answer
567
views
frida hook `loc_*` or `sub_*`
Is it possible to hook a sub_... object in Frida ? I disassembled an arm64 executable, when running the app on my iPhone, I can see a lot of classes also in the disassembled executable, but I can't ...
2
votes
0
answers
164
views
Access a XREFs with frida
I have a string which has a XREF to a func. This func changes of address at every updates of the app I am working on. So this string is the only "stable" point I can rely on to access to ...
71
votes
7
answers
144k
views
What are the possibilities for reverse engineering an IPA file to its source?
I browsed a lot, but can't find any resources for reverse engineering an IPA file (iPhone application). Is there any method to reverse engineer an IPA file to its source? I've tried to rename it to ...
1
vote
1
answer
789
views
Frida script returning different instruction at address compared to entering commands in repl
I have an iOS device on 14.2 and am using frida 15.2.2 on Ubuntu 18.04.
If I launch an app via frida, in the repl I can get the base address of the module, add an offset to that address, and print the ...
0
votes
0
answers
78
views
Reading variables modified by pass by reference
Reading arguments as well as return values is pretty trivial when utilizing Frida. But is there any way to read data that is modified through pass by reference. I am attempting to read some data in an ...
1
vote
1
answer
9k
views
how should i change an instruction to NOP in IDA?
I am new with IDA assembler and i used to work with hopper app.
the problem is i can't change instruction in IDA from something like CBNZ to NOP.
is there any button to do this? i can't find anything ...
2
votes
0
answers
353
views
how to find a string in memory having ARM instructions ARDP and LDR?
hello, I disassembled the request sent to the game server, I need to change the symbol, but I don’t know its memory address. Help me understand the ADRP and LDR instructions, I need to understand what ...
3
votes
0
answers
178
views
Trying to understand a simple compiled PSI binary file
I was working with an old ios game, and found that it saved most of its data (players, worlds, anything in-between) in MDB files.. titled data.mdb and lock.mdb. There is a pair for every object type (...
1
vote
1
answer
112
views
What kind of random algorithm is used in this game?
I am playing a game for iOS that uses a deck of 48 cards and I would like to reverse engineer the kind of algorithm that is used to generate the random deck of cards such that I can predict which card ...
0
votes
0
answers
72
views
iOS unknown library sending ssl pinned request
Here is my problem:
I am trying to access to a ssl pinned request sent by an action I am doing on an iPhone. The action I am making sends two requests:
The first one is ssl pinned, sent by a pre-...
1
vote
1
answer
648
views
Create instance of iOS class that contains a . with frida
I am trying to create an instance of a class of an iOS app using Frida.
In the past I have successfully done this using a command such as:
var instance = ObjC.chooseSync(ObjC.classes.TestClass)[0];
...
2
votes
1
answer
7k
views
Using IDA Pro, How can I just "edit" values, Rather than patching Offsets,
I dont understand how people are finding offsets, So I want to know if there's a simple and easy method of just "patching values"
I've been surfing the internet looking for VERY in depth ...
2
votes
0
answers
832
views
Backtrace HTTP request over few modules when using FRIDA
I am in the process of reverse engineering an IOS IPA using HOPPER and FRIDA. First, I started with POSTMAN, which records the app's HTTP requests. What I find interesting is that the app uses a so-...
1
vote
0
answers
1k
views
How to get variable value during IDA (Hex-Rays Decompiler) debugging?
I'm debugging a iOS App by IDA, and I need to see the value of some var like v57 below.
Through the Locals panel know the value is 0x1137D0E00LL, but I want to see the real value or class.
How to get ...
1
vote
1
answer
445
views
Change iOS app binary file
I want to manipulate iOS binary file and change two strings in it. I used hex editor to search and change these strings. But after the binary file is uploaded and replaced with the origin app's binary ...
1
vote
0
answers
302
views
Int64 parsing from args in Frida-trace for iOS binaries
I'm using frida-trace to log some methods and I've come across the following.
onEnter(log, args, state) {
log(`-[Somefunction somefield64:${args[2]}]`)
}
somefield64 returns what I believe to ...