Có phần mềm nào để thực hiện việc này không? Tôi không tìm thấy bất kỳ thông tin hữu ích trên internet vì vậy tôi yêu cầu ở đây.Làm thế nào để bạn trích xuất mã nguồn của lớp học từ một tệp dll?
Trả lời
Bạn không thể lấy mã chính xác, nhưng bạn có thể nhận phiên bản được giải mã của nó.
Công cụ phổ biến nhất (và tốt nhất) là Reflector, nhưng cũng có các trình giải mã .Net khác (chẳng hạn như Dis#). Bạn cũng có thể dịch ngược IL bằng cách sử dụng ILDASM, đi kèm với .Net Framework SDK Tools.
Những ngày này bạn có lẽ nên sử dụng ILSpy hoặc dotPeek. Cả hai đều miễn phí ** và làm một công việc tuyệt vời. Tôi tìm thấy dotPeek tốt hơn vì điều hướng, và cũng phải mất một thời gian dài cho ILSpy để bắt đầu. Ngoài ra, tôi một lần đã biên dịch lại một assembly mà tôi đã làm xáo trộn (đối với các công cụ kiểm tra) và bộ phản xạ .NET của Redgate bị treo ngay lập tức từ obfuscation đơn giản nhất. ILSpy và dotPeek không có vấn đề gì và đã tải nó ngay lập tức. Họ cũng làm nổi bật lựa chọn để bạn bằng cách nào đó có thể quản lý sự xáo trộn. – MasterMastic
Sử dụng .NET reflector.
Bạn có thể sử dụng Reflector và cũng có thể sử dụng Add-InFileGenerator để trích xuất mã nguồn vào dự án.
Chỉ các ngôn ngữ được quản lý như c#
và Java
mới có thể được biên dịch hoàn toàn.Bạn có thể xem mã nguồn hoàn chỉnh. Đối với Win32 dll
bạn không thể nhận mã sorce.
Đối với CSharp dll Sử dụng DotPeek becoz nó miễn phí và các công trình tương tự như ReDgate .Net Compiler
Hãy vui vẻ.
Nếu bạn muốn biết chỉ có một số vấn đề cơ bản trong việc lắp ráp dll ví dụ Các lớp học, phương pháp, vv, để tải chúng dyanamically
bạn có thể sử dụng công cụ IL Disassembler do Microsoft cung cấp.
Thường có tại: "C: \ Program Files (x86) \ Microsoft SDK \ Windows \ v7.0A \ Bin"
- 1. Trích xuất mã VB.NET từ tệp exe
- 2. Xuất một lớp học từ một tệp Coffeescript
- 3. Làm cách nào để trích xuất văn bản trên một trang từ nguồn html của nó?
- 4. Làm cách nào để trích xuất biểu đồ cuộc gọi của một hàm từ tệp nguồn Python?
- 5. Làm thế nào để bạn trích xuất giá trị của một regre backreference/match trong Powershell
- 6. Làm thế nào để bạn 'de-serialize' một lớp dẫn xuất từ dữ liệu tuần tự?
- 7. Làm thế nào để tôi làm cho một người bạn chính của lớp học của tôi từ trong thư viện?
- 8. Trong Haskell, làm thế nào để bạn trích xuất các chuỗi từ một tài liệu XML?
- 9. trích xuất các từ từ một tệp
- 10. Trích xuất mã băm SHA1 từ tệp torrent
- 11. Làm cách nào để trích xuất một tệp đơn lẻ từ tệp lưu trữ từ xa?
- 12. Làm thế nào để phân tích tệp kết xuất từ tệp DLL Delphi?
- 13. Làm thế nào để tăng cường :: make_shared một người bạn của lớp học của tôi
- 14. Làm cách nào để bạn trích xuất hình ảnh từ tệp pdf bằng C#
- 15. Làm thế nào để trích xuất một tập hợp con của lịch sử từ Git?
- 16. Làm thế nào để bạn trích xuất địa chỉ email từ trường 'Tới' trong triển vọng?
- 17. Làm thế nào để bạn tìm kiếm thông qua thư viện mã nguồn của riêng bạn?
- 18. Làm thế nào để trích xuất DataGridCell từ lớp DataGridCellinfo trong wpf
- 19. Làm cách nào để xuất tất cả mã nguồn từ Visual Studio sang tệp văn bản?
- 20. Làm thế nào để trích xuất giờ từ time_t?
- 21. Làm cách nào để trích xuất một đoạn byte đơn lẻ từ bên trong một tệp?
- 22. Trích xuất các thuộc tính từ mã nguồn C# mà không cần phản ánh
- 23. Làm thế nào để tải về mã nguồn của Eclipse?
- 24. Làm thế nào để bạn trích xuất một subarray từ một mảng trong một chức năng bảng tính?
- 25. Làm thế nào để bạn trích xuất một giá trị số từ một chuỗi trong một truy vấn MySQL?
- 26. Làm thế nào để trích xuất một số phần của một trang web bằng Python
- 27. Làm thế nào để tạo một số lớp từ dll (constructor in dll)? (С ++)
- 28. Làm thế nào để làm cho các lớp học thử nghiệm google bạn bè với các lớp học của tôi?
- 29. Làm cách nào để trích xuất một tệp từ tar sang một thư mục khác?
- 30. Làm thế nào để bạn tổ chức mã nguồn lớp trong Java?
Mã nguồn ban đầu đã được biên dịch? Đơn giản là không thể. Một cái gì đó chức năng tương đương? Vâng. – delnan
@delnan - Bạn có ý nghĩa gì về chức năng tương đương? Xin lỗi mới cho tất cả điều này. Tôi không hiểu. Tôi muốn trích xuất các lớp '(viết bằng C# .net) mã từ một tập tin dll. các tập tin dll có giống như quá nhiều lớp học. Bất kỳ cách nào để lấy mã đó ra khỏi dll đó? – ILoveMusic
@ILoveMusic Bạn có thể trích xuất một cái gì đó giống như mã gốc, nhưng không phải chính xác. Sử dụng bộ phản xạ .NET. –