Archive for the ‘OllyDbg Tutorials’ Category


Ở các phần trước, tôi đã hướng dẫn chi tiết quá trình unpack một unpackme được packed bởi tElock có áp dụng kĩ thuật chuyển hướng IAT (IAT redirected). Trong các phần tới đây, nếu có thời gian tôi sẽ tiếp tục nâng dần độ khó của packer lên. Với phần này, tôi sẽ dành thời gian để thực hành với một unpackme khác là UnPackMe_YodasCrypter1.3.e.exe.

Để đảm bảo cho quá trình làm việc với các packers, OllyDbg cần được trang bị các plugins cần thiết để tránh bị phát hiện bởi các cơ chế anti-debug. Các plugins thì các bạn có thể tìm đọc trong các phần tôi viết về Anti-Debug hoặc tìm hiểu thêm thông qua các trang khác như tuts4you.com, v.v…

Download toàn bộ bài viết tại đây:

https://mega.nz/#!a0kX0ISC!Se1ABV9eySLlkpn3hYIL4OSzBemQYPeYRWkzNRj3Nug

Regards,

m4n0w4r

Advertisements

OllyDbg_tut31

Posted: December 16, 2017 in OllyDbg_tut31, Uncategorized
Tags: ,

Đã quá lâu để ai đó còn nhớ về một bộ tut còn đang dang dở …  too_sad Tính ra mỗi  phần trung bình cỡ gần 20 trang giấy, tính cả tut này nhân lên thì tôi đã viết khoảng 600 trang …29 Tôi đang nghĩ không biết sau này có nên đóng lại thành quyển để xuất bản bán lấy tiền hay không? extreme_sexy_girl

Ở phần trước, thông qua UnPackMe_tElock0.98.exe, tôi đã giới thiệu với các bạn về kĩ thuật IAT Redirection, một kĩ thuật rất hay gặp ở các packers/protectors. Trong phần 31 này, tôi sẽ áp dụng một số phương pháp fix IAT, để làm sao khi ImpREC thực hiện Get Imports thì thông tin về hàm API thu được sẽ đầy đủ nhất phục vụ việc fix dump. Đảm bảo cho file sau khi fix chạy mượt mà, không lỗi.

Cũng tương tự như phần trình bày các phương pháp làm thế nào để tới được OEP, ở phần này tôi cũng sẽ áp dụng một số phương pháp tổng quát nhất, để sau đó, khi chúng ta gặp các trình packers khác, ta sẽ tùy biến các phương pháp này hoặc nghiên cứu một cách thức hoàn toàn mới nhằm phù hợp với tính huống thực tế mà ta đang gặp phải, có thể chưa được đề cập đến trong bài viết này.

Download toàn bộ bài viết tại đây:

https://mega.nz/#!D4EjgICK!_JHdeZCTHbuC2bLLjG4-_I6Fs8YSZAcE7ksfnukBUT4

Regards,

m4n0w4r

ST:

Hôm ấy mê man uống,
Không vì dưỡng tính linh.
Thấy người say khướt cả,
Đâu nỡ tỉnh riêng mình!


Vẫn tiếp tục với chủ đề liên quan tới Unpack, phần tiếp theo này sẽ nâng độ khó thêm một chút. Phần này sẽ thực hành với hai unpackme, một file được packed bởi Crunch(5.0): bitarts_evaluation.c.exe và một được packed bởi tElock(0.98): UnPackMe_tElock0.98.exe. Ngoài mục tiêu chính là unpack và chạy được file, phần này còn giới thiệu thêm về kĩ thuật chuyển hướng IAT hay còn được gọi với thuật ngữ là IAT Redirection. Kĩ thuật này được sử dụng trong nhiều trình packer/protector, cho phép hủy một phần hay toàn bộ IAT, nhưng lưu lại một pointer trỏ vào vùng code riêng cho từng hàm API đã được chuyển hướng. Hai unpackme này tôi đã gửi kèm trong phần 26.

Download here:

https://mega.nz/#!D4lUyQQT!fT5Gaa1z4LBrGsOL5a8k4QCoIYwlIkEl4lAJi9HBv1I

Regards,

36

m4n0w4r


Packer tiếp theo để thực hành trong phần này là ASPack, khác với UPX, packer này tập trung hơn vào phần security, nó áp dụng các kĩ thuật nâng cao như self-modifying code nhằm làm cho việc đặt các breakpoint khó khăn hơn, … Tuy nhiên, cũng tương tự như với UPX, ta hoàn toàn có thể thực hiện manual unpack bằng cách sử dụng HWBP tại stack address. Target thực hành trong phần này là file UnPackMe_ASPack2.12.exe (được gửi kèm ở phần 26). Việc tìm OEP của target này cũng đã được đề cập trong phần 26, các bạn có thể đọc lại.

