this post was submitted on 05 Apr 2024
58 points (96.8% liked)

Explain Like I'm Five

14266 readers
55 users here now

Simplifying Complexity, One Answer at a Time!

Rules

  1. Be respectful and inclusive.
  2. No harassment, hate speech, or trolling.
  3. Engage in constructive discussions.
  4. Share relevant content.
  5. Follow guidelines and moderators' instructions.
  6. Use appropriate language and tone.
  7. Report violations.
  8. Foster a continuous learning environment.

founded 1 year ago
MODERATORS
 

Exemple: How does Apple guarantee that the iOS source code will not be discovered by an adversary?

Is there any type of different encryption for this case?

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 3 points 4 months ago

TL;DR: They can‘t. Apps are not encrypted and could be read by anyone that has access to the application files

But it is not as easy as it sounds:

There is a saying „Everything is open source if you can read assembly.“ And this is true (for most cases)

They cant encrypt their code because you phone has to be able to read it, and therefore you could.

But the applications are compiled, meaning a application called the compiler turns the readable code in form of text to binary, which can be read and executed by a computer. Reading binary is (almost) impossible for a human, but there are applications called decompilers which turn binary back to code, but most of the time to assembly which is hard (but not impossible) to read. You could post this online, but very few people would be able to understand this. Turning it back into normal code would require way too much effort.

But there are other problems with reading source code (specifically for ios):

  1. You have to get acces to the compiled application which will require you to jailbreak you phone. Only then you can access system files.
  2. Code for different chip types are compiled differently, and im not sure if there is a decompiler for the type used by ios chips.
  3. Since the binary is different, the assembly code is different, which means you habe to learn to read ios-decompiled-assembly specifically.