Hy vọng bạn đã nghe về neat hack cho phép bạn kết hợp tệp JPG và tệp Zip thành một tệp và đó là tệp hợp lệ (hoặc ít đọc được) cho cả hai định dạng. Vâng, tôi nhận ra rằng kể từ khi JPG cho phép các công cụ tùy ý ở phần cuối, và ZIP ngay từ đầu, bạn có thể thêm một định dạng nữa vào đó - ở giữa. Vì mục đích của câu hỏi này, giả sử dữ liệu ở giữa là dữ liệu nhị phân tùy ý không xung đột với định dạng JPG hoặc ZIP (có nghĩa là nó không chứa tiêu đề zip ma thuật 0x04034b50). Minh họa:JPG + Zip Sự cố kết hợp tệp với định dạng zip
0xFFD8 <- start jpg data end -> 0xFFD9 ... ARBITRARY BINARY DATA ... 0x04034b50 <- start zip file ... EOF
Tôi catting như thế này:
mèo "mss_1600.jpg" filea fileb filea fileb filea fileb filea fileb filea fileb filea fileb filea fileb filea fileb filea fileb filea fileb filea fileb filea fileb filea fileb "null.bytes" "randomzipfile.zip"> temp.zip
Điều này tạo ra một tệp 6.318 KB. Nó không mở trong 7-Zip. Tuy nhiên, khi tôi mèo một ít 'đúp' (nên thay vì 13 filea và b của, 12):
mèo "mss_1600.jpg" filea fileb filea fileb filea fileb filea fileb filea fileb filea fileb filea fileb filea fileb filea fileb filea fileb filea fileb filea fileb "null.bytes" "randomzipfile.zip"> temp.zip
Nó tạo ra một tập tin 5996 KB rằng không mở trong 7-Zip.
Vì vậy, tôi biết dữ liệu nhị phân tùy ý của mình không có Đầu đề tệp Zip ma thuật để vít nó lên. Tôi có các tệp tham chiếu của working jpg+data+zip và non-working jpg+data+zip (lưu làm nguyên nhân khiến trình duyệt nghĩ rằng chúng là hình ảnh và tự thêm chính tiện ích mở rộng zip).
Tôi muốn biết tại sao nó không thành công với 13 kết hợp và không phải với 12. Đối với điểm thưởng, tôi cần phải nhận được xung quanh bằng cách nào đó.
Chỉ muốn chỉ ra rằng đây có thể là vấn đề với thuật toán của 7Zip, vì File Roller cũng đã quản lý để mở ví dụ không hoạt động. – laginimaineb
Neat trick - Từ bây giờ tôi sẽ sử dụng kỹ thuật này để chèn một hình ảnh của bản thân mình trong tất cả java của tôi .jar (thực thi jar-pegs) – Seth