RE4: Hướng dẫn sử dụng .NET Reflector

zDiv

Super Moderator
12/02/2014
21
12 bài viết
RE4: Hướng dẫn sử dụng .NET Reflector
Chào mọi người. Cũng khá lâu rồi từ khi hoàn thành bải viết Hướng dẫn sử dụng IDA mình mới lại có thời gian để thực hiện tiếp loạt bài giới thiệu những kiến thức cơ bản về RE.

Ở bài viết này mình sẽ giới thiệu một công cụ khác, chuyên được sử dụng cho công việc RE các chương trình được viết trên nền tảng .NET - đó là .NET Reflector.

Không làm tốn thời gian của mọi người nữa, bắt tay vào làm việc thôi


Giới thiệu về .NET Reflector

.NET Reflector là một sản phẩm phần mềm của hãng RedGate, thường được sử dụng để dịch ngược các chương trình được viết trên nền tảng .NET.
.NET Reflector thực hiện công việc của 1 disassembler và decompiler nhưng không có chức năng debug. Nó có thể dịch người 1 chương trình thành IL code hoặc C#.

Bằng việc sử dụng thêm một số Add-in, người sử dụng có thể sửa đổi code của chương trình đó và biên dịch lại thành một chương trình hoàn chỉnh. Hiểu đơn giản là patch chương trình đó.:D

Có thể download .NET Reflector tại trang web của RedGate tại đây.
Bản dùng thử sử dụng trong 14 ngày.
:(


Hướng dẫn sử dụng .NET Reflector

Để sử dụng .NET Reflector thì trong máy tính của bạn đã phải cài đặt .NET framework. Hiện tại .NET Reflector đã hỗ trợ .NET framework 4.5

Sau khi cài đặt, chạy .NET Reflector và open 1 file .exe ta sẽ thấy như sau.

Trong bài viết này mình sẽ dùng file patchme.exe để làm ví dụ.


1.png

Cửa sổ của .NET Reflector được chia hành 4 phần:
1. Danh sách các file, lớp, phương thức, thuộc tính.
2. Cửa sổ hiển thị đoạn mã được decompiler.
3. chứa các thông tin phân tích của một đối tượng được lựa chọn.
4. Thông tin cơ bản của đối tượng được lựa chọn.

Khi sử dụng .NET Reflector chúng ta có thể đọc mã nguồn của chương trình dưới dạng code C# trong cửa sổ 2.
Tuy nhiên .NET Reflector không cung cấp chức năng debug nên việc chỉ đọc code cũng là hạn chế của công cụ này.

Thực hiện giống như việc RE một file .exe sử dụng OllyDBG trong bài hướng dẫn trước, ta chạy thử xem target patchme.exe thực hiện công việc gì.

2.png

Nó thực hiện công việc kiểm tra password ta nhập vào và đưa ra thông báo là password đó có chính xác hay không.

Xem các đối tượng, phương thức và thuộc tính trong cửa sổ 1 của .NET Reflector.


3.png

Toàn những cái tên khó hiểu và không gợi ra 1 mối quan hệ gì. Dường như chương trình đã bị làm rối code bằng một công cụ nào đó.

Thật là may mắn, có một Add-in của .NET Reflector có thể giúp ta trong trường hợp này.
Đó là reflexil.

Sau khi download và thêm Add-in này vào .NET Reflector theo các bược : Tools -> Add-ins... -> (+) và lựa chọn Add-In reflexil.


4.png

Và thông báo sau hiện ra :D

5.png

Tất nhiên là Ok rồi.

Sau đó .NET Reflector sẽ tạo ra 1 file patchme.Cleaned.exe, lưu file này lại. Kích thước file giảm 1 nửa so với file gốc. (_ _!)

Mở với .NET Reflector và ta thấy

6.png

Tên các đối tượng, phương thức loằng ngoằng lúc trước giờ đã quá rõ ràng.

Soi ngay vào VerifyBtn_Click() và ta đã tìm được thứ mình cần.

Đến đây ta có 2 lựa chọn. Đọc code và viết keygen hoặc là patch luôn đoạn này, để khi nào cũng in ra không phải NOOB cho lẹ.

Tools -> Reflexil v1.6 để sử dụng Add-in.

Quan sát vị trí lúc trước là cửa sổ Analyzer.

7.png

Quan sát các câu lệnh IL code ở cửa sổ Reflexil v1.6 này và tìm các câu lệnh cần chỉnh sửa. nháy chuột phải, lựa chọn Edit và chỉnh sửa lại câu lệnh theo ý của mình.

8.png

Sau khi đã hoàn thành thì lưu lại những thay đổi như sau:

9.png

Lưu lại và tận hưởng thành quả của mình. :D



Trong bài viết này mình đã giới thiệu về công cụ .NET Reflector cùng Add-in và các sử dụng.

Vậy là chuỗi những bài viết giới thiệu về RE và các công cụ thường dùng đã kết thúc.

Hẹn gặp lại mọi người loạt bài tiếp theo có nội dung về Pack&Unpack và các Anti-Debug cơ bản.


Đây là file patchme.exe mình sử dụng làm ví dụ trong bài viết.
 
Chỉnh sửa lần cuối bởi người điều hành:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  • Thích
Reactions: tmnt53 and Cord
Re: RE4: Hướng dẫn sử dụng .NET Reflector

Anh lâu ra TUT mới RE4:Pack&Unpack và các Anti-Debug cơ bản Vậy chờ lâu quá mong anh sớm ra tut để mội người cùng học hỏi cảm ơn anh rất nhiều
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Re: RE4: Hướng dẫn sử dụng .NET Reflector

Cám ơn bạn đã quan tâm tới chủ đề này.
Hiện tại mình đang hoàn thiện bài viết RE4:Pack&Unpack, sẽ hoàn thành trong thời gian sớm nhất có thể. Có lẽ là tuần sau sẽ đưa lên forum thôi.;)
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
a ơi sao lúc e add-in reflecxil vô nó ko ra cái bảng thông báo clean file ạ T_T
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Bạn nháy chuột phải vào file cần phân tích, chọn Reflexil => chọn Obfuscator search.

reflexil.png
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Cái patchme.exe trong bài này ko có link tải ạ?
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Cái patchme.exe trong bài này ko có link tải ạ?
D bài này giới thiệu tool, bạn chịu khó chờ chủ đăng link tải hoặc dùng tạm 1 file code C# nào để thực hành vậy :)
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  • Thích
Reactions: MinhMy
Comment
D bài này giới thiệu tool, bạn chịu khó chờ chủ đăng link tải hoặc dùng tạm 1 file code C# nào để thực hành vậy :)

Em cũng tự code ra 1 cái để thực hành luôn. Nhưng do em không biết làm sao mã hóa được code như ở bài viết nên thắc mắc.

Tác giả trong bài viết mã hóa các tên biến được như vầy, nên em thắc mắc.

14908930053.png
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
làm tiếp đi anh ơi :(((
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Thẻ
net reflector reverse engineering
Bên trên