Trong phần này, thay vì sử dụng các công cụ để dump file như LordPE hay PETools, tôi sẽ sử dụng một Plugin được viết cho OllyDbg là OllyDump, xem như là thêm một tùy chọn trong việc thực hiện dump file sau khi đã tới được OEP.

Link download toàn bộ bài viết:

https://mega.nz/#!Ppd2FaaJ!kL-v7j8m0FfUNWa5CcB9LeHIQMTmFgqLSON007PLedI

Regards,

2016-04-21_18-33-26

 


19/05/2015, tôi hoàn thành OllyDbg_tut27, 17/07/2016 đặt tay lên bàn phím và hoàn thành OllyDbg_Tut28 waaaht. Hơn 1 năm tôi mới có thời gian để lại viết tiếp tục những thứ còn đang dang dở, kiểu như người ta viết thơ tình mà đang nghĩ thì tụt mịa nó cảm xúc … đành phải đợi lúc nào đó cảm xúc nó hồi sinh adore. Mà cứ đợi như thế, rồi đợi mãi, rồi tôi đọc Blog của Yêuchimsẻ (http://blog.yeuchimse.com/) có đoạn “Thời gian chẳng bao giờ dừng lại, mới đó mà cũng đã được một năm.” Cuộc sống, công việc nhiều khi cứ cuốn tôi rời xa khỏi đam mê, đôi khi không phải vì thời gian eo hẹp, mà vì viết lách là một nghệ thuật, nhiều khi mở máy lên định viết nhưng rồi nghĩ một hồi tôi đếch nghĩ ra nổi phải mở đầu như thế nào chứ chưa nói tới viết về phần kỹ thuật, thế nên mỗi lần định viết lại là một lần tôi thở dài, đóng máy đi làm việc khác boss. Có thể sẽ có nhiều bạn đọc đọc các bài viết của tôi, rồi tự đặt câu hỏi “Sao ông này cứ viết mãi những thứ đơn giản, cơ bản mà ai cũng biết?”. Trong thế giới quan của tôi, những thứ cơ bản mà chưa làm được thì nói gì đến những điều cao siêu doubt, ngày trước tôi đã không đi từ những thứ cơ bản, nên bây giờ tôi coi mỗi lần viết là một lần tôi học lại.

Lâu lắm rồi tôi mới lại mở đầu bài viết một cách lâm ly, bi đát như thế này, quay trở lại nội dung chính, phần 28 này sẽ là tiếp tục của phần 27 cách đây hơn 1 năm có lẻ. Có lẽ, tôi có thể khẳng định với các bạn rằng, đây là siêu phẩm về unpack UPX đỉnh cao nhất trong suốt sự nghiệp viết lách của tôi, chưa bao giờ các bạn tưởng tượng lại có một bài viết nào về unpack UPX dài đến thế…. after_boom, viết xong thực sự tôi cũng cạn lời!!!hell-yes-onion-head-emoticon

Link download toàn bộ bài viết:

https://mega.nz/#!SgthVZKI!kOU1NRkgrggF2FayK-970VcG8X7BHnNPH65CtPZ2yo0

Regards,

2016-04-21_18-33-26

OllyDbg_tut27

Posted: May 19, 2015 in OllyDbg_tut27
Tags:

Lâu quá không viết lách gì, nhân tiện những ngày tháng nhàn cư vi bất thiện, ở nhà vợ nuôi, tôi lại lục lại bộ tutorial cũ ra viết tiếp cho nó mềm tay, trơn mồm :).

Trong phần trước, tôi đã cùng các bạn tìm hiểu tổng quan các bước cơ bản để thực hiện unpack một file, kèm theo đó là thực hành một số phương pháp/cách thức làm thế nào để tìm được OEP. Trong phần 27 này, tôi sẽ trình bày nội dung tiếp theo liên quan tới việc Dump file và Repair IATs.

OllyDBG_27

Download here:
https://mega.nz/#!ugcBHIyD!l9i8R9swmNkyLOtHo_QNNP_-Ss_z08DQnaDfz7YBvmQ

Pass để giải nén như đã đề cập ở phần 26, đó chính là OEP mà các bạn tìm được ở UnPackMe_tElock0.98.exe

Regards,
m4n0w4r

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