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

Cracker Handbook 1.0 part 360 potx

7 127 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 7
Dung lượng 214,23 KB

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

Nội dung

Xoá HardWare Breakpoint bằng cách vào menu Debug -> Hardware Breakpoints Nhấn nút Delete 1 để xoá Hardware Breakpoints.. Chúng ta sẽ trace để tìm ra Magic Jump.. Các bạn chú ý những cái

Trang 1

Nhấn F9 Chương trình dừng ở đây

Nhấn F9 lần nữa Chương trình dừng ở 00AC430A

Ở trên một dòng chúng ta thấy giá trị của ECX được đưa vào IAT

Xoá HardWare Breakpoint bằng cách vào menu Debug -> Hardware Breakpoints

Nhấn nút Delete 1 để xoá Hardware Breakpoints Nhấn OK

Chúng ta sẽ trace để tìm ra Magic Jump Trace với F8 Các bạn chú ý những cái

JE, JNZ Các bạn nên ghi ra giấy với những cái JE, JNZ đó nó nhảy hay không nhảy

Trang 2

00AC4059 JE 00AC431E Không nhảy

00AC4080 JNZ SHORT 00AC40C6 Nhảy

00AC40D4 JNZ 00AC4164 Nhảy

00AC408E JE SHORT 00AC4201 Không nhảy

00AC41B7 JE SHORT 00AC4201 Không nhảy

00AC41EC JNZ SHORT 00AC41FF Nhảy

Tại đây chúng ta sẽ rơi vào vòng lặp Đặt Breakpoint tại 00AC4201 và nhấn F9 để thoát khỏi vòng lặp Chúng ta sẽ ở 00AC4201

Tiếp tục trace với F8 và ghi chú tiếp

00AC4208 JNZ SHORT 00AC4249 NHẢY

00AC4250 JNZ 00AC42EE NHẢY

Trace tới 00AC430A thì dừng Bắt đầu từ đây các bạn trace với F8 (không cần ghi giấy) và so sánh các lệnh nhảy với những điều chúng ta ghi ở trên coi có gì thay đổi không Ở đây tôi ghi lại cho dễ theo dõi

00AC4059 JE 00AC431E Không nhảy

00AC4080 JNZ SHORT 00AC40C6 Nhảy

00AC40D4 JNZ 00AC4164 Nhảy

00AC408E JE SHORT 00AC4201 Không nhảy

00AC41B7 JE SHORT 00AC4201 Không nhảy

00AC41EC JNZ SHORT 00AC41FF Nhảy

Cũng đặt breakpoint tại 00AC4201 và nhấn F9 để thoát khỏi vòng lặp Trace tiếp

00AC4208 JNZ SHORT 00AC4249 KHÔNG NHẢY >>>>>> Chú ý : Đây khác với ở trên

Vậy 00AC4208 là Magic Jump Chúng ta sẽ sửa

00AC4208 JNZ SHORT 00AC4249

thành

00AC4208 NOP

V Fix Magic Jump, Dump và Fix IAT :

Trang 3

Nhấn Ctrl-F2 để khởi động lại crackme.exe Trong DUMP Window nhấn Ctrl-G Nhập vào địa chỉ bắt đầu RVA : 0045E118, đánh dấu 4 bytes và đặt Hardware Breakpoint như trong hình

Nhấn F9 Chương trình dừng ở đây

F9 lần nữa dừng ở đây

Tới đây chúng ta sẽ sửa Magic Jump Nhấn Ctrl-G Nhập vào địa chỉ Magic Jump

Nhấn OK Sửa 00AC4208 thành NOP NOP Chú ý 2 bytes tô đỏ

Nhấn F9 và chương trình crash ? ;)

Trang 4

Chúng ta mong đợi chương trình chạy bình thường với IAT còn nguyên vẹn Nhưng chương trình lại bị crash Vậy làm sao dump và fix IAT ? Nói như bài hát của nhạc sĩ Tuấn Khanh là : Chuyện nhỏ ?

Các bạn chú ý mặc dù chương trình bị crash nhưng IAT của chúng ta vẫn còn nguyên vẹn

Các bạn mở một OllyDbg khác lên (gọi là Olly2 và cái chúng ta mở trước là Olly1)

và trong Olly2 mở file crackme.exe Đặt breakpoint memory on access tại section CODE để tới OEP (nếu không hiểu thì xem lại ở trên) Nhấn F9 Trong Olly2 chúng ta sẽ ở tại OEP là 0045A15C Bây giờ chúng ta sẽ copy nguyên phần IAT trong Olly1 đem sang Olly2

Trong Olly1 đánh dấu nguyên khối từ điểm bắt đầu RVA cho đến điểm kết thúc RVA (từ 0045E118 đến 0045E72C)

Nhấn phải chuột chọn Binary -> Binary copy

Trang 5

Trong Olly2 cũng đánh dấu nguyên khối từ 0045E118 đến 0045E72C Nhấn phải chuột chọn Binary -> Binary Paste

Trang 6

Đóng Olly1 lại Dùng LordPE dump file crackme.exe thành dump.exe

Mở Imprec lên Chọn crackme.exe Điền vào các thông số như hình sau :

Nhấn nút Get Imports Vẫn còn vài Invalid Thunks Nhấn nút Show Invalid Nhấn phải chuột chọn Cut Thunks

Trang 7

Bây giờ IAT chúng ta đã đầy đủ Nhấn nút Fix Dump chọn file dump.exe File dump_.exe sẽ được tạo ra Chạy thử file dump_.exe  Good!

Dùng PEID xem lại

Bonus) Enable Button Check :

Ngày đăng: 03/07/2014, 18:20

TỪ KHÓA LIÊN QUAN