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

Cracker Handbook 1.0 part 390 ppsx

5 78 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 259,32 KB

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

Nội dung

--> trong quá trình bảo vệ, protector đã "cut" các byte này từ file gốc, rồi đổi tên nó thành "locked" ,sau đó tạo 1 loader để quản lý phần đăng kí và inject lại các byte đó vào khi file

Trang 1

LPCTSTR lpCurrentDirectory, // pointer to current directory name

LPSTARTUPINFO lpStartupInfo, // pointer to STARTUPINFO

LPPROCESS_INFORMATION lpProcessInformation // pointer to

PROCESS_INFORMATION

);

Tui nghĩ ko cần phải giải thích gì thêm nhé

13 Nhấn "run" lần nữa và lần nữa, tất cả đều break ở WriteProcessMemory

Backtracing (chắc là trace wa nhiều lần RETN để về đoạn code chính), chúng ta

thấy 1 lệnh nhảy :

Code:

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

);

Xem thêm 1 vài hình nữa:

Vậy là có cái nhìn tốt hơn rồi : WriteProcessMemory chỉ write vào 1 byte ở mỗi

Trang 2

lần, ở địa chỉ bắt đầu là 429136

Vùng buffer lần lượt chứa 3 địa chỉ, ở mỗi lần sẽ ghi đè byte từ process này qua process kia Bạn có thể dòm vào cửa sổ Dump để xem các byte nào được write nếu muốn

14 Xóa BP ở WriteProcessMemory đi (Tui cũng đã đặt thêm vài BP, ví dụ như OpenProcess nhưng break ở đó ko có thêm thông tin gì nên tui xóa hết òi)

Bấm F9 và break ở ResumeThread

Code:

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

);

Chắc ko cần giải thích thêm > nhấn F9 và game chạy

15 Suy nghĩ tí nào Điều này có thể hiểu là : loader "Sample Game.exe" sẽ chạy

"Sample Game.exe.locked" và suspend thread Bắt đầu patch vào ở 429136 cho đến khi hoàn thành thì resume thread và game run ngon lành

16 Ai đó có thể nghiên cứu thêm, nhưng giờ chúng ta hãy thử trong Olly Load Sample Game.exe.locked và chọn > Go To > 429136

Chaaa ! tất cả đầu là byte 0, từ 429136 cho đến 429534 Ọc ọc, nhiều byte quá đi mất ! Nếu không có mấy byte ở đây, game sẽ crash > trong quá trình bảo vệ, protector đã "cut" các byte này từ file gốc, rồi đổi tên nó thành "locked" ,sau đó tạo

1 loader để quản lý phần đăng kí và inject lại các byte đó vào khi file được bảo vệ cho phép

17 Giờ hãy chạy game (ở ngoài Olly) rồi attach vào Olly file Sample

Game.exe.locked Goto tới 429136 > tất cả byte đã được nạp vào và code trông tốt hơn rồi đấy

18 Tô đen tất cả các byte từ 429136 đến 429535 > chọn binary copy Sau đó tắt

Trang 3

hết đi

19 Đổi tên ".locked" thành tên file gốc exe rồi load nó vào Olly > Go to tới

429136 > Binary paste các byte đã copy vào Save lại file đó

20 Xóa file loader đi Chạy game Tất cả đầu tốt Another one bites the dust ;)

Phụ chú:

Sau khi viết bài này, tui thử protect vài file nữa, và tốt rồi, tui đã protect được

winasm studio executable > thành công ! Tui cũng thử protect RadAsm.exe của

tui > ngon lành !!! Vậy là tui đã ko may mắn với các file kia? lol Tuy nhiên, Tui vẫn chưa hiểu cái option stolen bytes để làm gì nữa Chọn hay ko chọn cũng như nhau àh

Nếu bạn muốn thử cái protector này thì hãy lưu ý là nó sẽ ghi đè lên file gốc khi tạo loader nếu option backup ko được check

Xem lại hình đầu tiên để biết site của protector này

<< END OF TRANSLATION >>

Big thanks to Lena151

Best regard

Trickyboy(reaonline.net)

Bảo vệ resource của exe,dll file

I)Giới thiệu:

Thông thường resource của một file exe hay dll nằm trong section rsrc hoặc rsrc Những resource này có thể được chỉnh sửa bởi 1 số chương trình như: ResHacker, ExeScope và TGT soft cũng có 1 chương trình chỉnh sửa resource(tui chưa thử), nghe nói có thể chỉnh sửa resource ngay cả khi chương trình đã được protect Ngoài ra reverser hay cracker cũng có thể chỉnh sửa resource chỉ bằng 1 chương trình hex edtior

Mục đích của bài này là nói về cách thức để chống lại các chương trình như

ResHacker, ExeScope

Trang 4

Tiếp theo đó là chống lại việc chỉnh sửa resource bằng hexeditor Phương pháp mà tui đề cập đến hiện đang được một số protector, compressor sử dụng như asprotect, upx

Ở bài này tôi chỉ đề cập đến phương diện lý thuyết, nếu có thơi gian rảnh, tôi sẽ áp dụng vào lập trình để minh họa

Yêu cầu là bạn đã nắm 1 số kiến thức về PE file, đặc biệt là phần cấu trúc của resource

II)Cấu trúc của resource section:

IMAGE RESOURCE DIRECTORY

Type

IMAGE RESOURCE DIRECTORY

NameID

IMAGE RESOURCE DIRECTORY

Language

IMAGE RESOURCE DATA ENTRY

IMAGE RESOURCE DIRECTORY

STRING

Dữ liệu thực sự của các resource

1)IMAGE RESOURCE DIRECTORY Type:

xác định xem có bao nhiêu lọai resource trong file, ta có thể biết resource gồm những loại nào dựa vào ID của nó

Xem hình bên dưới:

Trang 5

Bạn có thể thấy tương ứng với Number ofID Entries là 8 sẽ có 8 loại resource ở đây

Ví dụ, với ID =3 có nghĩa đây là Icon resource, ID=4 là Menu resource

2)IMAGE RESOURCE DIRECTORY NameID

Phần này sẽ xác định số lượng mỗi loại resource , ví dụ tương ứng với resource Icon thì chương trình có thể có 1 hay nhiều icon

3) IMAGE RESOURCE DIRECTORY Language:

Phần này sẽ xác định thông tin của từng resouce cụ thể

Ví dụ thông tin của ICON 1, ICON 2, ICON 3 rồi đến MENU 1, MENU 2 cho đến hết

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

TỪ KHÓA LIÊN QUAN