in

Dịch ngược cơ bản (Phần 1)

Đối với những ai đã hoặc đang làm về dịch ngược thì chắc chắn họ cũng đã từng sử dụng một công cụ debugger ít nhất một lần trong quá trình làm việc. Và trong bài viết này, mình xin giới thiệu một số debugger phổ biến và cách sử dụng của chúng.

Debugger là gì?

Như các bạn đã biết, dịch ngược là quá trình chúng ta cố gắng hiểu được hoạt động của một chương trình từ một file nhị phân ban đầu. Cũng giống như khi lập trình, trong quá trình dịch ngược, đôi khi chúng ta phải thực hiện chạy thử và debug chương trình để nắm rõ hơn những gì đang xảy ra bên trong chương trình của chúng ta, và các công cụ được sử dụng trong quá trình này được gọi là debugger.

Đối với mỗi kiến trúc máy tính khác nhau, các loại file nhị phân khác nhau thì ta cũng có các debugger khác nhau tương ứng cho từng loại. Hiện nay có một số debugger phổ biến thường gặp là: OllyDbg, GNU Debugger, dnSpy, WinDbg, x64dbg…

Có thể nói debugger là một công cụ tối quan trọng trong quá trình dịch ngược (thanh katana của reverser). Để hiểu rõ hơn về cách sử dụng debugger, trong phần tiếp theo chúng ta sẽ sử dụng 1 loại debugger để thực hiện dịch ngược một chương trình.

Sử dụng debugger

Trong phần này, chúng ta sẽ học cách sử dụng một debugger để debug một chương trình. Ở đây mình sẽ chọn mục tiêu là Easy Crack trong reversing.kr, và công cụ mình sử dụng là OllyDbg.

OllyDbg là một debugger dành cho Windows, tuy nhiên chỉ sử dụng được với file thực thi 32-bit. Mình chọn sử dụng OllyDbg vì sự phổ biến, dễ tiếp cận và sử dụng, và có rất nhiều bài viết hướng dẫn sử dụng công cụ này.

Quá trình debug các bạn có thể theo dõi tại đây:

Tạm kết

Như vậy, các bạn đã nắm được các bước cơ bản khi debug một chương trình/phần mềm. Mình hi vọng bài viết này sẽ tạo cảm hứng cho các bạn đến với RE. Và nếu có cơ hội, trong phần tiếp theo mình sẽ hướng dẫn các bạn debug các file thực thi trên Linux

Ngoài ra, các bạn còn có thể học RE thông qua bộ tutorial OllyDbg của tiền bối Kienmanowar: https://kienmanowar.wordpress.com/. Ngoài ra, blog này cũng có những kiến thức rất hay mà các bạn cũng nên đọc

Cảm ơn các bạn đã đọc bài.

What do you think?

0 points
Upvote Downvote
Notice: compact(): Undefined variable: limits in /var/www/html/wp-includes/class-wp-comment-query.php on line 853

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Loading…

0

Comments

0 comments

Writeup tetctf – Web Security

NET Challenge 2019