1

When LLM Decompilers Recompile More and Preserve Less

arxiv.org

Biên dịch ngược khôi phục mã nguồn cấp cao từ mã máy đã biên dịch và là nền tảng cho các nhiệm vụ bảo mật như phát hiện lỗ hổng và phân tích mã độc. Các công cụ biên dịch ngược truyền thống như Ghidra và Hex-Rays sẽ hiển thị những gì chúng không thể giải quyết dưới dạng các trùng tượng giữ chỗ rõ rệt và thường phát ra mã giả không thể biên dịch hoặc thực thi; các công cụ biên dịch ngược dựa trên LLM sản xuất ra mã C sạch sẽ và trực quan, và hiện nay chủ yếu được đánh giá dựa trên khả năng biên dịch lại và thực thi lại: liệu đầu ra có được xây dựng và vượt qua các bài kiểm tra đầu vào/đầu ra đã gửi kèm. Chúng tôi chỉ ra rằng những số liệu này có thể thưởng cho con đường sai lầm: một hàm có thể biên dịch lại và vượt qua mọi bài kiểm tra đã gửi kèm nhưng vẫn khác biệt trên các đầu vào hợp lệ khác, và một lỗ hổng đã được tiết lộ có thể biến mất khỏi mã đã biên dịch lại mà không để lại bất kỳ dấu vết nào của sự sụp đổ. Không có bất kỳ sự thất bại nào trong số này được bắt bởi các bộ kiểm tra hiện có. Để giải quyết khoảng trống này, chúng tôi đề xuất Decompile-Diverge, một oracle so sánh hành vi không dựa trên các bài kiểm tra cố định hoặc thủ công: đối với mỗi hàm, nó t合成 một trình điều khiển, phát triển một bộ dữ liệu fuzzing từ tài liệu tham khảo, và chạy lại mã đã biên dịch trên cùng các đầu vào để phát hiện thay đổi trong hành vi của hàm. Trên tám hệ thống trong chín cấu hình trên các bộ dữ liệu biên dịch ngược LLM đã thiết lập, các ứng cử viên vượt qua mọi bài kiểm tra đã gửi kèm nhưng vẫn khác biệt từ phiên bản gốc trên bộ dữ liệu đầu vào của chúng tôi: 4.9% tổng thể, và lên đến 13% cho một hệ thống duy nhất. Trên 300 hàm thư viện GitHub thực tế và 287 hàm CVE-grounded, khả năng biên dịch lại và sự đồng thuận hành vi có thể tách rời: mức tăng mạnh nhất của LLM nâng tỷ lệ xây dựng của Ghidra từ 75% lên 90%, trong khi tỷ lệ Matched giảm từ 74% xuống 62%; về các lỗ hổng đã được tiết lộ, lên đến một phần mười hiển thị Crash Absence trong đầu ra của nó. Phân tích ở cấp độ nguồn gốc truy xuất sự khác biệt này đến các trường, kiểu dữ liệu, hàm gọi và bảo vệ đã được giới thiệu, thay thế cho những bất định đã biết của công cụ truyền thống.

Lịch sử nội dung (4)
  • 2026-10-12 · Tóm tắt · vi · Thay nội dung đã lưu
    Nghiên cứu cho thấy LLM decompiler có xu hướng tái biên dịch nhiều đoạn mã hơn, nhưng tro…
    Biên dịch ngược khôi phục mã nguồn cấp cao từ mã máy đã biên dịch và là nền tảng cho các …
  • 2026-10-12 · Tiêu đề · vi · Thay nội dung đã lưu
    Khi LLM Decompiler tái biên dịch nhiều hơn và giữ lại ít hơn
    When LLM Decompilers Recompile More and Preserve Less
  • 2026-10-12 · Tóm tắt · vi · Thay nội dung đã lưu
    Bài viết phân tích trường hợp các LLM decompiler thực hiện biên dịch lại quá mức, dẫn đến…
    Nghiên cứu cho thấy LLM decompiler có xu hướng tái biên dịch nhiều đoạn mã hơn, nhưng tro…
  • 2026-10-12 · Tiêu đề · vi · Thay nội dung đã lưu
    Khi LLM decompiler biên dịch lại nhiều hơn nhưng bảo toàn ít hơn
    Khi LLM Decompiler tái biên dịch nhiều hơn và giữ lại ít hơn
Đăng nhập để góp ý, chỉnh sửa

Nguồn chính

  1. THẢO LUẬNjuliethefoxcoonlobste.rs
Bản Markdown