OllyDbg_tut26

Posted: November 30, 2014 in OllyDbg_tut26
Tags:

Trong phần trước, tôi đã cùng các bạn tìm hiểu một số kiến thức tổng quan về packer, về layout của PE file sau khi bị pack, tóm lược các bước cơ bản khi thực thi một chương trình bị pack, và quan trọng nhất là chúng ta đã hiểu rõ hơn thuật ngữ OEP – là nơi dòng lệnh đầu tiên của file gốc được thực thi. Thông thường, 99% là OEP sẽ nằm ở section đầu tiên (đó là section .text (code), bên dưới PE header khi quan sát trong cửa sổ Memory map của OllyDBG), tuy nhiên vẫn có những trường hợp ngoại lệ là OEP không nằm tại section đầu tiên. Nhưng về bản chất thì cuối cùng OEP vẫn phải nằm đâu đó thuộc Executable Code Section, có tên là .text (Micro$oft) hoặc là CODE (Borland). Trong phần 26 này tôi sẽ giới thiệu tới các bạn một số phương pháp cơ bản, phổ biến, thường áp dụng khi tìm OEP.

N0w let’s g0……smile

Download here: https://mega.nz/#!7wNwmTwL!pKGhzlWCX4XHSxhwoEqQh262T1JmKaSA1x6H2l3YfhU

Regards,

m4n0w4r

Advertisements
Comments
  1. Mol says:

    Tut của bác rất hay, dễ hiểu 😀 Em có điều muốn hỏi là, ở phương pháp “2.7. Phương pháp hàm API được gọi đầu tiên bởi chương trình” thì làm sao để biết được chương trình đó gọi hàm gì đầu tiên thế bác Kiên, phải chăng là chương trình nào cũng gọi GetVersion hoặc GetModuleHandleA ? Và có thể cho chương trình gọi 1 hàm (do coder hoặc do mặc định của máy) bất kỳ nào đó đầu tiên không ? 😀

  2. kienmanowar says:

    Bạn có thể tìm đọc tài liệu ExeCryptor 2.2.x – 2.3.x Unpacking tutorial By EvOlUtIoN, trong tài liệu này có phần Appendix A – Standard EP’s and nearest procedures.

    Regards,

  3. Mol says:

    Em thử giải quyết file đính kèm trong tut mà bác bảo là bài thực hành của bác Ricardo, em thấy là nếu sử dụng phương pháp tìm hàm chương trình gọi đầu tiên thì nó sẽ breakpoint ở hàm này 2 lần, em nghĩ là lần 1 là do packer gọi, lần 2 là do chương trình gọi sau khi đã unpack. Vậy đó có phải là trick như bác nói ở phần kết luận ?
    Cám ơn bác đã giải đáp câu hỏi trước, năm mới chúc bác nhiều sức khỏe và có nhiều thời gian hơn để viết tut 😀

  4. Mol says:

    Ý em cái hàm mà breakpoint 2 lần đó là hàm GetVersion 🙂

  5. Mol says:

    Câu hỏi trên em hỏi bác giờ em đã biết tại sao, lý do là lần 1, địa chỉ trở về nằm ngoài setion text :))
    Em lại có 1 thắc mắc, phải chăng trick mà bác nói đó là việc sử dụng method pushad cho việc xử lý file đính kèm chứa pass tut 27 không thực hiện được ?

  6. kienmanowar says:

    @Mol: Để mở được tut 27 thì sử dụng phương pháp Exceptions để tìm ra OEP. Địa chỉ OEP chính là pass để mở.

    Regards,

  7. Mol says:

    Cái đó thì em tìm được rồi, ngoài phương pháp Exception thì phương pháp hàm API được trình packer sử dụng, phương pháp hàm API đầu tiên được load bởi chương trình, dùng SFX của OllyDbg và OllyDbg patch của Ricardo cũng cho ra cùng 1 kết quả. Em thắc mắc là dùng cách PushAd thì lại không được 🙂

  8. Phạm Luận says:

    anh Kiên cho em hỏi là em đang unpack một phần mềm cũng sử dụng packer UPX, em đã tìm được OEP, dump file thành công check RGD hiển thị “Microsoft Visual C++ 8.0”, fix IAT Get Import hiển thị valid hết mà sao khi fix dump file xong vẫn không chạy được file, nó báo không có hàm “OleSetMenuDescriptor” (trong ole32.dll) trong khi em kiểm tra import của file đã unpack bằng phần mềm PE Explorer vẫn thấy có hàm trên, anh có thể xem giúp em sai chỗ nào được không ạ, xin cảm ơn anh.
    Em đính kèm file : https://mega.nz/#!U0UHgKxZ!Ja9hiR-5TAwpxobjmo1xbkCmqpMJV9-CwOkfqAk1V3s

  9. kienmanowar says:

    Chào em,

    Anh cũng đã thử trên Win10 (cũng bị lỗi như em), trên XP (mọi thứ ok như run thì báo floating points ..) :). Anh cũng không có thời gian để tìm hiểu xem bị sao, do vậy trường hợp này em dùng cách cuối cùng là upx -d nhé!

    Regards

  10. Phạm Luận says:

    Dạ vâng, cảm ơn a.

  11. duy dang says:

    Anh ơi link download tut 26 này bị die, anh có thể fix lại được k? Cảm ơn anh

  12. kienmanowar says:

    @duydang: Anh đã cập nhật lại link ở bài viết nhé!

  13. wellplayed says:

    Anh ơi link down ở các bài olly tut trước như bài 14,15 bị die, anh có thể fix lại được k ạ.
    Em cảm ơn a rất nhiều ạ

  14. kienmanowar says:

    Các phần 14, 15 link vẫn hoạt động bình thường em nhé. Em chú ý download về đổi đuôi file là ok!

  15. wellplayed says:

    Khi e vào link down của tut olly 15 thì bị thế này ạ 😦

    This site can’t be reached

    The webpage at https://kienmanowar.files.wordpress.com/2009/01/ollydbg_tut15rar.pdf might be temporarily down or it may have moved permanently to a new web address.
    ERR_INVALID_RESPONSE

  16. kienmanowar says:

    Okie, anh đã cập nhật lại link rồi. Em kiểm tra lại nhé!

  17. wellplayed says:

    e cảm ơn a nhiều ạ

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s