Tôi mới sử dụng chương trình .NET C#. Tôi đang theo dõi vài cuốn sách. Người ta nói rằng thay vì biên dịch trực tiếp sang mã nhị phân (mã gốc). Mã cấp cao được chuyển thành ngôn ngữ trung gian (gọi là MSIL aka CIL). Nhưng khi tôi biên dịch, tôi nhận được một tập tin exe/Dll.Làm thế nào tôi có thể xem MSIL/CIL được tạo bởi trình biên dịch C#? Tại sao nó được gọi là lắp ráp?
- MSIL/CIL này có bị nhiễm trong tệp exe/dll này không?
- Tôi muốn xem mã ngôn ngữ trung gian đó. Chỉ để có được cảm giác về sự tồn tại của nó. Làm thế nào để xem nó?
- Họ đang gọi tệp exe/dll này là
assembly
. Có phải họ đang sử dụng từ "ưa thích" này để phân biệt chúng với các tệp exe/dll có chứa mã nhị phân (mã gốc) không?
Chờ đã! Nó không nằm trong '.text' sextion? Nếu không, nội dung '.text' có chứa gì? và whats up với '#' Tôi nghĩ rằng phần được đặt tên bắt đầu bằng '.'. Vì vậy, nó không phải là '.strings' –
Tôi tò mò, tại sao [ILDasm] (https://docs.microsoft.com/en-us/dotnet/framework/tools/ildasm-exe-il-disassembler) không được khuyến khích? Nó chỉ bao gồm (một số phiên bản?) Visual Studio? – Sinjai
Cả hai đều có địa điểm của họ, nhưng đối với hầu hết (> 99,99%) người dùng ILSpy là lựa chọn đúng đắn. Khả năng biên dịch mã IL trở lại C# ist vô giá để nhanh chóng điều hướng và hội đồng kỹ thuật đảo ngược. Nếu bạn đang làm bất cứ điều gì phát ra nguyên IL (ví dụ bạn đang viết một trình biên dịch hoặc viết lại IL, ví dụ như với Mono.Cecil) thì ILDasm có ích vì nó có thể cho bạn thấy cấu trúc thô của IL, các bảng token… , hầu hết các chuyên gia không phải IL sẽ bị nhầm lẫn bởi những người, vì vậy ILSpy có lẽ là tất cả những gì bạn muốn và cần. –