/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...] |
/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...] |
/build/make/tools/ziptime/ |
ZipFile.cpp | 69 * This is all a little wobbly. If the wrong value ends up in the EOCD 94 LOG("Failure allocating %d bytes for EOCD search", 129 LOG("EOCD not found, not Zip\n"); 134 /* extract eocd values */ 137 LOG("Failure reading %ld bytes of EOCD values", readAmount - i); 181 * If all went well, we should now be back at the EOCD. 185 LOG("EOCD check read failed\n"); 190 LOG("EOCD read check failed\n"); 209 * "buf" should be positioned at the EOCD signature, and should contain 210 * the entire EOCD area including the comment [all...] |
ZipEntry.cpp | 42 * at the EOCD. 123 * entry or for the EOCD.
|
/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...] |
/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...] |
/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...] |
/prebuilts/sdk/tools/linux/bin/ |
zipalign | |
/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);
|
/frameworks/base/tools/aapt/ |
ZipFile.cpp | 200 * This is all a little wobbly. If the wrong value ends up in the EOCD 225 ALOGD("Failure allocating %d bytes for EOCD search", 256 ALOGV("+++ Found EOCD at buf+%d\n", i); 261 ALOGD("EOCD not found, not Zip\n"); 266 /* extract eocd values */ 269 ALOGD("Failure reading %ld bytes of EOCD values", readAmount - i); 323 * If all went well, we should now be back at the EOCD. 328 ALOGD("EOCD check read failed\n"); 333 ALOGD("EOCD read check failed\n"); 337 ALOGV("+++ EOCD read check passed\n") [all...] |
/build/make/tools/zipalign/ |
ZipFile.cpp | 203 * This is all a little wobbly. If the wrong value ends up in the EOCD 228 ALOGD("Failure allocating %d bytes for EOCD search", 259 ALOGV("+++ Found EOCD at buf+%d\n", i); 264 ALOGD("EOCD not found, not Zip\n"); 269 /* extract eocd values */ 272 ALOGD("Failure reading %ld bytes of EOCD values", readAmount - i); 326 * If all went well, we should now be back at the EOCD. 331 ALOGD("EOCD check read failed\n"); 336 ALOGD("EOCD read check failed\n"); 340 ALOGV("+++ EOCD read check passed\n") [all...] |
/cts/tests/tests/os/src/android/os/cts/ |
RecoverySystemTest.java | 72 expectVerifyFail("fake-eocd.zip", otacerts);
|
/frameworks/base/core/java/android/os/ |
RecoverySystem.java | 229 byte[] eocd = new byte[commentSize + 22]; 231 raf.readFully(eocd); 235 if (eocd[0] != (byte)0x50 || eocd[1] != (byte)0x4b || 236 eocd[2] != (byte)0x05 || eocd[3] != (byte)0x06) { 240 for (int i = 4; i < eocd.length-3; ++i) { 241 if (eocd[i ] == (byte)0x50 && eocd[i+1] == (byte)0x4b && 242 eocd[i+2] == (byte)0x05 && eocd[i+3] == (byte)0x06) [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...] |
/build/make/tools/releasetools/ |
check_ota_package_signature.py | 84 # EOCD except for the comment length field (2 bytes) and the comment data.
|
/prebuilts/gradle-plugin/com/android/tools/build/builder/2.0.0/ |
builder-2.0.0-sources.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/builder/2.0.0-alpha5/ |
builder-2.0.0-alpha5-sources.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/builder/2.0.0-alpha7/ |
builder-2.0.0-alpha7-sources.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/builder/2.0.0-alpha9/ |
builder-2.0.0-alpha9-sources.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/builder/2.0.0-beta2/ |
builder-2.0.0-beta2-sources.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/builder/2.0.0-beta5/ |
builder-2.0.0-beta5-sources.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/builder/2.0.0-beta6/ |
builder-2.0.0-beta6-sources.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/builder/2.0.0-beta7/ |
builder-2.0.0-beta7-sources.jar | |
/prebuilts/gradle-plugin/com/android/tools/build/builder/2.0.0-rc3/ |
builder-2.0.0-rc3-sources.jar | |