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

Cracker Handbook 1.0 part 169 potx

6 80 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 6
Dung lượng 138,19 KB

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

Nội dung

MỘT CÁCH KILL NAG DÙNG HÀM MESSAGEBOXA: Đáng lý ra tui viết tut này sau tutorial 5, nhưng vì bạn Mailhn hỏi nên sẳn đây tui viết tut 2C này nói về 1 cách patch chương trình để “giết” mộ

Trang 1

Bước 4: Bật cửa sổ Log (Button trên thanh menu là “L”) Click nút phải cột

message của cửa sổ Log window==>chọn Copy to clipboard/Whole Table

Bước 5: Bật 1 chương trình sọan thảo nào đó Tui dùng Exel vì sau này tui dùng

lệnh Exel để so sánh 2 file log (hi hi) Sau đó dùng Ctrl-V để paste dữ liệu vào Exel

Bước 6: Làm tương tự để có file log thứ 2 theo tình huống đổi ngày hệ thống lại

(thành 1996)

Tui sẽ post 2 file Log của tui làm như sau:

Quote:

FILE 1:

……….các log vớ vẫn bỏ qua -

0040D22B Breakpoint at museArc.0040D22B

y = 0040D22B

y = 0040D231

y = 0040D235

y = 0040D237

y = 0040D23C

y = 0040D241

y = 0040D244

y = 0040D247

y = 0040D24A

y = 0040D24F

y = 0040D251

y = 0040D253

74720000 Module D:\WINDOWS\System32\MSCTF.dll

10000000 Module D:\WINDOWS\Temp\UKHook35.dll

Quote:

FILE 2:

……….Các log vớ vẫn………

0040D22B Breakpoint at museArc.0040D22B

y = 0040D22B

y = 0040D231

y = 0040D235

y = 0040D237

y = 0040D23C

Trang 2

y = 0040D241

y = 0040D244

y = 0040D247

y = 0040D24A

y = 0040D24F

y = 0040D258

y = 0040D259

y = 0040D25C

y = 0040B10F

y = 0040B112

y = 0040B11C

y = 0040B122

y = 0040B125

y = 0040B126

y = 0040B128

y = 0040B12D

y = 0040B12E

y = 0040B134

y = 0040B137

… vân vân………

Bước 7: so sánh 2 file (dùng exel so sánh)tìm được

Tại y = 0040D24F

Bắt đầu phân chia 2 luồng

Vay la ta da tim ra tu huyet

Chúc các bạn vui vẽ :laugh:

Benina 20/10/2004

TUTORIAL 2C: THE COMPLETE CRACKING GUIDE FOR NEWBIEZ MỘT CÁCH KILL NAG DÙNG HÀM MESSAGEBOXA:

Đáng lý ra tui viết tut này sau tutorial 5, nhưng vì bạn Mailhn hỏi nên sẳn đây tui viết tut 2C này nói về 1 cách patch chương trình để “giết” một cái NAG (một cửa

sổ nhỏ ) mà các tác giả viết chương trình muốn hiện ra để nhắc nhở chúng ta điều

gì (Chẳng hạn như: Bạn đã nhập password sai rồi!) Những lời giới thiệu này cũng chính là định nghĩa cái gọi là NAG mà các Cracker hay dùng

Các tác giả chương trình muốn làm 1 cái NAG , họ dùng các hàm API sau (thường thường là các hàm này): DialogBoxParamA, MessageBoxA…

Trang 3

Ở đây tui sẽ lấy chương trình sau làm ví dụ :

http://www.wanadoo.fr/bin/frame2.cgi %3FREF%3D12116

Đây là chương trình “Sweet Little Piano ver 1.0” Nó làm bàn phím của chúng ta thành những phím đàn Piano

Bắt đầu nhe:

Như các bạn biết trong tut 1A trong lọat tut “The Complete Cracking Guide For Newbiez” tui đã chỉ các bạn cách patch để nhảy qua hàm kiểm tra password Cái quan trọng đó chúng ta đã patch xong Nếu chúng ta thay đổI thờI gian cho trôi qua

1 năm (2005) thì chương trình vẫn sử dụng được full Nhưng rất khó chịu khi các cái NAG cứ bắn ra liên tục như súng AK vào mặt chúng ta Bực ko thể tả Đến nổI bạn Mailhn phảI post bài hỏI phảI làm sao bây giờI trờI! Chúng ta sẽ làm được thôi mà!

Cách tốt nhất là tìm serial đúng , nhưng vì tut này cho Newbie nên chúng ta học patch (vá) mấy cái nag đó mà thôi

Ở đây tui nói ngòai lề 1 chút: Các bạn sau khi patch cho NOP hai dòng lệnh sau: Code:

:00401E5E 85C0 test eax, eax

:00401E60 741E je 00401E80

Tất cả NOP 4 byte trong HIEW chứ ko phảI 3 byte như tui đã post (sorry vì post tầm bậy!) Nếu bạn bấm các phím trên bàn phím mà ko nghe được tiếng đàn piano, thì các bạn vào menu của chương trình và chọn : Devices/Active thì chương trình

sẽ họat động thôi Đừng la ầm lên là đàn ko được nhé ;))

