Tôi có một tập hợp các tệp dcu Delphi được biên dịch, không có nguồn. Có cách nào để xác định những loại được định nghĩa bên trong mà dcu?Làm cách nào để biết loại nào được xác định trong DCU Delphi?
Trả lời
Bạn có thể xem DCU32INT, trình giải mã DCU Delphi. Nó tạo ra một tập tin .int mà bằng cách nào đó có thể đọc được nhưng không thể biên dịch được, nhưng nếu bạn chỉ muốn xác định các kiểu được xác định, điều này có thể là đủ.
Định dạng DCU không có giấy tờ, cuối cùng tôi đã kiểm tra. Tuy nhiên, có một công cụ tôi tìm thấy có thể cung cấp cho bạn một số thông tin cơ bản được gọi là DCUtoPAS. Nó không được đánh giá rất tốt trên trang web, nhưng nó có thể ít nhất là trích xuất các loại cho bạn. Ngoài ra còn có DCU32INT, điều này cũng có thể hữu ích.
Nếu không, bạn có thể chỉ cần mở tệp bằng trình chỉnh sửa hex và tìm hiểu về chuỗi.
DCUtoPAS đã không làm việc ở tất cả ... DCU32INT đã làm mặc dù. – JosephStyons
Để tìm hiểu những gì trong một đơn vị tên FooUnit, gõ như sau trong trình soạn thảo của bạn:
unit Test;
interface
uses FooUnit;
var
x: FooUnit.
Nhấn Ctrl + Space ở cuối, và IDE sẽ trình bày một danh sách các giá trị hoàn thành có thể, nên bao gồm chủ yếu, nếu không độc quyền, tên loại.
Giải pháp đơn giản nhất và hoạt động tốt. Tôi chấp nhận schnaader mặc dù, vì nó thực sự phá vỡ DCU trực tiếp, thay vì dựa vào IDE. – JosephStyons
- 1. Làm cách nào để biết một loại không xác định?
- 2. Delphi: Thiếu DCU
- 3. Làm thế nào để xác định Rỗng Char trong Delphi
- 4. Nơi giữ các tệp DCU Delphi?
- 5. Làm cách nào để xác định loại tham chiếu được ưu tiên trong Perl?
- 6. Làm thế nào để xác định một loại WCF được biết đến trong cấu hình đó là chung chung?
- 7. Delphi biến môi trường được xác định trước
- 8. Làm cách nào để xác định biến khi tôi gọi CMake, sao cho qtcreator biết nó được xác định?
- 9. Làm thế nào để biết nếu __uint128_t được định nghĩa
- 10. Làm thế nào để biết loại nào là var?
- 11. Làm cách nào để xác định loại cấu trúc dữ liệu cây nào để chọn?
- 12. Làm cách nào để chuyển đổi loại người dùng đã xác định thành loại nguyên thủy?
- 13. Làm cách nào để xác định loại biến? (không phải loại đối tượng)
- 14. Làm cách nào để biết loại tệp sử dụng Boost.Filesystem?
- 15. Xác định loại được xác định
- 16. Làm cách nào để hiển thị nhật ký được định dạng (màu, kiểu, v.v.) trong Delphi?
- 17. Làm thế nào để xác định loại của lớp dụ
- 18. Java: làm cách nào để xác định loại tệp ổ đĩa được đặt trên?
- 19. Delphi: xác định loại thực tế của một generic?
- 20. Cách biết ý định nào được chọn trong Intent.ACTION_SEND?
- 21. Làm cách nào để biết tôi có đang ở trong ngăn xếp ngoại lệ Delphi không?
- 22. Nút trong GridView: Làm cách nào để biết Mục nào?
- 23. Làm cách nào để điền vào một bộ Delphi?
- 24. Làm cách nào để định cấu hình các loại WCF đã biết theo lập trình?
- 25. Làm cách nào để xác định scrollHeight?
- 26. Làm cách nào để biết khi nào nên sử dụng các chỉ mục và loại nào?
- 27. Làm cách nào để xác định ô nào trong JTable đã được chọn?
- 28. Làm cách nào để xác định loại nội dung của tệp trong .NET?
- 29. Làm cách nào để xác định phương thức nào được gọi trong phương thức?
- 30. Làm cách nào để xác định CPU nào chạy trên?
dcu32int đã hoạt động đối với tôi. Tệp .int khá dễ đọc. – JosephStyons