1. Trang chủ
  2. » Công Nghệ Thông Tin

Cracker Handbook 1.0 part 140 doc

5 118 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 123,01 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

BOOL ReadProcessMemory HANDLE hProcess, // handle of the process whose memory is read LPCVOID lpBaseAddress, // address to start reading LPVOID lpBuffer, // address of buffer to place

Trang 1

The ReadProcessMemory function reads memory in a specified process The entire area to be read must be accessible, or the operation fails

BOOL ReadProcessMemory(

HANDLE hProcess, // handle of the process whose memory is read LPCVOID lpBaseAddress, // address to start reading

LPVOID lpBuffer, // address of buffer to place read data

DWORD nSize, // number of bytes to read

LPDWORD lpNumberOfBytesRead // address of number of bytes read );

Kiểm tra địa chỉ cần patch Nếu sai thì nhảy tới bước 4 Thông thường thì chúng ta sẽ cho thoát Và End process…

3 Ghi

The WriteProcessMemory function writes memory in a specified process The entire area to be written to must be accessible, or the operation fails

BOOL WriteProcessMemory(

Trang 2

HANDLE hProcess, // handle to process whose memory is written to LPVOID lpBaseAddress, // address to start writing to

LPVOID lpBuffer, // pointer to buffer to write data to

DWORD nSize, // number of bytes to write

LPDWORD lpNumberOfBytesWritten // actual number of bytes written );

Ghi giá trị cần đổi vào process

4 Load lại

The ResumeThread function decrements a thread's suspend count When the suspend count is decremented to zero, the execution of the thread is resumed

DWORD ResumeThread(

HANDLE hThread // identifies thread to restart

);

5 Thoát

Trang 3

The CloseHandle function closes an open object handle

BOOL CloseHandle(

HANDLE hObject // handle to object to close

);

Thoát

* Những điều trên có nghĩa là gì! Trông rắc rối nhưng thật sự dễ như ăn cháo vậy Nếu các bạn có học pascal sẽ được học kiểu files Chắc bạn cũng còn nhớ chúng ta

sẽ làm gì khi muốn tác động lên một tập tin mà chúng ta điều khiển từ pascal Thì

mở file, đọc file, ghi file và …biến Okie, PIM cũng tương tự như vậy Đầu tiên chúng ta sẽ tạo một process để làm việc (patch một chương trình) Sau đó chúng ta đọc xem cần patch chỗ nào! Sau đó sẽ ghi và thoát! Các bạn xem những dòng phân tích trong các hàm trên cần thiết để code cho đúng…

* Lâu quá không có patch nên hacnho chỉ tạm thời nhớ nhiêu đây thôi! Anh em cao thủ nào thấy thiếu hay sai thì làm ơn chỉ giùm! Okie bây giờ chúng ta thử crack cái crackme của lão Hoàng Cái này yêu cầu serial nhưng nó chỉ có một serial “ Le

Vu Hoang is a handsome boy :) )” Mục tiêu chúng ta là patch nó trên bộ nhớ Để thôi lão Hoàng bảo chúng ta crack tà đạo trên soft của lão ấy :d

II Thực hành

Trang 4

* Patch trên bộ nhớ thực sự hữu dụng khi các bạn không unpack được soft Dù cho

nó có pack lại thì chúng ta cũng chạy phẻ re Nhưng trong tut này, để dễ dàng cho người mới học, hacnho sẽ hướng dẫn các bạn patchmem với soft đã unpacked Các tut sau chúng ta sẽ thực hành trên soft packed

Mở khóa LVH Crackme Phần mềm: LVH crackme

Bảo vệ: Serial

Công cụ : - OllyDBG 1.09d, DZA patcherm, PEiD 0.91

- PeTools,Delphi 3.0 để code loader

Phương pháp crack: patch mem

Mức độ: ()Dễ ()Vừa (x)Hơi khó ()Rất khó

File cần crack: crackme.exe

Cracker: hacnho (hacnho_hva@yahoo.com)

Website: http://www.hvaonline.net

Tải crackme tại đây! http://nhandan.info/crackme.zip

Download loader: http://nhandan.info/hvaloader.zip

1 Unpack

Sau khi tải về, các bạn phải dùng PEiD detect nó Okie packed bằng UPX Chúng

ta dùng chức năng PE Editor của PE Tools (hoặc dùng Procdump cũng okie) để

Trang 5

chỉnh sections của UPX 0 từ E0000080 thành E0000020 Sau đó load lên bằng OllyDBG (Nhớ config Olly bằng cách Alt+O -> đánh dấu chọn Stop at entry of seft-etractor và Use real entry from previous run) Bạn sẽ ở đây:

0060C840 > $ 60 PUSHAD

0060C841 BE 15A06000 MOV ESI,crackme.0060A015

0060C846 8DBE EB6FDFFF LEA EDI,DWORD PTR DS:[ESI+FFDF6FEB] 0060C84C 57 PUSH EDI

0060C84D 83CD FF OR EBP,FFFFFFFF

0060C850 EB 10 JMP SHORT crackme.0060C862

Cuộn màn hình disassembler xuống dưới cho tới khi bạn gặp những dòng sau:

0060C988 > FF96 44C02000 CALL DWORD PTR DS:[ESI+20C044]

0060C98E > 61 POPAD < Đặt breakpoint ở đây!

0060C98F -E9 6C46DFFF JMP crackme.00401000 < - Nhảy tới EP

Nhấn F2 tại 60C98E Nhấn F9 rồi nhấn F8 hai lần bạn sẽ ở đây!

00401000 C605 60744000 01 MOV BYTE PTR DS:[407460],1

00401007 E8 E8160000 CALL crackme.004026F4

0040100C C605 60744000 00 MOV BYTE PTR DS:[407460],0

Ngay tại địa chỉ của chương trình 401000 Bạn mở plugin OllyDump lên Do Olly

đã tìm sẵn cho ta OEP của chương trình bằng cách trừ 401000 cho 400000 nên ta khỏi mắc công trừ Bạn chọn dump debugged

Ngày đăng: 03/07/2014, 17:21

TỪ KHÓA LIÊN QUAN