Cracker Handbook 1.0 part 140 doc

5 117 1
Cracker Handbook 1.0 part 140 doc

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

Thông tin tài liệu

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( 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 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 *. 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) để 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 . 01 MOV BYTE PTR DS:[ 407 4 60] ,1 00 4 01 0 07 E8 E 816 00 00 CALL crackme .00 402 6F4 00 4 01 0 0C C 605 607 4 400 0 00 MOV BYTE PTR DS:[ 407 4 60] ,0 Ngay tại địa chỉ của chương trình 4 01 0 00 . Bạn mở plugin OllyDump. sẽ ở đây: 00 60C8 40 > $ 60 PUSHAD 00 60C8 41 . BE 15 A0 600 0 MOV ESI,crackme .00 60A 01 5 00 60C846 . 8DBE EB6FDFFF LEA EDI,DWORD PTR DS:[ESI+FFDF6FEB] 00 60C84C . 57 PUSH EDI 00 60C84D . 83CD. > 61 POPAD < Đặt breakpoint ở đây! 00 60C98F E9 6C46DFFF JMP crackme .00 4 01 0 00 < 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! 00 4 01 0 00 C 605 607 4 400 0 01

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

Tài liệu cùng người dùng

Tài liệu liên quan