Công cụ diff nhị phân sẽ hoạt động giống như công cụ diff (1) [trùng lặp]


4

Câu hỏi này đã có câu trả lời ở đây:

Bạn có biết công cụ tìm khác biệt Unix / Linux (1) không? Nó cho thấy dòng nào đã được thêm và xóa giữa 2 tệp văn bản và hiển thị nó ở dạng có thể đọc được. Tôi cần cùng loại công cụ cho các tệp nhị phân - ngoại trừ làm việc trên các chuỗi byte, không phải các dòng văn bản. Nó vẫn phải tạo ra đầu ra có thể đọc được của con người (do đó, trong hex).

Lưu ý rằng tôi không cần cmp -l khác biệt các tệp nhị phân theo byte và không thể phát hiện các phần chèn thêm và loại bỏ. Lưu ý rằng tôi không cần xdelta hoặc là bsdiff trong đó sản xuất đầu ra không thể đọc được. Thật ra, tôi hơi ngạc nhiên khi cả xdelta cũng không bsdiff cung cấp một số loại đại diện có thể đọc được cho con người cho các bản vá mà họ sản xuất. IMHO, tùy chọn như vậy nên có trước, và chỉ sau đó là một tùy chọn để tạo ra một bản vá nhị phân hiệu quả. Rốt cuộc, làm thế nào các tác giả của những công cụ đó xác minh chúng hoạt động đúng không? Và họ không nghĩ rằng người dùng sẽ muốn xác minh chúng, để đảm bảo rằng họ thực sự tạo ra các bản vá lành mạnh và tối thiểu?


Tại sao không chuyển đổi hai tập tin thành hex và sau đó tìm các phiên bản hex?
Andrew Lambert

Nếu bạn chuyển đổi thành các giá trị hex, không bù, thì kết quả là diff sẽ không truyền tải thông tin nghiêm ngặt - nó có thể được sử dụng như một biện pháp chẩn đoán về cách các tệp khác nhau, không phân tích sự khác biệt hoặc được sử dụng như một bản vá. Nếu chuyển đổi với thông tin bù, bạn ngay lập tức nhận được các khác biệt giả trong lần chèn / xóa đầu tiên. Vì vậy, nó phải là một công cụ thông minh hơn, đặc biệt, không phải là một bản hack nhanh. Và hiện có công cụ ("làm thế nào để viết công cụ như vậy?" Tôi sẽ đăng trên StackOverflow).
pfalcon

Câu trả lời:


0

tôi đã tìm được jdiff . Có lẽ, công cụ này bạn đang tìm kiếm.

JDIFF là một chương trình tạo ra sự khác biệt giữa hai nhị phân   các tệp, ở định dạng nhị phân hoặc ở định dạng có thể đọc được (chi tiết   hoặc tóm tắt). JPATCH sau đó cho phép xây dựng lại tệp thứ hai từ   tập tin đầu tiên

cập nhật

Có vẻ như jdiff không lưu bản vá ở định dạng có thể đọc được. Nó chỉ hiển thị tóm tắt ở định dạng có thể đọc được của con người :(

Tôi nghiên cứu nhiều công cụ và chỉ tìm thấy các công cụ cracker có thể hữu ích cho mục đích này: Vì vậy, định dạng có thể đọc được của con người là .XCK .CRK phần mở rộng tập tin. công cụ cho các phần mở rộng này:

để sử dụng bản vá:

  1. Cracker.Exe bởi Corner Crackers
  2. patch-xck.rb

để tạo bản vá:

  1. c2c (so với crack) ex: C2C của Nimnull, C2C / 2 của SkullC0DEr, MC2C bởi MaD k0DeR.
  2. fc
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.