Die Dekompilierung Möglichkeiten in iOS und wie Sie Sie vermeiden

Vor kurzem Las ich über die Dekompilierung von iOS-apps, und ich bin jetzt wirklich besorgt. Wie bereits in den folgenden Beiträgen (#1 und #2) ist es möglich, zu dekompilieren, einem iOS, die verteilt wird, um den App Store. Diese kann getan werden, mit jailbreak, und ich denke, dass mit dem kopieren der app aus dem Arbeitsspeicher auf die Festplatte. Mit einigen tools ist es möglich,

  • Lesen aus strings (Zeichenketten tools)
  • dump der header-Dateien
  • reverse engineer assembly-code

Scheint es NICHT möglich zu sein, um reverse Engineering zu Kakao-code.

Als Sicherheit ist eine Funktion der software, die ich erstellen, ich möchte, um zu verhindern, dass schlechte Benutzer aus der Rekonstruktion meines Sicherheits-Funktionen (Verschlüsselung mit Schlüssel oder loggen Sie sich in websites). So kam ich auf die folgenden Fragen:

  1. Kann jemand rekonstruieren meinen Speicherung und Verschlüsselung oder login-Methoden mit der Montage? Ich meine, kann er verstehen, was genau Los ist (was gespeichert wird, welcher Pfad zu welcher Zeit, welcher Schlüssel verwendet wird, etc., mit welchen Anmeldeinformationen ist ein login auf die Webseite durchgeführt)? Ich habe keine Versammlung verstehen, es sieht aus wie die matrix für mich...
  2. Wie kann ich sicher verwenden NSStrings die nicht ausgelesen werden mit strings oder Lesen Sie in der Montage? Ich weiß, was man tun kann, Verschleierung von strings - aber das ist noch nicht sicher, ist es nicht?
  • keine Notwendigkeit jailbreak zu tun, reverse engineering, und ja, jede Methode, die Sie schreiben in Ihrem code verstanden werden könnte, von jemand mit genügend Zeit, dies zu tun. Verwenden Sie Methoden, die das SDK, als deren sourcecode nicht direkt in Ihre Anwendung, aber Träume nicht zu viel, es ist keine 100% sichere Weise ALLES, was gelesen werden kann, kann kopiert werden, und alles, was kopiert werden kann, kann auch geknackt werden.
  • Also wenn ich mit SDK-Klasse-Methoden (z.B. [NSString stringWithFormat:...] oder für die Speicherung von Dateien, diese wären nicht sichtbar in der Montage direkt? Ich meine jede app enthält das foundation framework...
  • wenn Sie [NSString stringWithFormat:...], was sichtbar ist, ist der Aufruf von stringWithFormat, was nicht sichtbar ist, was hinter dieser Methode => wir wissen, was genannt wird, und nicht, wie es gemacht wird dahinter
  • ok. aber ich denke, dass eine person, die in der Lage ist, ein reverse Engineering auch weiß, was hinter SDK-Methoden (oder er findet sich mit der Dokumentation). Es wäre fast unmöglich, eine SDK-Methode aufrufen, wo nur der Entwickler kennt das Ergebnis?
InformationsquelleAutor Pauli | 2013-07-29
Schreibe einen Kommentar