/frameworks/base/core/java/android/util/apk/ |
ZipUtils.java | 56 // ZIP End of Central Directory (EOCD) record is located at the very end of the ZIP archive. 60 // The algorithm for locating the ZIP EOCD record is as follows. We search backwards from 61 // end of the buffer for the EOCD record signature. Whenever we find a signature, we check 71 // Optimization: 99.99% of APKs have a zero-length comment field in the EoCD record and thus 72 // the EoCD record offset is known in advance. Try that offset first to avoid unnecessarily 79 // EoCD does not start where we expected it to. Perhaps it contains a non-empty comment 80 // field. Expand the search. The maximum size of the comment field in EoCD is 65535 because 88 * @param maxCommentSize maximum accepted size (in bytes) of EoCD comment field. The permitted 99 // ZIP End of Central Directory (EOCD) record is located at the very end of the ZIP archive. 103 // The algorithm for locating the ZIP EOCD record is as follows. We search backwards fro 133 ByteBuffer eocd = buf.slice(); local [all...] |
ApkSignatureSchemeV2Verifier.java | 140 /** Position of the ZIP End of Central Directory (EoCD) in the file. */ 143 /** Contents of ZIP End of Central Directory (EoCD) of the file. */ 144 private final ByteBuffer eocd; field in class:ApkSignatureSchemeV2Verifier.SignatureInfo 151 ByteBuffer eocd) { 156 this.eocd = eocd; 169 // Find the ZIP End of Central Directory (EoCD) record. 171 ByteBuffer eocd = eocdAndOffsetInFile.first; local 178 long centralDirOffset = getCentralDirOffset(eocd, eocdOffset); 192 eocd); 421 DataSource eocd = new ByteBufferDataSource(eocdBuf); local [all...] |
/bootable/recovery/ |
verifier.cpp | 173 LOG(ERROR) << "not big enough to contain EOCD"; 178 // signature data and length, which includes all of the EOCD except for the comment length field 182 const unsigned char* eocd = addr + length - eocd_size; local 184 // If this is really is the EOCD record, it will begin with the magic number $50 $4b $05 $06. 185 if (eocd[0] != 0x50 || eocd[1] != 0x4b || eocd[2] != 0x05 || eocd[3] != 0x06) { 186 LOG(ERROR) << "signature length doesn't match EOCD marker"; 191 if (eocd[i] == 0x50 && eocd[i+1] == 0x4b && eocd[i+2] == 0x05 && eocd[i+3] == 0x06) [all...] |
/tools/apksig/src/main/java/com/android/apksig/apk/ |
ApkUtils.java | 67 + ", EoCD start: " + eocdOffset); 95 ByteBuffer eocd) { 100 mEocd = eocd; 153 ByteBuffer eocd = zipEndOfCentralDirectory.slice(); local 154 eocd.order(ByteOrder.LITTLE_ENDIAN); 155 ZipUtils.setZipEocdCentralDirectoryOffset(eocd, offset);
|
/tools/apksig/src/main/java/com/android/apksig/internal/zip/ |
ZipUtils.java | 114 // ZIP End of Central Directory (EOCD) record is located at the very end of the ZIP archive. 118 // The algorithm for locating the ZIP EOCD record is as follows. We search backwards from 119 // end of the buffer for the EOCD record signature. Whenever we find a signature, we check 129 // Optimization: 99.99% of APKs have a zero-length comment field in the EoCD record and thus 130 // the EoCD record offset is known in advance. Try that offset first to avoid unnecessarily 137 // EoCD does not start where we expected it to. Perhaps it contains a non-empty comment 138 // field. Expand the search. The maximum size of the comment field in EoCD is 65535 because 146 * @param maxCommentSize maximum accepted size (in bytes) of EoCD comment field. The permitted 157 // ZIP End of Central Directory (EOCD) record is located at the very end of the ZIP archive. 161 // The algorithm for locating the ZIP EOCD record is as follows. We search backwards fro 190 ByteBuffer eocd = buf.slice(); local [all...] |
/system/core/libziparchive/ |
zip_archive.cc | 62 // The maximum number of bytes to scan backwards for the EOCD start. 173 * Scan backward for the EOCD magic. In an archive without a trailing 183 ALOGV("+++ Found EOCD at buf+%d", i); 189 ALOGD("Zip: EOCD not found, %s is not zip", debug_file_name); 194 const EocdRecord* eocd = reinterpret_cast<const EocdRecord*>(scan_buffer + i); local 199 const off64_t calculated_length = eocd_offset + sizeof(EocdRecord) + eocd->comment_length; 210 if (static_cast<off64_t>(eocd->cd_start_offset) + eocd->cd_size > eocd_offset) { 211 ALOGW("Zip: bad offsets (dir %" PRIu32 ", size %" PRIu32 ", eocd %" PRId64 ")", 212 eocd->cd_start_offset, eocd->cd_size, static_cast<int64_t>(eocd_offset)) [all...] |
/build/make/tools/signapk/src/com/android/signapk/ |
SignApk.java | 732 // we expect to find the EOCD marker 22 bytes from the end. 761 // Signature verification checks that the EOCD header is the 763 // fake EOCD appended after the signature in its scan). The 769 throw new IllegalArgumentException("found spurious EOCD header at " + i); 855 ByteBuffer eocd; field in class:SignApk.ZipSections 882 ByteBuffer eocd = apk.slice(); local [all...] |
/tools/apksig/src/main/java/com/android/apksig/internal/apk/v2/ |
V2SchemeVerifier.java | 97 ByteBuffer eocd = signatureInfo.eocd; local 102 eocd, 116 ByteBuffer eocd, 124 beforeApkSigningBlock, centralDir, eocd, contentDigestsToVerify, result); 450 ByteBuffer eocd, 459 // For the purposes of verifying integrity, ZIP End of Central Directory (EoCD) must be 461 // We thus modify the EoCD accordingly. 462 ByteBuffer modifiedEocd = ByteBuffer.allocate(eocd.remaining()); 464 modifiedEocd.put(eocd); 531 private final ByteBuffer eocd; field in class:V2SchemeVerifier.SignatureInfo 558 ByteBuffer eocd = zipSections.getZipEndOfCentralDirectory(); local [all...] |
/prebuilts/gradle-plugin/com/android/tools/build/apksig/2.3.0/ |
apksig-2.3.0.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/apksig/2.3.0-alpha1/ |
apksig-2.3.0-alpha1.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/apksig/2.3.0-beta1/ |
apksig-2.3.0-beta1.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/apksig/2.3.0-beta2/ |
apksig-2.3.0-beta2.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/apksig/2.3.0-beta3/ |
apksig-2.3.0-beta3.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/apksig/2.3.0-beta4/ |
apksig-2.3.0-beta4.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/apksig/2.3.1/ |
apksig-2.3.1.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/apksig/2.3.3/ |
apksig-2.3.3.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/apksig/2.4.0-alpha1/ |
apksig-2.4.0-alpha1.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/apksig/2.4.0-alpha3/ |
apksig-2.4.0-alpha3.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/apksig/2.4.0-alpha5/ |
apksig-2.4.0-alpha5.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/apksig/2.4.0-alpha6/ |
apksig-2.4.0-alpha6.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/apksig/2.4.0-alpha7/ |
apksig-2.4.0-alpha7.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/apksig/2.5.0-alpha-preview-01/ |
apksig-2.5.0-alpha-preview-01.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/apksig/2.5.0-alpha-preview-02/ |
apksig-2.5.0-alpha-preview-02.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/apksig/3.0.0-alpha4/ |
apksig-3.0.0-alpha4.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/apksig/3.0.0-alpha5/ |
apksig-3.0.0-alpha5.jar | |