dotPeek là một công cụ độc lập miễn phí dựa trên trình dịch ngược đi kèm của ReSharper . Nó có thể dịch ngược bất kỳ tổ hợp .NET nào thành mã C# hoặc IL tương đương.
Các tính năng trong dotPeek
Decompile .NET assemblies to C# or IL
dotPeek có thể dịch ngược bất kỳ tập hợp .NET nào thành mã C# tương đương và tùy chọn hiển thị mã IL bên dưới.
Thư viện, tệp thực thi và hơn thế nữa
dotPeek có thể hoạt động với nhiều định dạng khác nhau, chẳng hạn như thư viện ( .dll ), tệp thực thi ( .exe ) và tệp siêu dữ liệu ( .winmd ).
dotPeek cũng có thể dịch ngược các tệp .baml , cho phép bạn xây dựng lại các định nghĩa giao diện người dùng XAML.
Ngoài các tập hợp và tệp thi hành truyền thống, bạn có thể có các thư mục và kho lưu trữ mở dotPeek ( .zip , .vsix hoặc .nupkg ). Bạn cũng có thể tìm và tải các gói NuGet (và phần phụ thuộc của chúng) từ bất kỳ nguồn gói trực tuyến nào hoặc tải các gói được liệt kê trong tệp packages.config trong dự án Visual Studio của bạn.
Xem mã nguồn nếu có
Mã giải mã tốt hơn là không có gì nhưng đôi khi bạn có thể khớp một hợp ngữ với mã nguồn của nó, vậy tại sao không tận dụng lợi thế này? dotPeek có thể xác định mã nguồn cục bộ dựa trên các tệp PDB hoặc tìm nạp mã nguồn từ các máy chủ nguồn , chẳng hạn như Microsoft Reference Source Center hoặc SymbolSource.org . Hơn nữa, dotPeek có thể tạo các tệp PDB.
Sử dụng trình đơn thả xuống chế độ điều hướng trong thanh menu để chọn xem bạn chỉ muốn dotPeek dịch ngược các tập hợp hay thử tìm mã nguồn nếu có thể.
Hiển thị hoặc ẩn mã do trình biên dịch tạo
Bạn có thể chọn hiển thị một số chuyển đổi trình biên dịch nhất định, do đó làm cho cấu trúc mã mà dotPeek hiển thị rất giống với những gì trình biên dịch biến nó thành. Điều này giúp xem cách trình biên dịch xử lý lambdas, bao đóng và thuộc tính tự động , trong số những thứ khác.
Khám phá các quy trình đang chạy
Cửa sổ Process Explorer hiển thị danh sách tất cả các quy trình hiện đang chạy và cho phép khám phá các mô-đun của chúng và giải mã các mô-đun của chúng là các tập hợp .NET. Bạn có thể chọn hiển thị hoặc ẩn các quy trình và mô-đun gốc hoặc bật chế độ xem phân cấp quy trình.
Lọc danh sách để tìm một mô-đun hoặc quy trình mà bạn đang tìm kiếm, sau đó thêm các tập hợp của nó vào Trình khám phá hội để điều tra thêm.
Xem mã IL trong một chế độ xem riêng
Bất cứ khi nào bạn muốn tìm hiểu sâu hơn mã nguồn, bạn có thể điều hướng đến mã IL từ bất kỳ điểm nào trong C# dịch ngược.
Cách dễ nhất để thực hiện việc này là hiển thị mã IL trong cửa sổ công cụ riêng được đồng bộ hóa với trình xem mã chính.
dotPeek có thể hiển thị mã IL cho cả mã dịch ngược và mã nguồn được sao chép từ tệp ký hiệu.
Xem mã IL dưới dạng nhận xét để dịch ngược C#
Ngoài ra, bạn có thể chọn hiển thị mã IL dưới dạng nhận xét cho mã C# đã dịch ngược, mã này kết hợp hiệu quả trình xem văn bản mặc định của nó và cửa sổ Trình xem IL riêng biệt bình thường , tất cả trong một dạng xem.
Sử dụng chủ đề màu ưa thích của bạn
dotPeek hỗ trợ cùng một bộ chủ đề màu như Visual Studio.
Ví dụ: bạn có thể chọn chủ đề Xanh lam hoặc Tối hoặc chọn đồng bộ hóa tùy chọn phối màu của mình với cài đặt Visual Studio.
Điều hướng mã dịch ngược theo nhiều cách khác nhau
Vì dotPeek dựa trên kiến trúc thông tin chuyên sâu về mã mạnh mẽ của ReSharper nên nó cho phép bạn điều hướng các tập hợp dịch ngược theo cách ngữ cảnh hoặc không phân biệt ngữ cảnh, nhận bản tóm tắt nhanh nội dung bên trong mỗi tệp dịch ngược, đặt dấu trang và khám phá chuỗi kế thừa.
Tìm cách sử dụng của bất kỳ biểu tượng nào
Với dotPeek, bạn có một số tùy chọn để tìm kiếm các ký hiệu mã được tham chiếu ở đâu.
Gọi Tìm cách sử dụng để tìm tất cả cách sử dụng của một ký hiệu (chẳng hạn như phương thức hoặc thuộc tính) trên tất cả các tập hợp được tải. Các tập quán sẽ được hiển thị trong cửa sổ công cụ Tìm kết quả nơi bạn có thể nhóm chúng, điều hướng giữa chúng và mở trong khu vực xem mã.
Ngoài ra còn có Tìm cách sử dụng nâng cao , đây là phiên bản chi tiết hơn của Tìm cách sử dụng giúp bạn tinh chỉnh các tiêu chí tìm kiếm bằng cách giới hạn phạm vi tìm kiếm và các chi tiết khác.
Làm nổi bật các tập quán trong trình xem mã
dotPeek tự động làm nổi bật tất cả các cách sử dụng có thể nhìn thấy của biểu tượng dưới dấu mũ, rất giống với cách các phiên bản Visual Studio gần đây thực hiện. Điều này giúp cải thiện khả năng đọc của mã dịch ngược, đặc biệt là khi bạn đang xử lý các mã định danh bị xáo trộn.
Ngoài ra, nếu bạn muốn xem qua tất cả các cách sử dụng trong tệp, cho dù chúng hiện có hiển thị hay không, hãy sử dụng Đánh dấu các cách sử dụng trong Tệp . Điều này sẽ làm nổi bật tất cả các cách sử dụng của một ký hiệu nhất định trong tệp hiện tại, với hai màu riêng biệt biểu thị các cách sử dụng ghi và đọc.
Khám phá tài liệu hiện tại
Sử dụng Chuyển đến Thành viên Tệp để có tổng quan nhanh và điều hướng đến các thành viên trong tài liệu đại diện cho một loại dịch ngược. Nhập các phần của tên thành viên và điều hướng trực tiếp đến chúng.
Ngoài ra, nếu bạn muốn hiển thị tĩnh các thành viên trong tài liệu hiện tại, hãy mở và gắn cửa sổ công cụ Cấu trúc tệp . Bạn cũng có thể lọc chế độ xem này: chọn cửa sổ công cụ và chỉ cần bắt đầu nhập các ký tự để chỉ tập trung vào các phần tử loại mà bạn quan tâm.
Chuyển đến bất kỳ mã nào
Bằng cách lập chỉ mục tất cả các hợp ngữ trong danh sách hợp ngữ của bạn, cũng như tất cả các tham chiếu của chúng, dotPeek cung cấp hai tính năng để chuyển nhanh đến mã cụ thể:
- Chuyển đến Biểu tượng giúp điều hướng đến một khai báo biểu tượng cụ thể, có thể là một loại, phương thức, trường hoặc thuộc tính. Sử dụng cú pháp LowerCamelHumps để định vị các loại — ví dụ: nhập xmard để định vị và mở XamlMarkupDeclaredElement .
- Chuyển đến Mọi thứ cho phép tìm kiếm một tập hợp, không gian tên, loại, thành viên hoặc tệp được mở gần đây.
Đặt dấu trang
Nếu có những dòng mã dịch ngược mà bạn cảm thấy quan trọng và bạn muốn quay lại với chúng sau, vui lòng đặt dấu trang.
Chỉ cần thả một điểm đánh số bằng một phím tắt và quay lại bất kỳ lúc nào bằng một phím tắt khác. Bạn có thể tạo tối đa 10 dấu trang được đánh số và không giới hạn các dấu trang không được đánh số. Danh sách đầy đủ các vị trí đã đánh dấu được hiển thị trong một cửa sổ bật lên.
Điều hướng theo ngữ cảnh
Bất cứ khi nào bạn đặt dấu mũ trên một biểu tượng trong khu vực xem mã, dotPeek sẽ cung cấp rất nhiều tùy chọn điều hướng theo ngữ cảnh, tất cả đều có sẵn thông qua menu thả xuống Điều hướng đến .
Ví dụ: Chuyển đến Tuyên bố sẽ đưa bạn từ cách sử dụng bất kỳ ký hiệu nào đến khai báo của nó. Nếu biểu tượng được khai báo trên một cụm khác, cụm sẽ được tải tự động.
Chuyển đến Thực hiện giúp điều hướng đến kết thúc triển khai các loại và thành viên loại, bỏ qua các bước thừa kế trung gian trong chuỗi thừa kế, chẳng hạn như các lớp trừu tượng.
Các tùy chọn điều hướng theo ngữ cảnh hữu ích khác bao gồm Chuyển đến Ký hiệu cơ sở và Chuyển đến Phương thức mở rộng .
Điều hướng hệ thống phân cấp lớp
Nếu bạn muốn điều hướng lên và xuống một hệ thống phân cấp thừa kế từ một loại cụ thể hoặc thành viên loại, hãy cân nhắc sử dụng Chuyển đến Ký hiệu cơ sở và Chuyển đến Ký hiệu phái sinh .
Đây là những điều cực kỳ hữu ích khi bạn muốn chuyển đến biểu tượng thừa kế hoặc biểu tượng cơ sở ngay lập tức.
Khám phá chuỗi thừa kế
Nếu bạn đang tìm kiếm một bản tóm tắt trực quan về một chuỗi thừa kế nhất định, hãy sử dụng Hệ thống phân cấp loại .
dotPeek sẽ hiển thị cho bạn tất cả các loại được kế thừa từ loại đã chọn, cũng như các loại mà chính nó kế thừa — dưới dạng chế độ xem dạng cây, trong một cửa sổ công cụ riêng biệt.
Ý nghĩa của các tập hợp
dotPeek cung cấp các công cụ để nhanh chóng nắm bắt cấu trúc của bất kỳ tổ hợp nào, hiểu mối quan hệ giữa các tổ hợp, cũng như sắp xếp các tổ hợp thành các danh sách rời rạc, giúp chỉ tập trung vào các tổ hợp mà bạn quan tâm cho nhiệm vụ hiện tại của mình.
Quản lý danh sách lắp ráp
Bạn có thể làm việc với các danh sách lắp ráp khác nhau tùy thuộc vào ngữ cảnh của bạn. Bạn có thể lưu và mở lại danh sách tổ hợp, đồng thời xóa danh sách hiện tại nếu bạn không cần nữa. Danh sách hội không giới hạn ở các tệp .dll và .exe : chúng cũng có thể chứa các gói, tệp lưu trữ và thư mục NuGet.
Khám phá nội dung lắp ráp
Khi bạn đang làm việc với một danh sách hợp ngữ, Trình khám phá hợp ngữ hiển thị loại tham chiếu, tài nguyên và mã mà một hợp ngữ cụ thể có, tất cả các cách từ không gian tên đến thành viên loại.
Đối với mỗi loại, nó làm nổi bật các nút đại diện cho các loại cơ sở và người thừa kế của nó — ngoài danh sách thành viên thực tế. Tìm kiếm nhanh và lọc nút bằng LowerCamelHumps cũng được hỗ trợ.
Khám phá siêu dữ liệu lắp ráp
dotPeek cũng giúp bạn khám phá siêu dữ liệu hợp ngữ và tìm hiểu kỹ tất cả các mục (bảng, đốm màu, chuỗi, v.v.) bên trong nó. Trong nút Siêu dữ liệu , bạn có thể khám phá giá trị của các mục blob, tiêu đề tệp PE, cách sử dụng các mục trong bảng siêu dữ liệu.
Tương tự như những nơi khác trong cây lắp ráp, bạn có thể bấm đúp vào các mục siêu dữ liệu để dịch ngược và hiển thị mã tương ứng.
Xem các phụ thuộc giữa các assembly
Nếu bạn muốn biết các tổ hợp phụ thuộc lẫn nhau như thế nào, bạn có thể chọn một số tổ hợp trong Trình khám phá hội và yêu cầu dotPeek hiển thị sơ đồ phụ thuộc của tổ hợp.
Điều này sẽ trực quan hóa bất kỳ mối quan hệ nào tồn tại giữa các tập hợp được chọn nhờ các tham chiếu của chúng.
Liên hệ Công ty TNHH Giải pháp và Công Nghệ ViHoth – Đại lý phân phối Jetbrains chính hãng tại Việt Nam nếu bạn còn bất kỳ thắc mắc nào về sản phẩm qua https://vihoth.com/ hoặc liên hệ qua hotline: