RE5: Pack & UnPack

WhiteHat.vn
  • Tin Tức Tin tức An ninh mạng Bản tin WhiteHat
  • Thành viên
  • Có gì mới
  • Video
  • Wargame
  • Vinh Danh
Đăng nhập

Tìm kiếm

Toàn bộ Chủ đề Diễn đàn này This thread Chỉ tìm trong tiêu đề Bởi: Tìm Tìm nâng cao…
  • Hoạt động gần đây
  • Đăng ký
WhiteHat.vn Đăng nhập Đăng ký Giới thiệu Liên hệ

CỘNG ĐỒNG AN NINH MẠNG VIỆT NAM

@ 2009 - 2021 Bkav Corporation

Install the app Install
  • Thảo luận
  • Exploitation
You are using an out of date browser. It may not display this or other websites correctly.You should upgrade or use an alternative browser. RE5: Pack & UnPack
  • Bắt đầu zDiv
  • Ngày bắt đầu 12/11/2014
  • Thẻ pack & unpack reverse engineering
Chia sẻ: Facebook Twitter Reddit Pinterest Tumblr WhatsApp Email Chia sẻ Liên kết zDiv

zDiv

Super Moderator
12/02/2014 21 12 bài viết RE5: Pack & UnPack I. Giới thiệu về Pack & UnPack Trong các lĩnh vực nghiên cứu nằm trong chủ đề Reverse Engineering, Pack&UnPack giống như là một câu đố thú vị nhất cần được giải đáp. Trong quá trình tìm kiếm lời giải cho câu đố này, người thực hiện sẽ thu được rất nhiều kiến thức cả về cách thức sử dụng công cụ, các tricks trong RE cùng các kiến thức chuyên sâu về kiến trúc bên trong của hệ điều hành.​​ Pack & UnPack.png ​Các Packer được tạo ra để bảo vệ các file thực thi trước nguy cơ bị dịch ngược và phân tích. Chúng thường được sử dụng một cách hợp pháp trong các phần mềm thương mại để bảo vệ thông tin, tránh bị xáo trộn và rò rỉ, bị đánh cắp. Tuy nhiên thật không may, các phần mềm nguy hiểm cũng được pack với những lý do tương tương tự nhưng để phục vụ cho mục đích xấu.​​Cùng với sự phát triển của nhiều phần mềm nguy hiểm có sử dụng kỹ thuật Pack, các nhà nghiên cứu và chuyên gia phân tích mã độc đã phát triển các kỹ thuật để unpack và phân tích các mẫu thu thập được.​​Theo thời gian, các kỹ thuật anti-reversing mới được bổ sung vào các packer, gây khó khăn cho quá trình reverse và phân tích, ngăn chăn việc unpack thành công các mẫu mã độc.​Và một vòng luẩn quẩn xuất hiện – các kỹ thuật anti-reversing được phát triển đồng thời với các công nghệ, công cụ trợ giúp các nhà nghiên cứu vượt qua nó.​ II. Các nội dung cần chú ý 1. OEP​​Trước khi tìm hiểu về Original Entry Point(OEP) ta cần biết về Entry Point(EP).​Để 1 chương trình được thực thi, nó cần được load lên memory, sau khi Windows hoàn thành công việc này, nó sẽ chuyển quyền điều khiển cho file .exe. Địa chỉ trên bộ nhớ của câu lệnh đầu tiên của file .exe được thực thi chính là EP.​Đối với 1 file đã bị pack, nói đến EP ta sẽ hiểu là Entry Point của file sau khi Pack. Còn OEP là EP của file gốc trước khi bị pack.​​2. IAT​​Import Address Table(IAT) chứa các địa chỉ hàm API mà chương trình sử dụng.​​3. Các công cụ thường sử dụng​​Các công cụ thương sử dụng cần phải kể đến:​PEiD, OllyDBG, ImportREC, LordPE,...​​III. Các bước cơ bản trong quá trình UnPack Trong bài viết này sử dụng mẫu FireWorx Crackme14 – link.​​1. Tìm OEP​​Trước khi load file Crackme14.exe vào Olly, ta kiểm tra trước bằng PEiD.​​ 1.jpg ​Như vậy file exe này đã được pack bằng ASPack 1.06b / 1.061b -> Alexey Solodovnikov.​​Load file lên Olly, trả lời No khi được hỏi có Analysis hay không.​​ 2.jpg ​Ta sẽ bắt đầu ở đoạn code sau:​​ 3.jpg ​F8 để thực hiện đến địa chỉ: 0x00451000​​ 4.jpg ​Để ý câu lệnh PUSHAD và POPAD. Thường là 2 câu lệnh bắt đầu và kết thúc công việc giải mã đoạn code thực thi của chương trình gốc.​Sau lệnh POPAD là lệnh JMP EAX. F8 để thực thi đến câu lệnh này.​​ 5.jpg ​EAX mang giá trị 0x4419F8 chính là OEP.​Và đây là đoạn code tại 0x4419F8.​​ 6.jpg ​Giữ nguyên cửa sổ Olly và sử dụng OllyDump để dump file thực thi sau khi được giải mã.​​ 7.jpg ​Lưu file dump với tên bất kỳ và đuôi là exe.​​Chúng ta hoàn thành bước đầu tiên của việc Unpack.​​2. Fix IAT​​Giữ nguyên Olly và sử dụng ImportREC để chỉnh sửa các thông tin của file dump.​Load chương trình vào ImportREC và điền OEP vừa tìm được bên trên vào ô OEP và chọn IAT AutoSearch. Sau đó lựa chọn Get Imports, cuối cùng là Fix Dump. Kết quả ta có file dump mới được tạo ra.​​ 8.jpg ​3. Làm sạch và giảm kích thước file sau khi UnPack​​Để hoàn thiện và giảm kích thước của file thu được sau khi Fix Dump, ra sử dụng LordPE.​​ 9.jpg ​Chạy LordPE, lựa chọn Rebuild PE và lựa chọn file thu được sau khi Fix Dump.​​Click Ok và hoàn thành quá trình Unpack.​​Kiểm tra lại với PEiD​​ 10.jpg Chỉnh sửa lần cuối bởi người điều hành: 14/04/2023
zDiv đã viết: I. Giới thiệu về Pack & UnPack Trong các lĩnh vực nghiên cứu nằm trong chủ đề Reverse Engineering, Pack&UnPack giống như là một câu đố thú vị nhất cần được giải đáp. Trong quá trình tìm kiếm lời giải cho câu đố này, người thực hiện sẽ thu được rất nhiều kiến thức cả về cách thức sử dụng công cụ, các tricks trong RE cùng các kiến thức chuyên sâu về kiến trúc bên trong của hệ điều hành. Các Packer được tạo ra để bảo vệ các file thực thi trước nguy cơ bị dịch ngược và phân tích. Chúng thường được sử dụng một cách hợp pháp trong các phần mềm thương mại để bảo vệ thông tin, tránh bị xáo trộn và rò rỉ, bị đánh cắp. Tuy nhiên thật không may, các phần mềm nguy hiểm cũng được pack với những lý do tương tương tự nhưng để phục vụ cho mục đích xấu. Cùng với sự phát triển của nhiều phần mềm nguy hiểm có sử dụng kỹ thuật Pack, các nhà nghiên cứu và chuyên gia phân tích mã độc đã phát triển các kỹ thuật để unpack và phân tích các mẫu thu thập được. Theo thời gian, các kỹ thuật anti-reversing mới được bổ sung vào các packer, gây khó khăn cho quá trình reverse và phân tích, ngăn chăn việc unpack thành công các mẫu mã độc. Và một vòng luẩn quẩn xuất hiện – các kỹ thuật anti-reversing được phát triển đồng thời với các công nghệ, công cụ trợ giúp các nhà nghiên cứu vượt qua nó.​ II. Các nội dung cần chú ý 1. OEP Trước khi tìm hiểu về Original Entry Point(OEP) ta cần biết về Entry Point(EP). Để 1 chương trình được thực thi, nó cần được load lên memory, sau khi Windows hoàn thành công việc này, nó sẽ chuyển quyền điều khiển cho file .exe. Địa chỉ trên bộ nhớ của câu lệnh đầu tiên của file .exe được thực thi chính là EP. Đối với 1 file đã bị pack, nói đến EP ta sẽ hiểu là Entry Point của file sau khi Pack. Còn OEP là EP của file gốc trước khi bị pack. 2. IAT Import Address Table(IAT) chứa các địa chỉ hàm API mà chương trình sử dụng. 3. Các công cụ thường sử dụng Các công cụ thương sử dụng cần phải kể đến: PEiD, OllyDBG, ImportREC, LordPE,... ​III. Các bước cơ bản trong quá trình UnPack Trong bài viết này sử dụng mẫu FireWorx Crackme14 – link. 1. Tìm OEP Trước khi load file Crackme14.exe vào Olly, ta kiểm tra trước bằng PEiD. 14908931021.jpg Như vậy file exe này đã được pack bằng ASPack 1.06b / 1.061b -> Alexey Solodovnikov. Load file lên Olly, trả lời No khi được hỏi có Analysis hay không. 14908931022.jpg Ta sẽ bắt đầu ở đoạn code sau: 14908931023.jpg F8 để thực hiện đến địa chỉ: 0x00451000 14908931024.jpg Để ý câu lệnh PUSHAD và POPAD. Thường là 2 câu lệnh bắt đầu và kết thúc công việc giải mã đoạn code thực thi của chương trình gốc. Sau lệnh POPAD là lệnh JMP EAX. F8 để thực thi đến câu lệnh này. 14908931025.jpg EAX mang giá trị 0x4419F8 chính là OEP. Và đây là đoạn code tại 0x4419F8. 14908931026.jpg Giữ nguyên cửa sổ Olly và sử dụng OllyDump để dump file thực thi sau khi được giải mã. 14908931027.jpg Lưu file dump với tên bất kỳ và đuôi là exe. Chúng ta hoàn thành bước đầu tiên của việc Unpack. 2. Fix IAT Giữ nguyên Olly và sử dụng ImportREC để chỉnh sửa các thông tin của file dump. Load chương trình vào ImportREC và điền OEP vừa tìm được bên trên vào ô OEP và chọn IAT AutoSearch. Sau đó lựa chọn Get Imports, cuối cùng là Fix Dump. Kết quả ta có file dump mới được tạo ra. 14908931028.jpg 3. Làm sạch và giảm kích thước file sau khi UnPack Để hoàn thiện và giảm kích thước của file thu được sau khi Fix Dump, ra sử dụng LordPE. 14908931029.jpg Chạy LordPE, lựa chọn Rebuild PE và lựa chọn file thu được sau khi Fix Dump. Click Ok và hoàn thành quá trình Unpack. Kiểm tra lại với PEiD 149089310210.jpg Nhấn để mở rộng...
Bạn cập nhật lại link giúp mk vs đc ko ạ/ Link trên bị died rồi ạ. Và phần mềm trên bn làm là gì vậy. Tải về máy dùng như nào vậy ạ. Mong bn chỉ bảo ạ :) Comment Bạn phải đăng nhập hoặc đăng ký để phản hồi tại đây. Bài viết liên quan
  • UPX Pack và Unpack
    • Ngày bắt đầu 24/03/2015
    • 1
  • Kernel Pool & Kernel Pool Exploitation
    • Ngày bắt đầu 18/11/2014
    • 0
  • Thẻ pack & unpack reverse engineering Bên trên

    Từ khóa » Phần Mềm Unpack Là Gì