Nào bắt đầu:

1.Thông tin thu thập từ chương trình:

Sau khi đã patch xong hàm test password bằng HVIEW và thay đổI năm thành

2005, ta chạy chương trình thử xem ra sau

Đầu tiên tui thấy 1 cái nag xuất hiện:

Quote:

NAG 1: “Note! You must supply your user ID when ordering User ID :

500181BF”

Sau đó click vào nút OK, sẽ bắn file văn bản Order ra , rồI đến 1 cái nag nữa

Trang 4

Quote:

NAG 2: “Sorry!Evaluation time over! Converting lite version! Read the online help for how to order a full version!”

Bấm vào nút OK của NAG 2 ; sẽ xuất hiện hộp nhập password, nhập pass vào và bấm OK, sẽ xuất hiện NAG 3:

Quote:

NAG 3: “Thanks for registering!”

Bấm OK tiếp thì vào chương trình sử dụng bình thường

OK đã xong phần thu thấp thông tin

2.Một số qui tắc khi patch NAG:

Ở đây tui xin nêu 1 nguyên tắt patch NAG hay patch cái gì đó:

-Nguyên tắc căn bản là khi patch ta không làm cho chương trình lớn hơn hay nhỏ hơn: Tức là chương trình sử dụng lệnh nào đó bao nhiêu byte thì khi ta NOP , phảI NOP bấy nhiêu byte đó

-Khi NOP 1 hàm API nào đó ta phảI hiểu hàm đó như thế nào.Dùng win32.hlp để tra hàm đó: Ở đây tui tra giùm bạn hàm MessageBoxA nhé:

Quote:

int MessageBox(

HWND hWnd, // handle of owner window

LPCTSTR lpText, // address of text in message box

LPCTSTR lpCaption, // address of title of message box

UINT uType // style of message box

);

Hàm này có chức năng: Cài đặt, hiển thị , và họat động trong 1 hộp thọai Giá trị trở về của hàm bằng 0 khi ko có đủ bộ nhớ để cài đặt hộp thọai

Viết lạI hàm cho bạn dễ hình dung như trong các ngôn ngữ cấp cao Pascal, C… như sau:

MessageBoxA (handle, messagestring, titlestring, msgboxtype);

Chúng ta thấy hàm này có 4 tham số Như bạn biết đấy , trong ngôn ngữ lập trình cấp cao muốn hàm tính tóan phảI truyền tham số cho nó , ở đây phảI truyền 4 tham

số Trong ngôn ngữ ASM , để truyền tham số cho hàm ngườI ta sẽ truyền tham số

Trang 5

vào trong STACK bằng cách dùng lệnh PUSH, rồI khi họat động hàm này sẽ vào STACK lấy tham số ra mà dùng.Có bao nhiêu tham số thì sẽ có bao nhiêu lệnh PUSH trước hàm

OK, vậy là chúng ta đã hiểu hàm MessageBoxA rồi

Nguyên lý cơ bản để giết NAG trong tut này là chúng ta NOP hàm MessageBoxA

để ko cho nó họat động Khi NOP hàm này chúng ta cũng phảI NOP các lệnh PUSH nhập tham số của hàm vào STACK Vì ko NOP các lệnh PUSH này thì STACK sẽ là thùng rác mà Computer của bạn ko thể kiểm sóat được

OK, bây giờ thực hành thôi

3.Tiến hành Patch Nag:

Ở đây tui chỉ hướng dẫn bạn patch NAG 1 thôi, còn các NAG khác bạn làm tương

tự nhé

để tìm đọan mã gọI NAG-Dùng SI đặt breakpoint : bpx MessageBoxA , - bắn ra bằng hàm MessageBoxA trong chương trình Bạn có thể dùng W32DASM để đặt breakpoint cũng được (Tham khảo topic “Đặt breakpoint trong W32DASM dùng cho phương pháp Stack”)

OK, sau khi đặt bp ta tìm được hàm call NAG tạI địa chỉ sau:

Code:

:00402D79 6A30 push 00000030 - >Tham số đầu tiên cho hàm

* Possible StringData Ref from Data Obj ->"Sweet Little Piano"

|

:00402D7B 68FCE14000 push 0040E1FC >tham số thứ 2

:00402D80 8D8DE8FEFFFF lea ecx, dword ptr [ebp+FFFFFEE8]

:00402D86 51 push ecx -> tham số thứ 3

:00402D87 53 push ebx ->tham số thứ 4

* Reference To: USER32.MessageBoxA, Ord:0000h

|

:00402D88 E8F9AB0000 Call 0040D986 - > hàm gọI NAG 1 -Sau khi ta biết địa chỉ của đọan mã gọI NAG , bạn hảy ghi nhớ địa chỉ truyền tham số đầu tiên là (00402D79)

Trang 6

-Bây giờ ta NOP hàm này thôi Vào HVIEW , goto đến vị trí (00402D79)

Dùng phím F3, Edit các byte sau: (Tui coi như bạn đã biết sử dụng HVIEW) Code:

_.00402D79: 6A30 push 030 - >NOP 2 byte : Thay 6A30 thành 9090

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

TỪ KHÓA LIÊN QUAN