diff options
author | Jay Freeman (saurik) <saurik@saurik.com> | 2015-08-25 01:14:30 -0700 |
---|---|---|
committer | Jay Freeman (saurik) <saurik@saurik.com> | 2015-08-25 01:14:30 -0700 |
commit | 843aea8c5b0578212c880e4973a40c012b6d4940 (patch) | |
tree | 18bc5b88074f04ec9b8156971c364bda4ef3a127 /ldid.cpp | |
parent | cad40c430b2f6c3d85846a9c31a8f522bb5ee3a8 (diff) | |
download | ldid-843aea8c5b0578212c880e4973a40c012b6d4940.tar.gz ldid-843aea8c5b0578212c880e4973a40c012b6d4940.tar.zst ldid-843aea8c5b0578212c880e4973a40c012b6d4940.zip |
Support LC_ENCRYPTION_INFO_64, for 64-bit decrypt.
Diffstat (limited to 'ldid.cpp')
-rw-r--r-- | ldid.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -95,6 +95,7 @@ struct load_command { #define LC_ENCRYPTION_INFO uint32_t(0x21) #define LC_DYLD_INFO uint32_t(0x22) #define LC_DYLD_INFO_ONLY uint32_t(0x22 | LC_REQ_DYLD) +#define LC_ENCRYPTION_INFO_64 uint32_t(0x2c) struct dylib { uint32_t name; @@ -1129,7 +1130,7 @@ int main(int argc, const char *argv[]) { if (false); else if (cmd == LC_CODE_SIGNATURE) signature = reinterpret_cast<struct linkedit_data_command *>(load_command); - else if (cmd == LC_ENCRYPTION_INFO) + else if (cmd == LC_ENCRYPTION_INFO || cmd == LC_ENCRYPTION_INFO_64) encryption = reinterpret_cast<struct encryption_info_command *>(load_command); else if (cmd == LC_ID_DYLIB) { volatile struct dylib_command *dylib_command(reinterpret_cast<struct dylib_command *>(load_command)); |