Phát hiện trình biên dịch được sử dụng cho tệp EXE


18

Có cách nào để phát hiện (hoặc ẩn) trình biên dịch đã được sử dụng để xây dựng một tệp thực thi không?

Câu trả lời:


12

PEiD là khá tốt

PEiD phát hiện hầu hết các trình đóng gói, mật mã và trình biên dịch phổ biến cho các tệp PE. Hiện tại nó có thể phát hiện hơn 600 chữ ký khác nhau trong các tệp PE.

PEiD đặc biệt ở một số khía cạnh khi so sánh với các định danh khác đã có!

  1. Nó có một GUI tuyệt vời và giao diện thực sự trực quan và đơn giản.
  2. Tỷ lệ phát hiện là một trong những mức tốt nhất được đưa ra bởi bất kỳ định danh nào khác.
  3. Các chế độ quét đặc biệt để phát hiện nâng cao các tệp đã sửa đổi và chưa biết.
  4. Tích hợp Shell, hỗ trợ dòng lệnh, Luôn luôn đứng đầu và các khả năng của Drag'n'Drop.
  5. Nhiều tập tin và thư mục quét với đệ quy.
  6. Trình xem tác vụ và bộ điều khiển.
  7. Giao diện Plugin với các plugin như Generic OEP Finder và Krypto ANALyzer.
  8. Kỹ thuật quét thêm được sử dụng để phát hiện thậm chí tốt hơn.
  9. Tùy chọn quét heuristic.
  10. Chi tiết PE mới, Nhập khẩu, Xuất khẩu và người xem TLS
  11. Mới được xây dựng trong trình phân tách nhanh.
  12. Mới được xây dựng trong trình xem hex.
  13. Giao diện chữ ký bên ngoài có thể được cập nhật bởi người dùng.

4
"PEiD phát hiện các trình biên dịch [...] phổ biến nhất cho các tệp PE." đó là những gì người đọc nói - thực ra nó không nói làm thế nào để đạt được điều đó
mbx

@Sathya Lưu ý, liên kết bao gồm đã chết.
DuckMaestro

@DuckMaestro đã cập nhật witi một liên kết thay thế
Sathyajith Bhat

Nếu nó không thể phát hiện trình biên dịch, thứ gì đó như Không tìm thấy [Lớp phủ] * sẽ được hiển thị - điều này gây nhầm lẫn nếu bạn sử dụng công cụ đó lần đầu tiên.
mbx

"Trang web phía trước chứa các chương trình có hại" - Google Chrome. Đây là một liên kết tốt hơn.
Ben N

8

Hãy thử các chuỗi tiện ích * nix . Sử dụng strings -a foo.exe nên tạo ra một đống kết quả. Chuyển hướng đến một tập tin và kiểm tra trong trình soạn thảo yêu thích của bạn. Bạn có thể thấy một dòng liên quan trực tiếp đến một trình biên dịch cụ thể, chẳng hạn như Borland C ++ - Bản quyền 2002 Borland Corporation . Bạn chỉ có thể tìm thấy các dòng ngụ ý một trình biên dịch cụ thể đã được sử dụng, chẳng hạn như trong một đường dẫn bao gồm hoặc bất cứ điều gì.

Chuỗi cũng có sẵn cho các cửa sổ như là một phần của cygwin hoặc là một phần của gói microsys sysiternals .


Nó không hiển thị cho tôi tên trình biên dịch chỉ một số dự án tên dll
Eduardo Xavier


1

Không miễn phí, nhưng IDA Pro có một trình phát hiện trình biên dịch rất đẹp. Tất nhiên không phải là chức năng chính, nhưng là một bổ sung tốt đẹp.


0

Nếu bạn có thể tìm cách kiểm tra hàng chục byte đầu tiên của tệp EXE, trong kết xuất hex với các ký tự ASCII tương ứng được hiển thị, chúng thường sẽ chỉ ra trình biên dịch được sử dụng.


1
Tôi đã tự hỏi nếu ai đó hoặc một số phần mềm có thể tìm thấy nếu exe được xây dựng với một phiên bản trình biên dịch cụ thể (Visual Studio 2010 Professional hoặc Enterprise hoặc Express)
Remus Rigo

Điều này thường không đúng. Phần đầu tiên của tệp PE là sơ khai DOS thường là chương trình in một cái gì đó như "Chương trình này không thể chạy trong chế độ DOS."
lesderid

-1

Bạn có thể sử dụng "walker walker" để kiểm tra thư viện thời gian chạy mà nó liên kết đến. MSVCP100 là Microsoft Visual C ++ 2010 x86

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.