Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NOTICES Change #11981

Merged
merged 1 commit into from
Oct 23, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 0 additions & 23 deletions CoreOnly/NOTICES
Original file line number Diff line number Diff line change
Expand Up @@ -2136,9 +2136,6 @@ GoogleUtilities

================================================================================

The following copyright from Landon J. Fuller applies to the isAppEncrypted
function in Environment/third_party/GULAppEnvironmentUtil.m.

Copyright (c) 2017 Landon J. Fuller <landon@landonf.org>
All rights reserved.

Expand All @@ -2159,26 +2156,6 @@ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Comment from
<a href="http://iphonedevwiki.net/index.php/Crack_prevention">iPhone Dev Wiki
Crack Prevention</a>: App Store binaries are signed by both their developer
and Apple. This encrypts the binary so that decryption keys are needed in order
to make the binary readable. When iOS executes the binary, the decryption keys
are used to decrypt the binary into a readable state where it is then loaded
into memory and executed. iOS can tell the encryption status of a binary via the
cryptid structure member of LC_ENCRYPTION_INFO MachO load command. If cryptid is
a non-zero value then the binary is encrypted.

'Cracking' works by letting the kernel decrypt the binary then siphoning the
decrypted data into a new binary file, resigning, and repackaging. This will
only work on jailbroken devices as codesignature validation has been removed.
Resigning takes place because while the codesignature doesn't have to be valid
thanks to the jailbreak, it does have to be in place unless you have AppSync or
similar to disable codesignature checks.

More information at <a href="http://landonf.org/2009/02/index.html">Landon
Fuller's blog</a>


SwiftProtobuf
Apache License
Expand Down
Loading