From eabd2897827d7a0ca7934b449db21ded7fa6fc91 Mon Sep 17 00:00:00 2001 From: Sam Bingner Date: Sun, 2 Aug 2020 10:32:53 -1000 Subject: Update ldid --- data/ldid/1-cdversion.diff | 49 +++++++++++++++++++++++++++++++++++ data/ldid/_metadata/_libplist.dep | 1 + data/ldid/_metadata/_openssl1.1.1.dep | 1 + data/ldid/_metadata/depends | 2 +- data/ldid/_metadata/libplist.dep | 1 - data/ldid/_metadata/libssl1.1.1.dep | 1 - data/ldid/_metadata/version | 2 +- 7 files changed, 53 insertions(+), 4 deletions(-) create mode 100644 data/ldid/1-cdversion.diff create mode 120000 data/ldid/_metadata/_libplist.dep create mode 120000 data/ldid/_metadata/_openssl1.1.1.dep delete mode 120000 data/ldid/_metadata/libplist.dep delete mode 120000 data/ldid/_metadata/libssl1.1.1.dep diff --git a/data/ldid/1-cdversion.diff b/data/ldid/1-cdversion.diff new file mode 100644 index 000000000..7976e00f1 --- /dev/null +++ b/data/ldid/1-cdversion.diff @@ -0,0 +1,49 @@ +commit b462a92349c57f38f2a6844adabee940afe01ca6 +Author: kabiroberai +Date: Fri Jul 31 03:29:44 2020 +0530 + + Update CodeDirectory version for iOS 14 + + iOS 14b3 seems to not support CodeDirectory version 0x00020200 anymore + +diff --git a/ldid.cpp b/ldid.cpp +index b82ad01..a6538a4 100644 +--- a/ldid.cpp ++++ b/ldid.cpp +@@ -892,8 +892,11 @@ struct CodeDirectory { + uint32_t spare2; + uint32_t scatterOffset; + uint32_t teamIDOffset; +- //uint32_t spare3; +- //uint64_t codeLimit64; ++ uint32_t spare3; ++ uint64_t codeLimit64; ++ uint64_t execSegBase; ++ uint64_t execSegLimit; ++ uint64_t execSegFlags; + } _packed; + + enum CodeSignatureFlags { +@@ -1994,7 +1997,7 @@ Hash Sign(const void *idata, size_t isize, std::streambuf &output, const std::st + uint32_t normal((limit + PageSize_ - 1) / PageSize_); + + CodeDirectory directory; +- directory.version = Swap(uint32_t(0x00020200)); ++ directory.version = Swap(uint32_t(0x00020400)); + directory.flags = Swap(uint32_t(flags)); + directory.nSpecialSlots = Swap(special); + directory.codeLimit = Swap(uint32_t(limit)); +@@ -2005,8 +2008,11 @@ Hash Sign(const void *idata, size_t isize, std::streambuf &output, const std::st + directory.pageSize = PageShift_; + directory.spare2 = Swap(uint32_t(0)); + directory.scatterOffset = Swap(uint32_t(0)); +- //directory.spare3 = Swap(uint32_t(0)); +- //directory.codeLimit64 = Swap(uint64_t(0)); ++ directory.spare3 = Swap(uint32_t(0)); ++ directory.codeLimit64 = Swap(uint64_t(0));; ++ directory.execSegBase = Swap(uint64_t(0)); ++ directory.execSegLimit = Swap(uint64_t(0)); ++ directory.execSegFlags = Swap(uint64_t(0)); + + uint32_t offset(sizeof(Blob) + sizeof(CodeDirectory)); + diff --git a/data/ldid/_metadata/_libplist.dep b/data/ldid/_metadata/_libplist.dep new file mode 120000 index 000000000..6f3647b24 --- /dev/null +++ b/data/ldid/_metadata/_libplist.dep @@ -0,0 +1 @@ +../../_libplist \ No newline at end of file diff --git a/data/ldid/_metadata/_openssl1.1.1.dep b/data/ldid/_metadata/_openssl1.1.1.dep new file mode 120000 index 000000000..095bc1aaa --- /dev/null +++ b/data/ldid/_metadata/_openssl1.1.1.dep @@ -0,0 +1 @@ +../../_openssl1.1.1 \ No newline at end of file diff --git a/data/ldid/_metadata/depends b/data/ldid/_metadata/depends index 10ba93442..1e4d191a9 100644 --- a/data/ldid/_metadata/depends +++ b/data/ldid/_metadata/depends @@ -1 +1 @@ -dpkg (>= 1.18.25-9) +libplist3, libssl1.1.1, dpkg (>= 1.18.25-9) diff --git a/data/ldid/_metadata/libplist.dep b/data/ldid/_metadata/libplist.dep deleted file mode 120000 index 1ef48bb75..000000000 --- a/data/ldid/_metadata/libplist.dep +++ /dev/null @@ -1 +0,0 @@ -../../libplist \ No newline at end of file diff --git a/data/ldid/_metadata/libssl1.1.1.dep b/data/ldid/_metadata/libssl1.1.1.dep deleted file mode 120000 index 254747b12..000000000 --- a/data/ldid/_metadata/libssl1.1.1.dep +++ /dev/null @@ -1 +0,0 @@ -../../libssl1.1.1 \ No newline at end of file diff --git a/data/ldid/_metadata/version b/data/ldid/_metadata/version index d079bcbce..5c03f0e6a 100644 --- a/data/ldid/_metadata/version +++ b/data/ldid/_metadata/version @@ -1 +1 @@ -2:2.1.2+g5420cb5 +2:2.1.2.7+g5420cb5q -- cgit v1.2.3